| ; RUN: opt -expand-constant-exprs %s.bc -S | FileCheck %s |
| @foo = external constant i32 |
| define i32 @test(i32 %arg) { |
| switch i32 %arg, label %cont [ |
| %cmp = icmp ne i32 %arg, 2 |
| br i1 %cmp, label %cont, label %cont |
| ; CHECK-LABEL: phi.constexpr: |
| ; CHECK-NEXT: %constexpr = ptrtoint ptr @foo to i32 |
| ; CHECK-NEXT: %constexpr1 = or i32 %constexpr, 5 |
| ; CHECK-NEXT: br label %cont |
| ; CHECK-NEXT: %res = phi i32 [ %constexpr1, %phi.constexpr ], [ 1, %nonconst ], [ 1, %nonconst ] |
| ; CHECK-NEXT: ret i32 %res |
| %res = phi i32 [or (i32 5, i32 ptrtoint (ptr @foo to i32)), %entry], |
| [or (i32 5, i32 ptrtoint (ptr @foo to i32)), %entry], |