Jingyue Wu | 12b0c28 | 2015-06-15 05:46:29 +0000 | [diff] [blame] | 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) |