llvm.org GIT mirror llvm / 581f84f
move these xfailed tests to lib/Target/README.txt git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36805 91177308-0d34-0410-b5e6-96231b3b80d8 Chris Lattner 12 years ago
2 changed file(s) with 0 addition(s) and 97 deletion(s). Raw diff Collapse all Expand all
+0
-66
test/Transforms/Reassociate/backwards.ll less more
None ; RUN: llvm-as < %s | opt -reassociate -dce -gcse | llvm-dis | grep add | wc -l | grep 8
1 ; This test corresponds to GCC PR16157. Reassociate should arrange for 4 additions to be
2 ; left in each function.
3
4 ; We currently don't implement this. This would require looking globally to
5 ; find out which expressions are available, which we currently do not do.
6
7 ; XFAIL: *
8
9 %a4 = external global int
10 %a3 = external global int
11 %a2 = external global int
12 %a1 = external global int
13 %a0 = external global int
14 %b4 = external global int
15 %b3 = external global int
16 %b2 = external global int
17 %b1 = external global int
18
19 implementation ; Functions:
20
21 void %test1() {
22 %tmp.0 = load int* %a4 ; [#uses=1]
23 %tmp.1 = load int* %a3 ; [#uses=2]
24 %tmp.2 = add int %tmp.0, %tmp.1 ; [#uses=1]
25 %tmp.3 = load int* %a2 ; [#uses=3]
26 %tmp.4 = add int %tmp.2, %tmp.3 ; [#uses=1]
27 %tmp.5 = load int* %a1 ; [#uses=4]
28 %tmp.6 = add int %tmp.4, %tmp.5 ; [#uses=1]
29 %tmp.7 = load int* %a0 ; [#uses=4]
30 %tmp.8 = add int %tmp.6, %tmp.7 ; [#uses=1]
31 store int %tmp.8, int* %a4
32 %tmp.11 = add int %tmp.1, %tmp.3 ; [#uses=1]
33 %tmp.13 = add int %tmp.11, %tmp.5 ; [#uses=1]
34 %tmp.15 = add int %tmp.13, %tmp.7 ; [#uses=1]
35 store int %tmp.15, int* %a3
36 %tmp.18 = add int %tmp.3, %tmp.5 ; [#uses=1]
37 %tmp.20 = add int %tmp.18, %tmp.7 ; [#uses=1]
38 store int %tmp.20, int* %a2
39 %tmp.23 = add int %tmp.5, %tmp.7 ; [#uses=1]
40 store int %tmp.23, int* %a1
41 ret void
42 }
43
44 void %test2() {
45 %tmp.0 = load int* %a4 ; [#uses=1]
46 %tmp.1 = load int* %a3 ; [#uses=2]
47 %tmp.2 = add int %tmp.0, %tmp.1 ; [#uses=1]
48 %tmp.3 = load int* %a2 ; [#uses=3]
49 %tmp.4 = add int %tmp.2, %tmp.3 ; [#uses=1]
50 %tmp.5 = load int* %a1 ; [#uses=4]
51 %tmp.6 = add int %tmp.4, %tmp.5 ; [#uses=1]
52 %tmp.7 = load int* %a0 ; [#uses=4]
53 %tmp.8 = add int %tmp.6, %tmp.7 ; [#uses=1]
54 store int %tmp.8, int* %b4
55 %tmp.11 = add int %tmp.1, %tmp.3 ; [#uses=1]
56 %tmp.13 = add int %tmp.11, %tmp.5 ; [#uses=1]
57 %tmp.15 = add int %tmp.13, %tmp.7 ; [#uses=1]
58 store int %tmp.15, int* %b3
59 %tmp.18 = add int %tmp.3, %tmp.5 ; [#uses=1]
60 %tmp.20 = add int %tmp.18, %tmp.7 ; [#uses=1]
61 store int %tmp.20, int* %b2
62 %tmp.23 = add int %tmp.5, %tmp.7 ; [#uses=1]
63 store int %tmp.23, int* %b1
64 ret void
65 }
+0
-31
test/Transforms/TailCallElim/tail_call_with_branch.ll less more
None ; This testcase is due to tail-duplication not wanting to copy the return
1 ; instruction into the terminating blocks because there was other code
2 ; optimized out of the function after the taildup happened.
3 ; XFAIL: *
4 ; RUN: llvm-upgrade < %s | llvm-as | opt -tailcallelim | llvm-dis | not grep call
5
6 int %t4(int %a) {
7 entry:
8 %tmp.1 = and int %a, 1
9 %tmp.2 = cast int %tmp.1 to bool
10 br bool %tmp.2, label %then.0, label %else.0
11
12 then.0:
13 %tmp.5 = add int %a, -1
14 %tmp.3 = call int %t4( int %tmp.5 )
15 br label %return
16
17 else.0:
18 %tmp.7 = setne int %a, 0
19 br bool %tmp.7, label %then.1, label %return
20
21 then.1:
22 %tmp.11 = add int %a, -2
23 %tmp.9 = call int %t4( int %tmp.11 )
24 br label %return
25
26 return:
27 %result.0 = phi int [ 0, %else.0 ], [ %tmp.3, %then.0 ], [ %tmp.9, %then.1 ]
28 ret int %result.0
29 }
30