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