brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.8 KiB · 0e381b8 Raw
110 lines · plain
1; RUN: opt %loadNPMPolly '-passes=polly<no-default-opts>' -polly-invariant-load-hoisting=true -disable-output < %s2;3; Check that this does not crash as the invariant load is not executed (thus4; not preloaded) but still referenced by one of the parameters.5;6target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"7 8%struct.Exp.204.248.358 = type { ptr, i32, i32, i32, ptr, ptr, %union.anon.2.201.245.355, %union.anon.3.202.246.356, %union.anon.4.203.247.357 }9%struct.Exp_.200.244.354 = type { i32, i32, i32, i32, ptr }10%struct.Id.199.243.353 = type { ptr, i32, i32, i32, %union.anon.1.198.242.352 }11%union.anon.1.198.242.352 = type { [2 x i64] }12%union.anon.2.201.245.355 = type { ptr }13%union.anon.3.202.246.356 = type { i32 }14%union.anon.4.203.247.357 = type { ptr }15%struct.Classfile.218.262.372 = type { ptr, ptr, i32, i32, i32, %struct.ClassVersion.207.251.361, %struct.ConstPool.210.254.364, %struct.AccessFlags.211.255.365, i16, ptr, ptr, i16, ptr, i16, ptr, i16, ptr, i16, ptr, ptr, i16, ptr, ptr }16%struct._IO_FILE.206.250.360 = type { i32, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, i32, i32, i64, i16, i8, [1 x i8], ptr, i64, ptr, ptr, ptr, ptr, i64, i32, [20 x i8] }17%struct._IO_marker.205.249.359 = type { ptr, ptr, i32 }18%struct.ClassVersion.207.251.361 = type { i16, i16 }19%struct.ConstPool.210.254.364 = type { i16, ptr }20%struct.cp_info.209.253.363 = type { i8, %union.anon.208.252.362 }21%union.anon.208.252.362 = type { i64 }22%struct.AccessFlags.211.255.365 = type { i16 }23%struct.field_info.212.256.366 = type <{ %struct.AccessFlags.211.255.365, [6 x i8], ptr, ptr, i32, i16, [2 x i8] }>24%struct.method_info.217.261.371 = type { %struct.AccessFlags.211.255.365, ptr, ptr, i8, i8, i32, ptr, i16, ptr, i16, ptr, i16, ptr, ptr, ptr, ptr, ptr, ptr, i32, i32, ptr }25%struct.Block.214.258.368 = type { i32, i16, i16, %union.anon.0.213.257.367, i16, ptr }26%union.anon.0.213.257.367 = type { i32 }27%struct.LineNumberTableEntry.215.259.369 = type { i16, i16 }28%struct.LocalVariableTableEntry.216.260.370 = type { i16, i16, i16, i16, i16 }29%struct.Case.219.263.373 = type { i64, i64 }30 31@currpc = external global i32, align 432@bufflength = external global i32, align 433@inbuff = external global ptr, align 834@stkptr = external global ptr, align 835@donestkptr = external global ptr, align 836 37; Function Attrs: uwtable38define i32 @_Z13dotableswitchP9Classfile(ptr %c) personality ptr @__gxx_personality_v0 {39entry:40  br label %entry.split41 42entry.split:                                      ; preds = %entry43  %sub = add i32 0, -144  %tobool.5 = icmp eq i32 0, 045  br i1 %tobool.5, label %while.end, label %while.body.lr.ph46 47while.body.lr.ph:                                 ; preds = %entry.split48  br label %while.body49 50while.body:                                       ; preds = %while.body, %while.body.lr.ph51  %0 = load i32, ptr @currpc, align 452  %rem = and i32 %0, 353  %tobool = icmp eq i32 %rem, 054  br i1 %tobool, label %while.cond.while.end_crit_edge, label %while.body55 56while.cond.while.end_crit_edge:                   ; preds = %while.body57  br label %while.end58 59while.end:                                        ; preds = %while.cond.while.end_crit_edge, %entry.split60  invoke void @_ZN3ExpC2Ejj7Exptype4Type2OpPS_jjP4Case(ptr nonnull undef, i32 %sub, i32 undef, i32 9, i32 0, i32 39, ptr undef, i32 undef, i32 undef, ptr nonnull undef)61          to label %invoke.cont unwind label %lpad62 63invoke.cont:                                      ; preds = %while.end64  br i1 undef, label %for.end, label %for.body.lr.ph65 66for.body.lr.ph:                                   ; preds = %invoke.cont67  br label %for.body68 69for.body:                                         ; preds = %for.body, %for.body.lr.ph70  br i1 undef, label %for.cond.for.end_crit_edge, label %for.body71 72lpad:                                             ; preds = %while.end73  %1 = landingpad { ptr, i32 }74          cleanup75  resume { ptr, i32 } undef76 77for.cond.for.end_crit_edge:                       ; preds = %for.body78  br label %for.end79 80for.end:                                          ; preds = %for.cond.for.end_crit_edge, %invoke.cont81  ret i32 082}83 84; Function Attrs: nounwind readnone85declare { i64, i1 } @llvm.umul.with.overflow.i64(i64, i64)86 87; Function Attrs: nobuiltin88declare noalias ptr @_Znam(i64)89 90; Function Attrs: nobuiltin91declare noalias ptr @_Znwm(i64)92 93; Function Attrs: uwtable94declare void @_ZN3ExpC2Ejj7Exptype4Type2OpPS_jjP4Case(ptr, i32, i32, i32, i32, i32, ptr, i32, i32, ptr) unnamed_addr align 295 96declare i32 @__gxx_personality_v0(...)97 98; Function Attrs: nobuiltin nounwind99declare void @_ZdlPv(ptr)100 101; Function Attrs: uwtable102declare i32 @_Z10doluswitchP9Classfile(ptr)103 104; Function Attrs: nounwind uwtable105declare void @_ZN4Exp_C2E7Exptype4Type2Op(ptr, i32, i32, i32) unnamed_addr align 2106 107!llvm.ident = !{!0}108 109!0 = !{!"clang version 3.8.0"}110