brintos

brintos / llvm-project-archived public Read only

0
0
Text · 540 B · 50e22ba Raw
29 lines · plain
1; XFAIL: *2; RUN: opt -passes=newgvn -S %s | FileCheck %s3 4%MyStruct = type { i32, i32 }5define i8 @foo(i64 %in, ptr %arr, i1 %arg) {6  %addr = alloca %MyStruct7  %dead = trunc i64 %in to i328  br i1 %arg, label %next, label %tmp9 10tmp:11  call void @bar()12  br label %next13 14next:15  store i64 %in, ptr %addr16  br label %final17 18final:19  %idx32 = load i32, ptr %addr20 21; CHECK: %resptr = getelementptr i8, ptr %arr, i32 %dead22  %resptr = getelementptr i8, ptr %arr, i32 %idx3223  %res = load i8, ptr %resptr24 25  ret i8 %res26}27 28declare void @bar()29