Merging r259346 (with adjustments for r258867):
[oota-llvm.git] / test / Analysis / ValueTracking / assume.ll
1 ; RUN: opt < %s -instcombine -S | FileCheck %s
2
3 define i32 @assume_add(i32 %a, i32 %b) {
4 ; CHECK-LABEL: @assume_add(
5   %1 = add i32 %a, %b
6   %last_two_digits = and i32 %1, 3
7   %2 = icmp eq i32 %last_two_digits, 0
8   call void @llvm.assume(i1 %2)
9   %3 = add i32 %1, 3
10 ; CHECK: %3 = or i32 %1, 3
11   ret i32 %3
12 }
13
14 declare void @llvm.assume(i1)