brintos

brintos / llvm-project-archived public Read only

0
0
Text · 918 B · 3a9d16e Raw
31 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 62; RUN: opt -S -passes=gvn-sink < %s | FileCheck %s3 4define i64 @test(i1 %c, ptr %p, ptr %p2) {5; CHECK-LABEL: define i64 @test(6; CHECK-SAME: i1 [[C:%.*]], ptr [[P:%.*]], ptr [[P2:%.*]]) {7; CHECK-NEXT:    br i1 [[C]], label %[[IF:.*]], label %[[ELSE:.*]]8; CHECK:       [[IF]]:9; CHECK-NEXT:    br label %[[JOIN:.*]]10; CHECK:       [[ELSE]]:11; CHECK-NEXT:    br label %[[JOIN]]12; CHECK:       [[JOIN]]:13; CHECK-NEXT:    [[P2_SINK:%.*]] = phi ptr [ [[P2]], %[[ELSE]] ], [ [[P]], %[[IF]] ]14; CHECK-NEXT:    [[PHI:%.*]] = ptrtoaddr ptr [[P2_SINK]] to i6415; CHECK-NEXT:    ret i64 [[PHI]]16;17  br i1 %c, label %if, label %else18 19if:20  %p.addr = ptrtoaddr ptr %p to i6421  br label %join22 23else:24  %p2.addr = ptrtoaddr ptr %p2 to i6425  br label %join26 27join:28  %phi = phi i64 [ %p.addr, %if ], [ %p2.addr, %else ]29  ret i64 %phi30}31