pr21891.ll 485 B

123456789101112131415161718
  1. ; RUN: opt %s -instcombine
  2. define i32 @f(i32 %theNumber) {
  3. entry:
  4. %cmp = icmp sgt i32 %theNumber, -1
  5. call void @llvm.assume(i1 %cmp)
  6. br i1 true, label %if.then, label %if.end
  7. if.then: ; preds = %entry
  8. %shl = shl nuw i32 %theNumber, 1
  9. br label %if.end
  10. if.end: ; preds = %if.then, %entry
  11. %phi = phi i32 [ %shl, %if.then ], [ undef, %entry ]
  12. ret i32 %phi
  13. }
  14. declare void @llvm.assume(i1)