brintos

brintos / llvm-project-archived public Read only

0
0
Text · 843 B · dee9490 Raw
31 lines · plain
1; RUN: opt -expand-constant-exprs %s.bc -S | FileCheck %s2@foo = external constant i323 4define i32 @test(i32 %arg) {5entry:6  switch i32 %arg, label %cont [7    i32 1, label %cont8    i32 2, label %nonconst9  ]10 11nonconst:12  %cmp = icmp ne i32 %arg, 213  br i1 %cmp, label %cont, label %cont14 15; CHECK-LABEL: phi.constexpr:16; CHECK-NEXT:    %constexpr = ptrtoint ptr @foo to i3217; CHECK-NEXT:    %constexpr1 = or i32 %constexpr, 518; CHECK-NEXT:    br label %cont19 20 21; CHECK-LABEL: cont:22; CHECK-NEXT:    %res = phi i32 [ %constexpr1, %phi.constexpr ], [ 1, %nonconst ], [ 1, %nonconst ]23; CHECK-NEXT:    ret i32 %res24cont:25  %res = phi i32 [or (i32 5, i32 ptrtoint (ptr @foo to i32)), %entry],26                 [or (i32 5, i32 ptrtoint (ptr @foo to i32)), %entry],27                 [1, %nonconst],28                 [1, %nonconst]29  ret i32 %res30}31