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