assume.ll 339 B

1234567891011121314
  1. ; RUN: opt < %s -instcombine -S | FileCheck %s
  2. define i32 @assume_add(i32 %a, i32 %b) {
  3. ; CHECK-LABEL: @assume_add(
  4. %1 = add i32 %a, %b
  5. %last_two_digits = and i32 %1, 3
  6. %2 = icmp eq i32 %last_two_digits, 0
  7. call void @llvm.assume(i1 %2)
  8. %3 = add i32 %1, 3
  9. ; CHECK: %3 = or i32 %1, 3
  10. ret i32 %3
  11. }
  12. declare void @llvm.assume(i1)