[DAGCombiner] Add target hook function to decide folding (mul (add x, c1), c2)
[llvm-project.git] / llvm / test / Transforms / Reassociate / secondary.ll
bloba52000ada53780ed2b0eda1cecd4dd5aff7afec1
1 ; RUN: opt -S -reassociate < %s | FileCheck %s
2 ; rdar://9167457
4 ; Reassociate shouldn't break this testcase involving a secondary
5 ; reassociation.
7 ; CHECK:     define
8 ; CHECK-NOT: undef
9 ; CHECK:     %factor = mul i32 %tmp3, -2
10 ; CHECK-NOT: undef
11 ; CHECK:     }
13 define void @x0f2f640ab6718391b59ce96d9fdeda54(i32 %arg, i32 %arg1, i32 %arg2, i32* %.out) nounwind {
15   %tmp = sub i32 %arg, %arg1
16   %tmp3 = mul i32 %tmp, -1268345047
17   %tmp4 = add i32 %tmp3, 2014710503
18   %tmp5 = add i32 %tmp3, -1048397418
19   %tmp6 = sub i32 %tmp4, %tmp5
20   %tmp7 = sub i32 -2014710503, %tmp3
21   %tmp8 = add i32 %tmp6, %tmp7
22   store i32 %tmp8, i32* %.out
23   ret void