[DAGCombiner] Add target hook function to decide folding (mul (add x, c1), c2)
[llvm-project.git] / llvm / test / Transforms / Reassociate / 2012-05-08-UndefLeak.ll
blobc563fe26c1347963f8eae21b665426293a537904
1 ; RUN: opt < %s -reassociate -S | FileCheck %s
2 ; PR12169
3 ; PR12764
4 ; XFAIL: *
5 ; Transform disabled until PR13021 is fixed.
7 define i64 @f(i64 %x0) {
8 ; CHECK-LABEL: @f(
9 ; CHECK-NEXT: mul i64 %x0, 208
10 ; CHECK-NEXT: add i64 %{{.*}}, 1617
11 ; CHECK-NEXT: ret i64
12   %t0 = add i64 %x0, 1
13   %t1 = add i64 %x0, 2
14   %t2 = add i64 %x0, 3
15   %t3 = add i64 %x0, 4
16   %t4 = add i64 %x0, 5
17   %t5 = add i64 %x0, 6
18   %t6 = add i64 %x0, 7
19   %t7 = add i64 %x0, 8
20   %t8 = add i64 %x0, 9
21   %t9 = add i64 %x0, 10
22   %t10 = add i64 %x0, 11
23   %t11 = add i64 %x0, 12
24   %t12 = add i64 %x0, 13
25   %t13 = add i64 %x0, 14
26   %t14 = add i64 %x0, 15
27   %t15 = add i64 %x0, 16
28   %t16 = add i64 %x0, 17
29   %t17 = add i64 %x0, 18
30   %t18 = add i64 %t17, %t0
31   %t19 = add i64 %t18, %t1
32   %t20 = add i64 %t19, %t2
33   %t21 = add i64 %t20, %t3
34   %t22 = add i64 %t21, %t4
35   %t23 = add i64 %t22, %t5
36   %t24 = add i64 %t23, %t6
37   %t25 = add i64 %t24, %t7
38   %t26 = add i64 %t25, %t8
39   %t27 = add i64 %t26, %t9
40   %t28 = add i64 %t27, %t10
41   %t29 = add i64 %t28, %t11
42   %t30 = add i64 %t29, %t12
43   %t31 = add i64 %t30, %t13
44   %t32 = add i64 %t31, %t14
45   %t33 = add i64 %t32, %t15
46   %t34 = add i64 %t33, %t16
47   %t35 = add i64 %t34, %x0
48   %t36 = add i64 %t0, %t1
49   %t37 = add i64 %t36, %t2
50   %t38 = add i64 %t37, %t3
51   %t39 = add i64 %t38, %t4
52   %t40 = add i64 %t39, %t5
53   %t41 = add i64 %t40, %t6
54   %t42 = add i64 %t41, %t7
55   %t43 = add i64 %t42, %t8
56   %t44 = add i64 %t43, %t9
57   %t45 = add i64 %t44, %t10
58   %t46 = add i64 %t45, %t11
59   %t47 = add i64 %t46, %t12
60   %t48 = add i64 %t47, %t13
61   %t49 = add i64 %t48, %t14
62   %t50 = add i64 %t49, %t15
63   %t51 = add i64 %t50, %t16
64   %t52 = add i64 %t51, %t17
65   %t53 = add i64 %t52, %t18
66   %t54 = add i64 %t53, %t19
67   %t55 = add i64 %t54, %t20
68   %t56 = add i64 %t55, %t21
69   %t57 = add i64 %t56, %t22
70   %t58 = add i64 %t57, %t23
71   %t59 = add i64 %t58, %t24
72   %t60 = add i64 %t59, %t25
73   %t61 = add i64 %t60, %t26
74   %t62 = add i64 %t61, %t27
75   %t63 = add i64 %t62, %t28
76   %t64 = add i64 %t63, %t29
77   %t65 = add i64 %t64, %t30
78   %t66 = add i64 %t65, %t31
79   %t67 = add i64 %t66, %t32
80   %t68 = add i64 %t67, %t33
81   %t69 = add i64 %t68, %t34
82   %t70 = add i64 %t69, %t35
83   %t71 = add i64 %t70, %x0
84   ret i64 %t71