2
0

pr23809.ll 531 B

12345678910111213141516171819202122
  1. ; RUN: opt < %s -instcombine -S | FileCheck %s
  2. ; InstCombine should preserve the call to @llvm.assume.
  3. define i32 @icmp(i32 %a, i32 %b) {
  4. ; CHECK-LABEL: @icmp(
  5. %sum = add i32 %a, %b
  6. %1 = icmp sge i32 %sum, 0
  7. call void @llvm.assume(i1 %1)
  8. ; CHECK: call void @llvm.assume
  9. ret i32 %sum
  10. }
  11. define float @fcmp(float %a, float %b) {
  12. ; CHECK-LABEL: @fcmp(
  13. %sum = fadd float %a, %b
  14. %1 = fcmp oge float %sum, 0.0
  15. call void @llvm.assume(i1 %1)
  16. ; CHECK: call void @llvm.assume
  17. ret float %sum
  18. }
  19. declare void @llvm.assume(i1)