summaryrefslogtreecommitdiff
path: root/test/Transforms/ADCE
diff options
context:
space:
mode:
authorTanya Lattner <tonic@nondot.org>2008-03-01 09:15:35 +0000
committerTanya Lattner <tonic@nondot.org>2008-03-01 09:15:35 +0000
commitec9a35a6f9143cfa325e0413cc297c48f627973a (patch)
treec1b0621415acc20f94152c51174d53fae3dbc8cc /test/Transforms/ADCE
parentab3b77834c9232e4c13acb29afe1920b97c5a20b (diff)
downloadllvm-ec9a35a6f9143cfa325e0413cc297c48f627973a.tar.gz
llvm-ec9a35a6f9143cfa325e0413cc297c48f627973a.tar.bz2
llvm-ec9a35a6f9143cfa325e0413cc297c48f627973a.tar.xz
Remove llvm-upgrade and update test cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47793 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms/ADCE')
-rw-r--r--test/Transforms/ADCE/2002-05-22-PHITest.ll19
-rw-r--r--test/Transforms/ADCE/2002-05-23-ZeroArgPHITest.ll41
-rw-r--r--test/Transforms/ADCE/2002-05-28-Crash-distilled.ll20
-rw-r--r--test/Transforms/ADCE/2002-05-28-Crash.ll76
-rw-r--r--test/Transforms/ADCE/2002-07-17-AssertionFailure.ll12
-rw-r--r--test/Transforms/ADCE/2002-07-17-PHIAssertion.ll69
-rw-r--r--test/Transforms/ADCE/2002-07-29-Segfault.ll14
-rw-r--r--test/Transforms/ADCE/2003-01-22-PredecessorProblem.ll34
-rw-r--r--test/Transforms/ADCE/2003-04-25-PHIPostDominateProblem.ll46
-rw-r--r--test/Transforms/ADCE/2003-06-11-InvalidCFG.ll40
-rw-r--r--test/Transforms/ADCE/2003-06-24-BadSuccessor.ll89
-rw-r--r--test/Transforms/ADCE/2003-06-24-BasicFunctionality.ll79
-rw-r--r--test/Transforms/ADCE/2003-09-10-UnwindInstFail.ll27
-rw-r--r--test/Transforms/ADCE/2003-09-15-InfLoopCrash.ll11
-rw-r--r--test/Transforms/ADCE/2003-11-16-MissingPostDominanceInfo.ll25
-rw-r--r--test/Transforms/ADCE/2003-12-19-MergeReturn.llx33
-rw-r--r--test/Transforms/ADCE/2004-05-04-UnreachableBlock.llx20
-rw-r--r--test/Transforms/ADCE/2005-02-17-PHI-Invoke-Crash.ll61
-rw-r--r--test/Transforms/ADCE/adcetest.ll58
-rw-r--r--test/Transforms/ADCE/basictest.ll27
-rw-r--r--test/Transforms/ADCE/basictest1.ll150
-rw-r--r--test/Transforms/ADCE/basictest2.ll149
-rw-r--r--test/Transforms/ADCE/dead-phi-edge.ll20
-rw-r--r--test/Transforms/ADCE/unreachable-function.ll4
24 files changed, 560 insertions, 564 deletions
diff --git a/test/Transforms/ADCE/2002-05-22-PHITest.ll b/test/Transforms/ADCE/2002-05-22-PHITest.ll
index cf9872e2e1..04f0051af8 100644
--- a/test/Transforms/ADCE/2002-05-22-PHITest.ll
+++ b/test/Transforms/ADCE/2002-05-22-PHITest.ll
@@ -1,13 +1,16 @@
; It is illegal to remove BB1 because it will mess up the PHI node!
;
-; RUN: llvm-upgrade < %s | llvm-as | opt -adce | llvm-dis | grep BB1
+; RUN: llvm-as < %s | opt -adce | llvm-dis | grep BB1
+define i32 @test(i1 %C, i32 %A, i32 %B) {
+; <label>:0
+ br i1 %C, label %BB1, label %BB2
-int "test"(bool %C, int %A, int %B) {
- br bool %C, label %BB1, label %BB2
-BB1:
- br label %BB2
-BB2:
- %R = phi int [%A, %0], [%B, %BB1]
- ret int %R
+BB1: ; preds = %0
+ br label %BB2
+
+BB2: ; preds = %BB1, %0
+ %R = phi i32 [ %A, %0 ], [ %B, %BB1 ] ; <i32> [#uses=1]
+ ret i32 %R
}
+
diff --git a/test/Transforms/ADCE/2002-05-23-ZeroArgPHITest.ll b/test/Transforms/ADCE/2002-05-23-ZeroArgPHITest.ll
index 999675b55a..911f8e678b 100644
--- a/test/Transforms/ADCE/2002-05-23-ZeroArgPHITest.ll
+++ b/test/Transforms/ADCE/2002-05-23-ZeroArgPHITest.ll
@@ -4,30 +4,29 @@
; removed even though there were uses still around. Now the uses are filled
; in with a dummy value before the PHI is deleted.
;
-; RUN: llvm-upgrade < %s | llvm-as | opt -adce
+; RUN: llvm-as < %s | opt -adce
-%node_t = type { double*, %node_t*, %node_t**, double**, double*, int, int }
+ %node_t = type { double*, %node_t*, %node_t**, double**, double*, i32, i32 }
-implementation ; Functions:
+define void @localize_local(%node_t* %nodelist) {
+bb0:
+ %nodelist.upgrd.1 = alloca %node_t* ; <%node_t**> [#uses=2]
+ store %node_t* %nodelist, %node_t** %nodelist.upgrd.1
+ br label %bb1
-void %localize_local(%node_t* %nodelist) {
-bb0: ;[#uses=0]
- %nodelist = alloca %node_t* ; <%node_t**> [#uses=2]
- store %node_t* %nodelist, %node_t** %nodelist
- br label %bb1
+bb1: ; preds = %bb0
+ %reg107 = load %node_t** %nodelist.upgrd.1 ; <%node_t*> [#uses=2]
+ %cond211 = icmp eq %node_t* %reg107, null ; <i1> [#uses=1]
+ br i1 %cond211, label %bb3, label %bb2
-bb1: ;[#uses=2]
- %reg107 = load %node_t** %nodelist ; <%node_t*> [#uses=2]
- %cond211 = seteq %node_t* %reg107, null ; <bool> [#uses=1]
- br bool %cond211, label %bb3, label %bb2
+bb2: ; preds = %bb2, %bb1
+ %reg109 = phi %node_t* [ %reg110, %bb2 ], [ %reg107, %bb1 ] ; <%node_t*> [#uses=1]
+ %reg212 = getelementptr %node_t* %reg109, i64 0, i32 1 ; <%node_t**> [#uses=1]
+ %reg110 = load %node_t** %reg212 ; <%node_t*> [#uses=2]
+ %cond213 = icmp ne %node_t* %reg110, null ; <i1> [#uses=1]
+ br i1 %cond213, label %bb2, label %bb3
-bb2: ;[#uses=3]
- %reg109 = phi %node_t* [ %reg110, %bb2 ], [ %reg107, %bb1 ] ; <%node_t*> [#uses=1]
- %reg212 = getelementptr %node_t* %reg109, long 0, uint 1 ; <%node_t**> [#uses=1]
- %reg110 = load %node_t** %reg212 ; <%node_t*> [#uses=2]
- %cond213 = setne %node_t* %reg110, null ; <bool> [#uses=1]
- br bool %cond213, label %bb2, label %bb3
-
-bb3: ;[#uses=2]
- ret void
+bb3: ; preds = %bb2, %bb1
+ ret void
}
+
diff --git a/test/Transforms/ADCE/2002-05-28-Crash-distilled.ll b/test/Transforms/ADCE/2002-05-28-Crash-distilled.ll
index 0d5adf907f..5d25ff1352 100644
--- a/test/Transforms/ADCE/2002-05-28-Crash-distilled.ll
+++ b/test/Transforms/ADCE/2002-05-28-Crash-distilled.ll
@@ -1,17 +1,17 @@
; This testcase is a distilled form of: 2002-05-28-Crash.ll
-; RUN: llvm-upgrade < %s | llvm-as | opt -adce
+; RUN: llvm-as < %s | opt -adce
-float "test"(int %i) {
- %F = cast int %i to float ; This BB is not dead
- %I = cast int %i to uint ; future dead inst
- br label %Loop
+define float @test(i32 %i) {
+ %F = sitofp i32 %i to float ; <float> [#uses=1]
+ %I = bitcast i32 %i to i32 ; <i32> [#uses=1]
+ br label %Loop
-Loop: ; This block is dead
- %B = cast uint %I to bool
- br bool %B, label %Out, label %Loop
+Loop: ; preds = %Loop, %0
+ %B = icmp ne i32 %I, 0 ; <i1> [#uses=1]
+ br i1 %B, label %Out, label %Loop
-Out:
- ret float %F
+Out: ; preds = %Loop
+ ret float %F
}
diff --git a/test/Transforms/ADCE/2002-05-28-Crash.ll b/test/Transforms/ADCE/2002-05-28-Crash.ll
index b6340d540b..27c7205203 100644
--- a/test/Transforms/ADCE/2002-05-28-Crash.ll
+++ b/test/Transforms/ADCE/2002-05-28-Crash.ll
@@ -11,46 +11,44 @@
; return !s;
;}
;
-; RUN: llvm-upgrade < %s | llvm-as | opt -adce
+; RUN: llvm-as < %s | opt -adce
-implementation ; Functions:
+define i32 @rx_bitset_empty(i32 %size, i32* %set) {
+bb1:
+ %reg110 = load i32* %set ; <i32> [#uses=2]
+ store i32 1, i32* %set
+ %cast112 = sext i32 %size to i64 ; <i64> [#uses=1]
+ %reg113 = add i64 %cast112, 31 ; <i64> [#uses=1]
+ %reg114 = lshr i64 %reg113, 5 ; <i64> [#uses=2]
+ %cast109 = trunc i64 %reg114 to i32 ; <i32> [#uses=1]
+ %reg129 = add i32 %cast109, -1 ; <i32> [#uses=1]
+ %reg114-idxcast = trunc i64 %reg114 to i32 ; <i32> [#uses=1]
+ %reg114-idxcast-offset = add i32 %reg114-idxcast, 1073741823 ; <i32> [#uses=1]
+ %reg114-idxcast-offset.upgrd.1 = zext i32 %reg114-idxcast-offset to i64 ; <i64> [#uses=1]
+ %reg124 = getelementptr i32* %set, i64 %reg114-idxcast-offset.upgrd.1 ; <i32*> [#uses=1]
+ %reg125 = load i32* %reg124 ; <i32> [#uses=1]
+ %cond232 = icmp ne i32 %reg125, 0 ; <i1> [#uses=1]
+ br i1 %cond232, label %bb3, label %bb2
-int %rx_bitset_empty(int %size, uint* %set) {
-bb1: ;[#uses=2]
- %reg110 = load uint* %set ; <uint> [#uses=2]
- store uint 1, uint* %set
- %cast112 = cast int %size to ulong ; <ulong> [#uses=1]
- %reg113 = add ulong %cast112, 31 ; <ulong> [#uses=1]
- %reg114 = shr ulong %reg113, ubyte 5 ; <ulong> [#uses=2]
- %cast109 = cast ulong %reg114 to int ; <int> [#uses=1]
- %reg129 = add int %cast109, -1 ; <int> [#uses=1]
- %reg114-idxcast = cast ulong %reg114 to uint ; <uint> [#uses=1]
- %reg114-idxcast-offset = add uint %reg114-idxcast, 1073741823 ; <uint> [#uses=1]
- %reg114-idxcast-offset = cast uint %reg114-idxcast-offset to long
- %reg124 = getelementptr uint* %set, long %reg114-idxcast-offset ; <uint*> [#uses=1]
- %reg125 = load uint* %reg124 ; <uint> [#uses=1]
- %cond232 = setne uint %reg125, 0 ; <bool> [#uses=1]
- br bool %cond232, label %bb3, label %bb2
-
-bb2: ;[#uses=3]
- %cann-indvar = phi int [ 0, %bb1 ], [ %add1-indvar, %bb2 ] ; <int> [#uses=2]
- %reg130-scale = mul int %cann-indvar, -1 ; <int> [#uses=1]
- %reg130 = add int %reg130-scale, %reg129 ; <int> [#uses=1]
- %add1-indvar = add int %cann-indvar, 1 ; <int> [#uses=1]
- %reg130-idxcast = cast int %reg130 to uint ; <uint> [#uses=1]
- %reg130-idxcast-offset = add uint %reg130-idxcast, 1073741823 ; <uint> [#uses=1]
- %reg130-idxcast-offset = cast uint %reg130-idxcast-offset to long
- %reg118 = getelementptr uint* %set, long %reg130-idxcast-offset ; <uint*> [#uses=1]
- %reg119 = load uint* %reg118 ; <uint> [#uses=1]
- %cond233 = seteq uint %reg119, 0 ; <bool> [#uses=1]
- br bool %cond233, label %bb2, label %bb3
-
-bb3: ;[#uses=2]
- store uint %reg110, uint* %set
- %cast126 = cast uint %reg110 to ulong ; <ulong> [#uses=1]
- %reg127 = add ulong %cast126, 18446744073709551615 ; <ulong> [#uses=1]
- %reg128 = shr ulong %reg127, ubyte 63 ; <ulong> [#uses=1]
- %cast120 = cast ulong %reg128 to int ; <int> [#uses=1]
- ret int %cast120
+bb2: ; preds = %bb2, %bb1
+ %cann-indvar = phi i32 [ 0, %bb1 ], [ %add1-indvar, %bb2 ] ; <i32> [#uses=2]
+ %reg130-scale = mul i32 %cann-indvar, -1 ; <i32> [#uses=1]
+ %reg130 = add i32 %reg130-scale, %reg129 ; <i32> [#uses=1]
+ %add1-indvar = add i32 %cann-indvar, 1 ; <i32> [#uses=1]
+ %reg130-idxcast = bitcast i32 %reg130 to i32 ; <i32> [#uses=1]
+ %reg130-idxcast-offset = add i32 %reg130-idxcast, 1073741823 ; <i32> [#uses=1]
+ %reg130-idxcast-offset.upgrd.2 = zext i32 %reg130-idxcast-offset to i64 ; <i64> [#uses=1]
+ %reg118 = getelementptr i32* %set, i64 %reg130-idxcast-offset.upgrd.2 ; <i32*> [#uses=1]
+ %reg119 = load i32* %reg118 ; <i32> [#uses=1]
+ %cond233 = icmp eq i32 %reg119, 0 ; <i1> [#uses=1]
+ br i1 %cond233, label %bb2, label %bb3
+bb3: ; preds = %bb2, %bb1
+ store i32 %reg110, i32* %set
+ %cast126 = zext i32 %reg110 to i64 ; <i64> [#uses=1]
+ %reg127 = add i64 %cast126, -1 ; <i64> [#uses=1]
+ %reg128 = lshr i64 %reg127, 63 ; <i64> [#uses=1]
+ %cast120 = trunc i64 %reg128 to i32 ; <i32> [#uses=1]
+ ret i32 %cast120
}
+
diff --git a/test/Transforms/ADCE/2002-07-17-AssertionFailure.ll b/test/Transforms/ADCE/2002-07-17-AssertionFailure.ll
index 61b140233d..fb4fe4a8d2 100644
--- a/test/Transforms/ADCE/2002-07-17-AssertionFailure.ll
+++ b/test/Transforms/ADCE/2002-07-17-AssertionFailure.ll
@@ -3,11 +3,11 @@
; block in this function, it would work fine, but that would be the part we
; have to fix now, wouldn't it....
;
-; RUN: llvm-upgrade < %s | llvm-as | opt -adce
+; RUN: llvm-as < %s | opt -adce
-void %foo(sbyte* %reg5481) {
- %cast611 = cast sbyte* %reg5481 to sbyte** ; <sbyte**> [#uses=1]
- %reg162 = load sbyte** %cast611 ; <sbyte*> [#uses=0]
- cast sbyte*%reg162 to int
- ret void
+define void @foo(i8* %reg5481) {
+ %cast611 = bitcast i8* %reg5481 to i8** ; <i8**> [#uses=1]
+ %reg162 = load i8** %cast611 ; <i8*> [#uses=1]
+ ptrtoint i8* %reg162 to i32 ; <i32>:1 [#uses=0]
+ ret void
}
diff --git a/test/Transforms/ADCE/2002-07-17-PHIAssertion.ll b/test/Transforms/ADCE/2002-07-17-PHIAssertion.ll
index 6d15fae8ef..42a7e4dcde 100644
--- a/test/Transforms/ADCE/2002-07-17-PHIAssertion.ll
+++ b/test/Transforms/ADCE/2002-07-17-PHIAssertion.ll
@@ -1,49 +1,48 @@
; This testcase was extracted from the gzip SPEC benchmark
;
-; RUN: llvm-upgrade < %s | llvm-as | opt -adce
+; RUN: llvm-as < %s | opt -adce
-%bk = external global uint ; <uint*> [#uses=2]
-%hufts = external global uint ; <uint*> [#uses=1]
+@bk = external global i32 ; <i32*> [#uses=2]
+@hufts = external global i32 ; <i32*> [#uses=1]
-implementation ; Functions:
+define i32 @inflate() {
+bb0:
+ br label %bb2
-int %inflate() {
-bb0: ;[#uses=1]
- br label %bb2
+bb2: ; preds = %bb6, %bb0
+ %reg128 = phi i32 [ %reg130, %bb6 ], [ 0, %bb0 ] ; <i32> [#uses=2]
+ br i1 true, label %bb4, label %bb3
-bb2: ;[#uses=2]
- %reg128 = phi uint [ %reg130, %bb6 ], [ 0, %bb0 ] ; <uint> [#uses=2]
- br bool true, label %bb4, label %bb3
+bb3: ; preds = %bb2
+ br label %UnifiedExitNode
-bb3: ;[#uses=2]
- br label %UnifiedExitNode
+bb4: ; preds = %bb2
+ %reg117 = load i32* @hufts ; <i32> [#uses=2]
+ %cond241 = icmp ule i32 %reg117, %reg128 ; <i1> [#uses=1]
+ br i1 %cond241, label %bb6, label %bb5
-bb4: ;[#uses=2]
- %reg117 = load uint* %hufts ; <uint> [#uses=2]
- %cond241 = setle uint %reg117, %reg128 ; <bool> [#uses=1]
- br bool %cond241, label %bb6, label %bb5
+bb5: ; preds = %bb4
+ br label %bb6
-bb5: ;[#uses=2]
- br label %bb6
+bb6: ; preds = %bb5, %bb4
+ %reg130 = phi i32 [ %reg117, %bb5 ], [ %reg128, %bb4 ] ; <i32> [#uses=1]
+ br i1 false, label %bb2, label %bb7
-bb6: ;[#uses=3]
- %reg130 = phi uint [ %reg117, %bb5 ], [ %reg128, %bb4 ] ; <uint> [#uses=1]
- br bool false, label %bb2, label %bb7
+bb7: ; preds = %bb6
+ %reg126 = load i32* @bk ; <i32> [#uses=1]
+ %cond247 = icmp ule i32 %reg126, 7 ; <i1> [#uses=1]
+ br i1 %cond247, label %bb9, label %bb8
-bb7: ;[#uses=1]
- %reg126 = load uint* %bk ; <uint> [#uses=1]
- %cond247 = setle uint %reg126, 7 ; <bool> [#uses=1]
- br bool %cond247, label %bb9, label %bb8
+bb8: ; preds = %bb8, %bb7
+ %reg119 = load i32* @bk ; <i32> [#uses=1]
+ %cond256 = icmp ugt i32 %reg119, 7 ; <i1> [#uses=1]
+ br i1 %cond256, label %bb8, label %bb9
-bb8: ;[#uses=2]
- %reg119 = load uint* %bk ; <uint> [#uses=1]
- %cond256 = setgt uint %reg119, 7 ; <bool> [#uses=1]
- br bool %cond256, label %bb8, label %bb9
+bb9: ; preds = %bb8, %bb7
+ br label %UnifiedExitNode
-bb9: ;[#uses=3]
- br label %UnifiedExitNode
-
-UnifiedExitNode: ;[#uses=2]
- %UnifiedRetVal = phi int [ 7, %bb3 ], [ 0, %bb9 ] ; <int> [#uses=1]
- ret int %UnifiedRetVal
+UnifiedExitNode: ; preds = %bb9, %bb3
+ %UnifiedRetVal = phi i32 [ 7, %bb3 ], [ 0, %bb9 ] ; <i32> [#uses=1]
+ ret i32 %UnifiedRetVal
}
+
diff --git a/test/Transforms/ADCE/2002-07-29-Segfault.ll b/test/Transforms/ADCE/2002-07-29-Segfault.ll
index 0c0e2afde4..1c65b3b544 100644
--- a/test/Transforms/ADCE/2002-07-29-Segfault.ll
+++ b/test/Transforms/ADCE/2002-07-29-Segfault.ll
@@ -1,9 +1,9 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -adce
+; RUN: llvm-as < %s | opt -adce
-void "test"()
-begin
- br label %BB3
+define void @test() {
+ br label %BB3
+
+BB3: ; preds = %BB3, %0
+ br label %BB3
+}
-BB3:
- br label %BB3
-end
diff --git a/test/Transforms/ADCE/2003-01-22-PredecessorProblem.ll b/test/Transforms/ADCE/2003-01-22-PredecessorProblem.ll
index d8c6448570..4ec9005607 100644
--- a/test/Transforms/ADCE/2003-01-22-PredecessorProblem.ll
+++ b/test/Transforms/ADCE/2003-01-22-PredecessorProblem.ll
@@ -1,25 +1,25 @@
; Testcase reduced from 197.parser by bugpoint
-; RUN: llvm-upgrade < %s | llvm-as | opt -adce
-implementation ; Functions:
+; RUN: llvm-as < %s | opt -adce
-void %conjunction_prune() {
-; <label>:0 ; No predecessors!
- br label %bb19
+define void @conjunction_prune() {
+; <label>:0
+ br label %bb19
-bb19: ; preds = %bb22, %bb23, %0
- %reg205 = phi sbyte* [ null, %bb22 ], [ null, %bb23 ], [ null, %0 ] ; <sbyte*> [#uses=1]
- br bool false, label %bb21, label %bb22
+bb19: ; preds = %bb23, %bb22, %0
+ %reg205 = phi i8* [ null, %bb22 ], [ null, %bb23 ], [ null, %0 ] ; <i8*> [#uses=1]
+ br i1 false, label %bb21, label %bb22
-bb21: ; preds = %bb19
- %cast455 = cast sbyte* %reg205 to sbyte** ; <sbyte**> [#uses=0]
- br label %bb22
+bb21: ; preds = %bb19
+ %cast455 = bitcast i8* %reg205 to i8** ; <i8**> [#uses=0]
+ br label %bb22
-bb22: ; preds = %bb21, %bb19
- br bool false, label %bb19, label %bb23
+bb22: ; preds = %bb21, %bb19
+ br i1 false, label %bb19, label %bb23
-bb23: ; preds = %bb22
- br bool false, label %bb19, label %bb28
+bb23: ; preds = %bb22
+ br i1 false, label %bb19, label %bb28
-bb28: ; preds = %bb23
- ret void
+bb28: ; preds = %bb23
+ ret void
}
+
diff --git a/test/Transforms/ADCE/2003-04-25-PHIPostDominateProblem.ll b/test/Transforms/ADCE/2003-04-25-PHIPostDominateProblem.ll
index 92d7cad770..603b14b537 100644
--- a/test/Transforms/ADCE/2003-04-25-PHIPostDominateProblem.ll
+++ b/test/Transforms/ADCE/2003-04-25-PHIPostDominateProblem.ll
@@ -2,36 +2,34 @@
; entries for it's postdominator. But I think this can only happen when the
; PHI node is dead, so we just avoid patching up dead PHI nodes.
-; RUN: llvm-upgrade < %s | llvm-as | opt -adce
+; RUN: llvm-as < %s | opt -adce
-target endian = little
-target pointersize = 32
+target datalayout = "e-p:32:32"
-implementation ; Functions:
+define void @dead_test8() {
+entry:
+ br label %loopentry
-void %dead_test8() {
-entry: ; No predecessors!
- br label %loopentry
+loopentry: ; preds = %endif, %entry
+ %k.1 = phi i32 [ %k.0, %endif ], [ 0, %entry ] ; <i32> [#uses=1]
+ br i1 false, label %no_exit, label %return
-loopentry: ; preds = %entry, %endif
- %k.1 = phi int [ %k.0, %endif ], [ 0, %entry ] ; <int> [#uses=1]
- br bool false, label %no_exit, label %return
+no_exit: ; preds = %loopentry
+ br i1 false, label %then, label %else
-no_exit: ; preds = %loopentry
- br bool false, label %then, label %else
+then: ; preds = %no_exit
+ br label %endif
-then: ; preds = %no_exit
- br label %endif
+else: ; preds = %no_exit
+ %dec = add i32 %k.1, -1 ; <i32> [#uses=1]
+ br label %endif
-else: ; preds = %no_exit
- %dec = add int %k.1, -1 ; <int> [#uses=1]
- br label %endif
+endif: ; preds = %else, %then
+ %k.0 = phi i32 [ %dec, %else ], [ 0, %then ] ; <i32> [#uses=1]
+ store i32 2, i32* null
+ br label %loopentry
-endif: ; preds = %else, %then
- %k.0 = phi int [ %dec, %else ], [ 0, %then ] ; <int> [#uses=1]
- store int 2, int* null
- br label %loopentry
-
-return: ; preds = %loopentry
- ret void
+return: ; preds = %loopentry
+ ret void
}
+
diff --git a/test/Transforms/ADCE/2003-06-11-InvalidCFG.ll b/test/Transforms/ADCE/2003-06-11-InvalidCFG.ll
index 590089d1c9..a9657a7a37 100644
--- a/test/Transforms/ADCE/2003-06-11-InvalidCFG.ll
+++ b/test/Transforms/ADCE/2003-06-11-InvalidCFG.ll
@@ -1,28 +1,28 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -adce -disable-output
-%G = external global int*
+; RUN: llvm-as < %s | opt -adce -disable-output
-implementation ; Functions:
+@G = external global i32* ; <i32**> [#uses=1]
-declare void %Fn(int*)
+declare void @Fn(i32*)
-int %main(int %argc.1, sbyte** %argv.1) {
-entry: ; No predecessors!
- br label %endif.42
+define i32 @main(i32 %argc.1, i8** %argv.1) {
+entry:
+ br label %endif.42
-endif.42: ; preds = %entry, %shortcirc_done.12, %then.66, %endif.42
- br bool false, label %endif.65, label %endif.42
-
-then.66: ; preds = %shortcirc_done.12
- call void %Fn( int* %tmp.2846)
- br label %endif.42
+endif.42: ; preds = %shortcirc_done.12, %then.66, %endif.42, %entry
+ br i1 false, label %endif.65, label %endif.42
-endif.65: ; preds = %endif.42
- %tmp.2846 = load int** %G
- br bool false, label %shortcirc_next.12, label %shortcirc_done.12
+then.66: ; preds = %shortcirc_done.12
+ call void @Fn( i32* %tmp.2846 )
+ br label %endif.42
-shortcirc_next.12: ; preds = %endif.65
- br label %shortcirc_done.12
+endif.65: ; preds = %endif.42
+ %tmp.2846 = load i32** @G ; <i32*> [#uses=1]
+ br i1 false, label %shortcirc_next.12, label %shortcirc_done.12
-shortcirc_done.12: ; preds = %endif.65, %shortcirc_next.12
- br bool false, label %then.66, label %endif.42
+shortcirc_next.12: ; preds = %endif.65
+ br label %shortcirc_done.12
+
+shortcirc_done.12: ; preds = %shortcirc_next.12, %endif.65
+ br i1 false, label %then.66, label %endif.42
}
+
diff --git a/test/Transforms/ADCE/2003-06-24-BadSuccessor.ll b/test/Transforms/ADCE/2003-06-24-BadSuccessor.ll
index 1a730194ff..e5dd0cc6d9 100644
--- a/test/Transforms/ADCE/2003-06-24-BadSuccessor.ll
+++ b/test/Transforms/ADCE/2003-06-24-BadSuccessor.ll
@@ -1,94 +1,91 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -adce -disable-output
+; RUN: llvm-as < %s | opt -adce -disable-output
+target datalayout = "e-p:32:32"
+ %struct..CppObjTypeDesc = type { i32, i16, i16 }
+ %struct..TypeToken = type { i32, i16, i16 }
-target endian = little
-target pointersize = 32
- %struct..CppObjTypeDesc = type { uint, ushort, ushort }
- %struct..TypeToken = type { uint, ushort, ushort }
-
-implementation ; Functions:
-
-uint %C_ReFaxToDb() {
-entry: ; No predecessors!
- br bool false, label %endif.0, label %then.0
+define i32 @C_ReFaxToDb() {
+entry:
+ br i1 false, label %endif.0, label %then.0
then.0: ; preds = %entry
- ret uint 0
+ ret i32 0
endif.0: ; preds = %entry
- br bool false, label %then.11, label %then.4
+ br i1 false, label %then.11, label %then.4
then.4: ; preds = %endif.0
- ret uint 0
+ ret i32 0
then.11: ; preds = %endif.0
- br bool false, label %loopentry.0, label %else.2
+ br i1 false, label %loopentry.0, label %else.2
-loopentry.0: ; preds = %then.11, %endif.14, %loopentry.1
- br bool false, label %endif.14, label %loopexit.0
+loopentry.0: ; preds = %loopentry.1, %endif.14, %then.11
+ br i1 false, label %endif.14, label %loopexit.0
endif.14: ; preds = %loopentry.0
- br bool false, label %loopentry.1, label %loopentry.0
+ br i1 false, label %loopentry.1, label %loopentry.0
-loopentry.1: ; preds = %endif.14, %then.53, %then.53, %then.53, %then.53, %then.53
- %SubArrays.10 = phi uint* [ %SubArrays.8, %then.53 ] , [ null, %endif.14 ] ; <uint*> [#uses=3]
- br bool false, label %no_exit.1, label %loopentry.0
+loopentry.1: ; preds = %then.53, %endif.14
+ %SubArrays.10 = phi i32* [ %SubArrays.8, %then.53 ], [ null, %endif.14 ] ; <i32*> [#uses=3]
+ br i1 false, label %no_exit.1, label %loopentry.0
no_exit.1: ; preds = %loopentry.1
- switch uint 0, label %label.17 [
- uint 2, label %label.11
- uint 19, label %label.10
+ switch i32 0, label %label.17 [
+ i32 2, label %label.11
+ i32 19, label %label.10
]
label.10: ; preds = %no_exit.1
- br bool false, label %then.43, label %endif.43
+ br i1 false, label %then.43, label %endif.43
then.43: ; preds = %label.10
- br bool false, label %then.44, label %endif.44
+ br i1 false, label %then.44, label %endif.44
then.44: ; preds = %then.43
- br bool false, label %shortcirc_next.4, label %endif.45
+ br i1 false, label %shortcirc_next.4, label %endif.45
shortcirc_next.4: ; preds = %then.44
- br bool false, label %no_exit.2, label %loopexit.2
+ br i1 false, label %no_exit.2, label %loopexit.2
no_exit.2: ; preds = %shortcirc_next.4
- %tmp.897 = getelementptr uint* %SubArrays.10, long 0 ; <uint*> [#uses=1]
- %tmp.899 = load uint* %tmp.897 ; <uint> [#uses=1]
- store uint %tmp.899, uint* null
- ret uint 0
+ %tmp.897 = getelementptr i32* %SubArrays.10, i64 0 ; <i32*> [#uses=1]
+ %tmp.899 = load i32* %tmp.897 ; <i32> [#uses=1]
+ store i32 %tmp.899, i32* null
+ ret i32 0
loopexit.2: ; preds = %shortcirc_next.4
- ret uint 0
+ ret i32 0
endif.45: ; preds = %then.44
- ret uint 0
+ ret i32 0
endif.44: ; preds = %then.43
- ret uint 0
+ ret i32 0
endif.43: ; preds = %label.10
- ret uint 0
+ ret i32 0
label.11: ; preds = %no_exit.1
- ret uint 0
+ ret i32 0
-label.17: ; preds = %no_exit.1, %no_exit.1, %no_exit.1, %no_exit.1, %no_exit.1, %no_exit.1
- br bool false, label %then.53, label %shortcirc_next.7
+label.17: ; preds = %no_exit.1
+ br i1 false, label %then.53, label %shortcirc_next.7
shortcirc_next.7: ; preds = %label.17
- br bool false, label %then.53, label %shortcirc_next.8
+ br i1 false, label %then.53, label %shortcirc_next.8
shortcirc_next.8: ; preds = %shortcirc_next.7
- ret uint 0
+ ret i32 0
then.53: ; preds = %shortcirc_next.7, %label.17
- %SubArrays.8 = phi uint* [ %SubArrays.10, %shortcirc_next.7 ], [ %SubArrays.10, %label.17 ] ; <uint*> [#uses=5]
- %tmp.1023 = load uint* null ; <uint> [#uses=1]
- switch uint %tmp.1023, label %loopentry.1 []
+ %SubArrays.8 = phi i32* [ %SubArrays.10, %shortcirc_next.7 ], [ %SubArrays.10, %label.17 ] ; <i32*> [#uses=1]
+ %tmp.1023 = load i32* null ; <i32> [#uses=1]
+ switch i32 %tmp.1023, label %loopentry.1 [
+ ]
loopexit.0: ; preds = %loopentry.0
- ret uint 0
+ ret i32 0
else.2: ; preds = %then.11
- ret uint 0
+ ret i32 0
}
diff --git a/test/Transforms/ADCE/2003-06-24-BasicFunctionality.ll b/test/Transforms/ADCE/2003-06-24-BasicFunctionality.ll
index ac62699863..9c6764d562 100644
--- a/test/Transforms/ADCE/2003-06-24-BasicFunctionality.ll
+++ b/test/Transforms/ADCE/2003-06-24-BasicFunctionality.ll
@@ -1,40 +1,41 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -adce -simplifycfg | llvm-dis | not grep then:
-
-void %dead_test8(int* %data.1, int %idx.1) {
-entry: ; No predecessors!
- %tmp.1 = load int* %data.1 ; <int> [#uses=2]
- %tmp.41 = setgt int %tmp.1, 0 ; <bool> [#uses=1]
- br bool %tmp.41, label %no_exit.preheader, label %return
-
-no_exit.preheader: ; preds = %entry
- %tmp.11 = getelementptr int* %data.1, long 1 ; <int*> [#uses=1]
- %tmp.22-idxcast = cast int %idx.1 to long ; <long> [#uses=1]
- %tmp.28 = getelementptr int* %data.1, long %tmp.22-idxcast ; <int*> [#uses=1]
- br label %no_exit
-
-no_exit: ; preds = %no_exit.preheader, %endif
- %k.1 = phi int [ %k.0, %endif ], [ 0, %no_exit.preheader ] ; <int> [#uses=3]
- %i.0 = phi int [ %inc.1, %endif ], [ 0, %no_exit.preheader ] ; <int> [#uses=1]
- %tmp.12 = load int* %tmp.11 ; <int> [#uses=1]
- %tmp.14 = sub int 0, %tmp.12 ; <int> [#uses=1]
- %tmp.161 = setne int %k.1, %tmp.14 ; <bool> [#uses=1]
- br bool %tmp.161, label %then, label %else
-
-then: ; preds = %no_exit
- %inc.0 = add int %k.1, 1 ; <int> [#uses=1]
- br label %endif
-
-else: ; preds = %no_exit
- %dec = add int %k.1, -1 ; <int> [#uses=1]
- br label %endif
-
-endif: ; preds = %else, %then
- %k.0 = phi int [ %dec, %else ], [ %inc.0, %then ] ; <int> [#uses=1]
- store int 2, int* %tmp.28
- %inc.1 = add int %i.0, 1 ; <int> [#uses=2]
- %tmp.4 = setlt int %inc.1, %tmp.1 ; <bool> [#uses=1]
- br bool %tmp.4, label %no_exit, label %return
-
-return: ; preds = %entry, %endif
- ret void
+; RUN: llvm-as < %s | opt -adce -simplifycfg | llvm-dis | not grep then:
+
+define void @dead_test8(i32* %data.1, i32 %idx.1) {
+entry:
+ %tmp.1 = load i32* %data.1 ; <i32> [#uses=2]
+ %tmp.41 = icmp sgt i32 %tmp.1, 0 ; <i1> [#uses=1]
+ br i1 %tmp.41, label %no_exit.preheader, label %return
+
+no_exit.preheader: ; preds = %entry
+ %tmp.11 = getelementptr i32* %data.1, i64 1 ; <i32*> [#uses=1]
+ %tmp.22-idxcast = sext i32 %idx.1 to i64 ; <i64> [#uses=1]
+ %tmp.28 = getelementptr i32* %data.1, i64 %tmp.22-idxcast ; <i32*> [#uses=1]
+ br label %no_exit
+
+no_exit: ; preds = %endif, %no_exit.preheader
+ %k.1 = phi i32 [ %k.0, %endif ], [ 0, %no_exit.preheader ] ; <i32> [#uses=3]
+ %i.0 = phi i32 [ %inc.1, %endif ], [ 0, %no_exit.preheader ] ; <i32> [#uses=1]
+ %tmp.12 = load i32* %tmp.11 ; <i32> [#uses=1]
+ %tmp.14 = sub i32 0, %tmp.12 ; <i32> [#uses=1]
+ %tmp.161 = icmp ne i32 %k.1, %tmp.14 ; <i1> [#uses=1]
+ br i1 %tmp.161, label %then, label %else
+
+then: ; preds = %no_exit
+ %inc.0 = add i32 %k.1, 1 ; <i32> [#uses=1]
+ br label %endif
+
+else: ; preds = %no_exit
+ %dec = add i32 %k.1, -1 ; <i32> [#uses=1]
+ br label %endif
+
+endif: ; preds = %else, %then
+ %k.0 = phi i32 [ %dec, %else ], [ %inc.0, %then ] ; <i32> [#uses=1]
+ store i32 2, i32* %tmp.28
+ %inc.1 = add i32 %i.0, 1 ; <i32> [#uses=2]
+ %tmp.4 = icmp slt i32 %inc.1, %tmp.1 ; <i1> [#uses=1]
+ br i1 %tmp.4, label %no_exit, label %return
+
+return: ; preds = %endif, %entry
+ ret void
}
+
diff --git a/test/Transforms/ADCE/2003-09-10-UnwindInstFail.ll b/test/Transforms/ADCE/2003-09-10-UnwindInstFail.ll
index a88e04155b..e6345c13eb 100644
--- a/test/Transforms/ADCE/2003-09-10-UnwindInstFail.ll
+++ b/test/Transforms/ADCE/2003-09-10-UnwindInstFail.ll
@@ -1,20 +1,19 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -adce -disable-output
+; RUN: llvm-as < %s | opt -adce -disable-output
-implementation ; Functions:
+define void @test() {
+ br i1 false, label %then, label %endif
-void %test() {
- br bool false, label %then, label %endif
+then: ; preds = %0
+ invoke void null( i8* null )
+ to label %invoke_cont unwind label %invoke_catch
-then:
- invoke void null( sbyte* null )
- to label %invoke_cont except label %invoke_catch
+invoke_catch: ; preds = %then
+ unwind
-invoke_catch:
- unwind
+invoke_cont: ; preds = %then
+ ret void
-invoke_cont:
- ret void
-
-endif:
- ret void
+endif: ; preds = %0
+ ret void
}
+
diff --git a/test/Transforms/ADCE/2003-09-15-InfLoopCrash.ll b/test/Transforms/ADCE/2003-09-15-InfLoopCrash.ll
index c61bd6d385..37e077f21c 100644
--- a/test/Transforms/ADCE/2003-09-15-InfLoopCrash.ll
+++ b/test/Transforms/ADCE/2003-09-15-InfLoopCrash.ll
@@ -1,8 +1,9 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -adce -disable-output
+; RUN: llvm-as < %s | opt -adce -disable-output
-int %main() {
- br label %loop
+define i32 @main() {
+ br label %loop
-loop:
- br label %loop
+loop: ; preds = %loop, %0
+ br label %loop
}
+
diff --git a/test/Transforms/ADCE/2003-11-16-MissingPostDominanceInfo.ll b/test/Transforms/ADCE/2003-11-16-MissingPostDominanceInfo.ll
index cf7b08835b..6e9b17ed31 100644
--- a/test/Transforms/ADCE/2003-11-16-MissingPostDominanceInfo.ll
+++ b/test/Transforms/ADCE/2003-11-16-MissingPostDominanceInfo.ll
@@ -1,17 +1,18 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -adce -simplifycfg | llvm-dis | grep call
-declare void %exit(int)
+; RUN: llvm-as < %s | opt -adce -simplifycfg | llvm-dis | grep call
+declare void @exit(i32)
-int %main(int %argc) {
- %C = seteq int %argc, 1
- br bool %C, label %Cond, label %Done
+define i32 @main(i32 %argc) {
+ %C = icmp eq i32 %argc, 1 ; <i1> [#uses=2]
+ br i1 %C, label %Cond, label %Done
-Cond:
- br bool %C, label %Loop, label %Done
+Cond: ; preds = %0
+ br i1 %C, label %Loop, label %Done
-Loop:
- call void %exit(int 0)
- br label %Loop
+Loop: ; preds = %Loop, %Cond
+ call void @exit( i32 0 )
+ br label %Loop
-Done:
- ret int 1
+Done: ; preds = %Cond, %0
+ ret i32 1
}
+
diff --git a/test/Transforms/ADCE/2003-12-19-MergeReturn.llx b/test/Transforms/ADCE/2003-12-19-MergeReturn.llx
index 6b8b547fc7..b2c294b1df 100644
--- a/test/Transforms/ADCE/2003-12-19-MergeReturn.llx
+++ b/test/Transforms/ADCE/2003-12-19-MergeReturn.llx
@@ -1,28 +1,27 @@
; This testcase was failing because without merging the return blocks, ADCE
; didn't know that it could get rid of the then.0 block.
-; RUN: llvm-upgrade < %s | llvm-as | opt -adce | llvm-dis | not grep load
+; RUN: llvm-as < %s | opt -adce | llvm-dis | not grep load
-implementation ; Functions:
-
-void %main(uint %argc, sbyte** %argv) {
+define void @main(i32 %argc, i8** %argv) {
entry:
- call void %__main( )
- %tmp.1 = setle uint %argc, 5 ; <bool> [#uses=1]
- br bool %tmp.1, label %then.0, label %return
+ call void @__main( )
+ %tmp.1 = icmp ule i32 %argc, 5 ; <i1> [#uses=1]
+ br i1 %tmp.1, label %then.0, label %return
-then.0: ; preds = %entry
- %tmp.8 = load sbyte** %argv ; <sbyte*> [#uses=1]
- %tmp.10 = load sbyte* %tmp.8 ; <sbyte> [#uses=1]
- %tmp.11 = seteq sbyte %tmp.10, 98 ; <bool> [#uses=1]
- br bool %tmp.11, label %then.1, label %return
+then.0: ; preds = %entry
+ %tmp.8 = load i8** %argv ; <i8*> [#uses=1]
+ %tmp.10 = load i8* %tmp.8 ; <i8> [#uses=1]
+ %tmp.11 = icmp eq i8 %tmp.10, 98 ; <i1> [#uses=1]
+ br i1 %tmp.11, label %then.1, label %return
-then.1: ; preds = %then.0
- ret void
+then.1: ; preds = %then.0
+ ret void
-return: ; preds = %entry, %then.0
- ret void
+return: ; preds = %then.0, %entry
+ ret void
}
-declare void %__main()
+declare void @__main()
+
diff --git a/test/Transforms/ADCE/2004-05-04-UnreachableBlock.llx b/test/Transforms/ADCE/2004-05-04-UnreachableBlock.llx
index 56f2b2b002..87a1550e9d 100644
--- a/test/Transforms/ADCE/2004-05-04-UnreachableBlock.llx
+++ b/test/Transforms/ADCE/2004-05-04-UnreachableBlock.llx
@@ -1,16 +1,16 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -adce -disable-output
+; RUN: llvm-as < %s | opt -adce -disable-output
-void %test() {
+define void @test() {
entry:
- br label %UnifiedReturnBlock
+ br label %UnifiedReturnBlock
-UnifiedReturnBlock:
- ret void
+UnifiedReturnBlock: ; preds = %invoke_catch.0, %entry
+ ret void
-invoke_catch.0: ; No predecessors!
- br bool false, label %UnifiedUnwindBlock, label %UnifiedReturnBlock
-
-UnifiedUnwindBlock: ; preds = %invoke_catch.0
- unwind
+invoke_catch.0: ; No predecessors!
+ br i1 false, label %UnifiedUnwindBlock, label %UnifiedReturnBlock
+UnifiedUnwindBlock: ; preds = %invoke_catch.0
+ unwind
}
+
diff --git a/test/Transforms/ADCE/2005-02-17-PHI-Invoke-Crash.ll b/test/Transforms/ADCE/2005-02-17-PHI-Invoke-Crash.ll
index b7965f0878..8ddbbbe2c5 100644
--- a/test/Transforms/ADCE/2005-02-17-PHI-Invoke-Crash.ll
+++ b/test/Transforms/ADCE/2005-02-17-PHI-Invoke-Crash.ll
@@ -1,44 +1,45 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -adce -disable-output
+; RUN: llvm-as < %s | opt -adce -disable-output
-implementation ; Functions:
+declare void @strlen()
-declare void %strlen()
-declare void %_ZN10QByteArray6resizeEi()
-declare void %q_atomic_decrement()
+declare void @_ZN10QByteArray6resizeEi()
-void %_ZNK10QByteArray13leftJustifiedEicb() {
+declare void @q_atomic_decrement()
+
+define void @_ZNK10QByteArray13leftJustifiedEicb() {
entry:
- invoke void %strlen( )
- to label %tmp.3.i.noexc unwind label %invoke_catch.0
+ invoke void @strlen( )
+ to label %tmp.3.i.noexc unwind label %invoke_catch.0
-tmp.3.i.noexc: ; preds = %entry
- br bool false, label %then.0, label %else.0
+tmp.3.i.noexc: ; preds = %entry
+ br i1 false, label %then.0, label %else.0
-invoke_catch.0: ; preds = %entry
- invoke void %q_atomic_decrement( )
- to label %tmp.1.i.i183.noexc unwind label %terminate
+invoke_catch.0: ; preds = %entry
+ invoke void @q_atomic_decrement( )
+ to label %tmp.1.i.i183.noexc unwind label %terminate
-tmp.1.i.i183.noexc: ; preds = %invoke_catch.0
- unwind
+tmp.1.i.i183.noexc: ; preds = %invoke_catch.0
+ unwind
-then.0: ; preds = %tmp.3.i.noexc
- invoke void %_ZN10QByteArray6resizeEi( )
- to label %invoke_cont.1 unwind label %invoke_catch.1
+then.0: ; preds = %tmp.3.i.noexc
+ invoke void @_ZN10QByteArray6resizeEi( )
+ to label %invoke_cont.1 unwind label %invoke_catch.1
-invoke_catch.1: ; preds = %then.0
- invoke void %q_atomic_decrement( )
- to label %tmp.1.i.i162.noexc unwind label %terminate
+invoke_catch.1: ; preds = %then.0
+ invoke void @q_atomic_decrement( )
+ to label %tmp.1.i.i162.noexc unwind label %terminate
-tmp.1.i.i162.noexc: ; preds = %invoke_catch.1
- ret void
+tmp.1.i.i162.noexc: ; preds = %invoke_catch.1
+ ret void
-invoke_cont.1: ; preds = %then.0
- ret void
+invoke_cont.1: ; preds = %then.0
+ ret void
-else.0: ; preds = %tmp.3.i.noexc
- ret void
+else.0: ; preds = %tmp.3.i.noexc
+ ret void
-terminate: ; preds = %invoke_catch.1, %invoke_catch.0
- %dbg.0.1 = phi { }* [ null, %invoke_catch.1 ], [ null, %invoke_catch.0 ] ; <{ }*> [#uses=1]
- unreachable
+terminate: ; preds = %invoke_catch.1, %invoke_catch.0
+ %dbg.0.1 = phi { }* [ null, %invoke_catch.1 ], [ null, %invoke_catch.0 ] ; <{ }*> [#uses=0]
+ unreachable
}
+
diff --git a/test/Transforms/ADCE/adcetest.ll b/test/Transforms/ADCE/adcetest.ll
index f0d78433af..cb14eea9b3 100644
--- a/test/Transforms/ADCE/adcetest.ll
+++ b/test/Transforms/ADCE/adcetest.ll
@@ -1,34 +1,36 @@
; This is the test case taken from Appel's book that illustrates a hard case
; that SCCP gets right, and when followed by ADCE, is completely eliminated
;
-; RUN: llvm-upgrade < %s | llvm-as | opt -sccp -adce -simplifycfg | llvm-dis | not grep br
+; RUN: llvm-as < %s | opt -sccp -adce -simplifycfg | llvm-dis | not grep br
-int "test function"(int %i0, int %j0) {
+define i32 @"test function"(i32 %i0, i32 %j0) {
BB1:
- br label %BB2
-BB2:
- %j2 = phi int [%j4, %BB7], [1, %BB1]
- %k2 = phi int [%k4, %BB7], [0, %BB1]
- %kcond = setlt int %k2, 100
- br bool %kcond, label %BB3, label %BB4
-
-BB3:
- %jcond = setlt int %j2, 20
- br bool %jcond, label %BB5, label %BB6
-
-BB4:
- ret int %j2
-
-BB5:
- %k3 = add int %k2, 1
- br label %BB7
-
-BB6:
- %k5 = add int %k2, 1
- br label %BB7
-
-BB7:
- %j4 = phi int [1, %BB5], [%k2, %BB6]
- %k4 = phi int [%k3, %BB5], [%k5, %BB6]
- br label %BB2
+ br label %BB2
+
+BB2: ; preds = %BB7, %BB1
+ %j2 = phi i32 [ %j4, %BB7 ], [ 1, %BB1 ] ; <i32> [#uses=2]
+ %k2 = phi i32 [ %k4, %BB7 ], [ 0, %BB1 ] ; <i32> [#uses=4]
+ %kcond = icmp slt i32 %k2, 100 ; <i1> [#uses=1]
+ br i1 %kcond, label %BB3, label %BB4
+
+BB3: ; preds = %BB2
+ %jcond = icmp slt i32 %j2, 20 ; <i1> [#uses=1]
+ br i1 %jcond, label %BB5, label %BB6
+
+BB4: ; preds = %BB2
+ ret i32 %j2
+
+BB5: ; preds = %BB3
+ %k3 = add i32 %k2, 1 ; <i32> [#uses=1]
+ br label %BB7
+
+BB6: ; preds = %BB3
+ %k5 = add i32 %k2, 1 ; <i32> [#uses=1]
+ br label %BB7
+
+BB7: ; preds = %BB6, %BB5
+ %j4 = phi i32 [ 1, %BB5 ], [ %k2, %BB6 ] ; <i32> [#uses=1]
+ %k4 = phi i32 [ %k3, %BB5 ], [ %k5, %BB6 ] ; <i32> [#uses=1]
+ br label %BB2
}
+
diff --git a/test/Transforms/ADCE/basictest.ll b/test/Transforms/ADCE/basictest.ll
index 6be744ef5e..22ff0f753b 100644
--- a/test/Transforms/ADCE/basictest.ll
+++ b/test/Transforms/ADCE/basictest.ll
@@ -1,14 +1,19 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -adce -simplifycfg | llvm-dis
+; RUN: llvm-as < %s | opt -adce -simplifycfg | llvm-dis
-int "Test"(int %A, int %B) {
+define i32 @Test(i32 %A, i32 %B) {
BB1:
- br label %BB4
-BB2:
- br label %BB3
-BB3:
- %ret = phi int [%X, %BB4], [%B, %BB2]
- ret int %ret
-BB4:
- %X = phi int [%A, %BB1]
- br label %BB3
+ br label %BB4
+
+BB2: ; No predecessors!
+ br label %BB3
+
+BB3: ; preds = %BB4, %BB2
+ %ret = phi i32 [ %X, %BB4 ], [ %B, %BB2 ] ; <i32> [#uses=1]
+ ret i32 %ret
+
+BB4: ; preds = %BB1
+ %X = phi i32 [ %A, %BB1 ] ; <i32> [#uses=1]
+ br label %BB3
}
+
+
diff --git a/test/Transforms/ADCE/basictest1.ll b/test/Transforms/ADCE/basictest1.ll
index 7d511e8f70..29f40deb9c 100644
--- a/test/Transforms/ADCE/basictest1.ll
+++ b/test/Transforms/ADCE/basictest1.ll
@@ -1,101 +1,97 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -adce -simplifycfg | llvm-dis
-
-%FILE = type { int, ubyte*, ubyte*, ubyte, ubyte, uint, uint, uint }
- %spec_fd_t = type { int, int, int, ubyte* }
-%__iob = uninitialized global [20 x %FILE] ; <[20 x %FILE]*> [#uses=1]
-%dbglvl = global int 4 ; <int*> [#uses=3]
-%spec_fd = uninitialized global [3 x %spec_fd_t] ; <[3 x %spec_fd_t]*> [#uses=4]
-%.LC9 = internal global [34 x sbyte] c"spec_read: fd=%d, > MAX_SPEC_FD!\0A\00" ; <[34 x sbyte]*> [#uses=1]
-%.LC10 = internal global [4 x sbyte] c"EOF\00" ; <[4 x sbyte]*> [#uses=1]
-%.LC11 = internal global [4 x sbyte] c"%d\0A\00" ; <[4 x sbyte]*> [#uses=1]
-%.LC12 = internal global [17 x sbyte] c"spec_getc: %d = \00" ; <[17 x sbyte]*> [#uses=1]
+; RUN: llvm-as < %s | opt -adce -simplifycfg | llvm-dis
+%FILE = type { i32, i8*, i8*, i8, i8, i32, i32, i32 }
+ %spec_fd_t = type { i32, i32, i32, i8* }
+@__iob = external global [20 x %FILE] ; <[20 x %FILE]*> [#uses=1]
+@dbglvl = global i32 4 ; <i32*> [#uses=3]
+@spec_fd = external global [3 x %spec_fd_t] ; <[3 x %spec_fd_t]*> [#uses=4]
+@.LC9 = internal global [34 x i8] c"spec_read: fd=%d, > MAX_SPEC_FD!\0A\00" ; <[34 x i8]*> [#uses=1]
+@.LC10 = internal global [4 x i8] c"EOF\00" ; <[4 x i8]*> [#uses=1]
+@.LC11 = internal global [4 x i8] c"%d\0A\00" ; <[4 x i8]*> [#uses=1]
+@.LC12 = internal global [17 x i8] c"spec_getc: %d = \00" ; <[17 x i8]*> [#uses=1]
-implementation ; Functions:
+declare i32 @fprintf(%FILE*, i8*, ...)
-declare int "fprintf"(%FILE*, sbyte*, ...)
+declare void @exit(i32)
-declare void "exit"(int)
+declare i32 @remove(i8*)
-declare int "remove"(sbyte*)
+declare i32 @fputc(i32, %FILE*)
-declare int "fputc"(int, %FILE*)
+declare i32 @fwrite(i8*, i32, i32, %FILE*)
-declare uint "fwrite"(sbyte*, uint, uint, %FILE*)
+declare void @perror(i8*)
-declare void "perror"(sbyte*)
+define i32 @spec_getc(i32 %fd) {
+ %reg109 = load i32* @dbglvl ; <i32> [#uses=1]
+ %cond266 = icmp sle i32 %reg109, 4 ; <i1> [#uses=1]
+ br i1 %cond266, label %bb3, label %bb2
-int "spec_getc"(int %fd) {
-; <label>:0 ;[#uses=0]
- %reg109 = load int* %dbglvl ; <int> [#uses=1]
- %cond266 = setle int %reg109, 4 ; <bool> [#uses=1]
- br bool %cond266, label %bb3, label %bb2
-
-bb2: ;[#uses=1]
- %cast273 = getelementptr [17 x sbyte]* %.LC12, long 0, long 0 ; <sbyte*> [#uses=0]
+bb2: ; preds = %0
+ %cast273 = getelementptr [17 x i8]* @.LC12, i64 0, i64 0 ; <i8*> [#uses=0]
br label %bb3
-bb3: ;[#uses=2]
- %cond267 = setle int %fd, 3 ; <bool> [#uses=1]
- br bool %cond267, label %bb5, label %bb4
+bb3: ; preds = %bb2, %0
+ %cond267 = icmp sle i32 %fd, 3 ; <i1> [#uses=1]
+ br i1 %cond267, label %bb5, label %bb4
-bb4: ;[#uses=2]
- %reg111 = getelementptr [20 x %FILE]* %__iob, long 0, long 1, uint 3 ; <ubyte*> [#uses=1]
- %cast274 = getelementptr [34 x sbyte]* %.LC9, long 0, long 0 ; <sbyte*> [#uses=0]
- %cast282 = cast ubyte* %reg111 to %FILE* ; <%FILE*> [#uses=0]
- call void %exit( int 1 )
+bb4: ; preds = %bb3
+ %reg111 = getelementptr [20 x %FILE]* @__iob, i64 0, i64 1, i32 3 ; <i8*> [#uses=1]
+ %cast274 = getelementptr [34 x i8]* @.LC9, i64 0, i64 0 ; <i8*> [#uses=0]
+ %cast282 = bitcast i8* %reg111 to %FILE* ; <%FILE*> [#uses=0]
+ call void @exit( i32 1 )
br label %UnifiedExitNode
-bb5: ;[#uses=1]
- %reg107-idxcast1 = cast int %fd to long ; <long> [#uses=2]
- %reg107-idxcast2 = cast int %fd to long ; <long> [#uses=1]
- %reg1311 = getelementptr [3 x %spec_fd_t]* %spec_fd, long 0, long %reg107-idxcast2 ; <%spec_fd_t*> [#uses=1]
- %idx1 = getelementptr [3 x %spec_fd_t]* %spec_fd, long 0, long %reg107-idxcast1, uint 2 ; <int> [#uses=3]
- %reg1321 = load int* %idx1
- %idx2 = getelementptr %spec_fd_t* %reg1311, long 0, uint 1 ; <int> [#uses=1]
- %reg1331 = load int* %idx2
- %cond270 = setlt int %reg1321, %reg1331 ; <bool> [#uses=1]
- br bool %cond270, label %bb9, label %bb6
-
-bb6: ;[#uses=1]
- %reg134 = load int* %dbglvl ; <int> [#uses=1]
- %cond271 = setle int %reg134, 4 ; <bool> [#uses=1]
- br bool %cond271, label %bb8, label %bb7
-
-bb7: ;[#uses=1]
- %cast277 = getelementptr [4 x sbyte]* %.LC10, long 0, long 0 ; <sbyte*> [#uses=0]
+bb5: ; preds = %bb3
+ %reg107-idxcast1 = sext i32 %fd to i64 ; <i64> [#uses=2]
+ %reg107-idxcast2 = sext i32 %fd to i64 ; <i64> [#uses=1]
+ %reg1311 = getelementptr [3 x %spec_fd_t]* @spec_fd, i64 0, i64 %reg107-idxcast2 ; <%spec_fd_t*> [#uses=1]
+ %idx1 = getelementptr [3 x %spec_fd_t]* @spec_fd, i64 0, i64 %reg107-idxcast1, i32 2 ; <i32*> [#uses=1]
+ %reg1321 = load i32* %idx1 ; <i32> [#uses=3]
+ %idx2 = getelementptr %spec_fd_t* %reg1311, i64 0, i32 1 ; <i32*> [#uses=1]
+ %reg1331 = load i32* %idx2 ; <i32> [#uses=1]
+ %cond270 = icmp slt i32 %reg1321, %reg1331 ; <i1> [#uses=1]
+ br i1 %cond270, label %bb9, label %bb6
+
+bb6: ; preds = %bb5
+ %reg134 = load i32* @dbglvl ; <i32> [#uses=1]
+ %cond271 = icmp sle i32 %reg134, 4 ; <i1> [#uses=1]
+ br i1 %cond271, label %bb8, label %bb7
+
+bb7: ; preds = %bb6
+ %cast277 = getelementptr [4 x i8]* @.LC10, i64 0, i64 0 ; <i8*> [#uses=0]
br label %bb8
-bb8: ;[#uses=3]
+bb8: ; preds = %bb7, %bb6
br label %UnifiedExitNode
-bb9: ;[#uses=1]
- %reg107-idxcast3 = cast int %fd to long ; <long> [#uses=1]
- %idx3 = getelementptr [3 x %spec_fd_t]* %spec_fd, long 0, long %reg107-idxcast3, uint 3 ; <ubyte*> [#uses=1]
- %reg1601 = load ubyte** %idx3
- %reg132-idxcast1 = cast int %reg1321 to long ; <long> [#uses=1]
- %idx4 = getelementptr ubyte* %reg1601, long %reg132-idxcast1 ; <ubyte> [#uses=2]
- %reg1621 = load ubyte* %idx4
- %cast108 = cast ubyte %reg1621 to long ; <long> [#uses=0]
- %reg157 = add int %reg1321, 1 ; <int> [#uses=1]
- %idx5 = getelementptr [3 x %spec_fd_t]* %spec_fd, long 0, long %reg107-idxcast1, uint 2
- store int %reg157, int* %idx5
- %reg163 = load int* %dbglvl ; <int> [#uses=1]
- %cond272 = setle int %reg163, 4 ; <bool> [#uses=1]
- br bool %cond272, label %bb11, label %bb10
-
-bb10: ;[#uses=1]
- %cast279 = getelementptr [4 x sbyte]* %.LC11, long 0, long 0 ; <sbyte*> [#uses=0]
+bb9: ; preds = %bb5
+ %reg107-idxcast3 = sext i32 %fd to i64 ; <i64> [#uses=1]
+ %idx3 = getelementptr [3 x %spec_fd_t]* @spec_fd, i64 0, i64 %reg107-idxcast3, i32 3 ; <i8**> [#uses=1]
+ %reg1601 = load i8** %idx3 ; <i8*> [#uses=1]
+ %reg132-idxcast1 = sext i32 %reg1321 to i64 ; <i64> [#uses=1]
+ %idx4 = getelementptr i8* %reg1601, i64 %reg132-idxcast1 ; <i8*> [#uses=1]
+ %reg1621 = load i8* %idx4 ; <i8> [#uses=2]
+ %cast108 = zext i8 %reg1621 to i64 ; <i64> [#uses=0]
+ %reg157 = add i32 %reg1321, 1 ; <i32> [#uses=1]
+ %idx5 = getelementptr [3 x %spec_fd_t]* @spec_fd, i64 0, i64 %reg107-idxcast1, i32 2 ; <i32*> [#uses=1]
+ store i32 %reg157, i32* %idx5
+ %reg163 = load i32* @dbglvl ; <i32> [#uses=1]
+ %cond272 = icmp sle i32 %reg163, 4 ; <i1> [#uses=1]
+ br i1 %cond272, label %bb11, label %bb10
+
+bb10: ; preds = %bb9
+ %cast279 = getelementptr [4 x i8]* @.LC11, i64 0, i64 0 ; <i8*> [#uses=0]
br label %bb11
-bb11: ;[#uses=3]
- %cast291 = cast ubyte %reg1621 to int ; <int> [#uses=1]
+bb11: ; preds = %bb10, %bb9
+ %cast291 = zext i8 %reg1621 to i32 ; <i32> [#uses=1]
br label %UnifiedExitNode
-UnifiedExitNode: ;[#uses=3]
- %UnifiedRetVal = phi int [ 42, %bb4 ], [ -1, %bb8 ], [ %cast291, %bb11 ] ; <int> [#uses=1]
- ret int %UnifiedRetVal
+UnifiedExitNode: ; preds = %bb11, %bb8, %bb4
+ %UnifiedRetVal = phi i32 [ 42, %bb4 ], [ -1, %bb8 ], [ %cast291, %bb11 ] ; <i32> [#uses=1]
+ ret i32 %UnifiedRetVal
}
-declare int "puts"(sbyte*)
+declare i32 @puts(i8*)
-declare int "printf"(sbyte*, ...)
+declare i32 @printf(i8*, ...)
diff --git a/test/Transforms/ADCE/basictest2.ll b/test/Transforms/ADCE/basictest2.ll
index 75b1d952b6..120e23352d 100644
--- a/test/Transforms/ADCE/basictest2.ll
+++ b/test/Transforms/ADCE/basictest2.ll
@@ -1,102 +1,97 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -adce -simplifycfg | llvm-dis
+; RUN: llvm-as < %s | opt -adce -simplifycfg | llvm-dis
+ %FILE = type { i32, i8*, i8*, i8, i8, i32, i32, i32 }
+ %spec_fd_t = type { i32, i32, i32, i8* }
+@__iob = external global [20 x %FILE] ; <[20 x %FILE]*> [#uses=1]
+@dbglvl = global i32 4 ; <i32*> [#uses=3]
+@spec_fd = external global [3 x %spec_fd_t] ; <[3 x %spec_fd_t]*> [#uses=4]
+@.LC9 = internal global [34 x i8] c"spec_read: fd=%d, > MAX_SPEC_FD!\0A\00" ; <[34 x i8]*> [#uses=1]
+@.LC10 = internal global [4 x i8] c"EOF\00" ; <[4 x i8]*> [#uses=1]
+@.LC11 = internal global [4 x i8] c"%d\0A\00" ; <[4 x i8]*> [#uses=1]
+@.LC12 = internal global [17 x i8] c"spec_getc: %d = \00" ; <[17 x i8]*> [#uses=1]
-%FILE = type { int, ubyte*, ubyte*, ubyte, ubyte, uint, uint, uint }
- %spec_fd_t = type { int, int, int, ubyte* }
-%__iob = uninitialized global [20 x %FILE] ; <[20 x %FILE]*> [#uses=1]
-%dbglvl = global int 4 ; <int*> [#uses=3]
-%spec_fd = uninitialized global [3 x %spec_fd_t] ; <[3 x %spec_fd_t]*> [#uses=4]
-%.LC9 = internal global [34 x sbyte] c"spec_read: fd=%d, > MAX_SPEC_FD!\0A\00" ; <[34 x sbyte]*> [#uses=1]
-%.LC10 = internal global [4 x sbyte] c"EOF\00" ; <[4 x sbyte]*> [#uses=1]
-%.LC11 = internal global [4 x sbyte] c"%d\0A\00" ; <[4 x sbyte]*> [#uses=1]
-%.LC12 = internal global [17 x sbyte] c"spec_getc: %d = \00" ; <[17 x sbyte]*> [#uses=1]
+declare i32 @fprintf(%FILE*, i8*, ...)
-implementation ; Functions:
+declare void @exit(i32)
-declare int "fprintf"(%FILE*, sbyte*, ...)
+declare i32 @remove(i8*)
-declare void "exit"(int)
+declare i32 @fputc(i32, %FILE*)
-declare int "remove"(sbyte*)
+declare i32 @fwrite(i8*, i32, i32, %FILE*)
-declare int "fputc"(int, %FILE*)
+declare void @perror(i8*)
-declare uint "fwrite"(sbyte*, uint, uint, %FILE*)
+define i32 @spec_getc(i32 %fd) {
+ %reg109 = load i32* @dbglvl ; <i32> [#uses=1]
+ %cond266 = icmp sle i32 %reg109, 4 ; <i1> [#uses=1]
+ br i1 %cond266, label %bb3, label %bb2
-declare void "perror"(sbyte*)
-
-int "spec_getc"(int %fd) {
-; <label>:0 ;[#uses=0]
- %reg109 = load int* %dbglvl ; <int> [#uses=1]
- %cond266 = setle int %reg109, 4 ; <bool> [#uses=1]
- br bool %cond266, label %bb3, label %bb2
-
-bb2: ;[#uses=1]
- %cast273 = getelementptr [17 x sbyte]* %.LC12, long 0, long 0 ; <sbyte*> [#uses=0]
+bb2: ; preds = %0
+ %cast273 = getelementptr [17 x i8]* @.LC12, i64 0, i64 0 ; <i8*> [#uses=0]
br label %bb3
-bb3: ;[#uses=2]
- %cond267 = setle int %fd, 3 ; <bool> [#uses=1]
-; br bool %cond267, label %bb5, label %bb4
+bb3: ; preds = %bb2, %0
+ %cond267 = icmp sle i32 %fd, 3 ; <i1> [#uses=0]
br label %bb5
-bb4: ;[#uses=2]
- %reg111 = getelementptr [20 x %FILE]* %__iob, long 0, long 1, uint 3 ; <ubyte*> [#uses=1]
- %cast274 = getelementptr [34 x sbyte]* %.LC9, long 0, long 0 ; <sbyte*> [#uses=0]
- %cast282 = cast ubyte* %reg111 to %FILE* ; <%FILE*> [#uses=0]
- call void %exit( int 1 )
+bb4: ; No predecessors!
+ %reg111 = getelementptr [20 x %FILE]* @__iob, i64 0, i64 1, i32 3 ; <i8*> [#uses=1]
+ %cast274 = getelementptr [34 x i8]* @.LC9, i64 0, i64 0 ; <i8*> [#uses=0]
+ %cast282 = bitcast i8* %reg111 to %FILE* ; <%FILE*> [#uses=0]
+ call void @exit( i32 1 )
br label %UnifiedExitNode
-bb5: ;[#uses=1]
- %reg107-idxcast1 = cast int %fd to long ; <long> [#uses=2]
- %reg107-idxcast2 = cast int %fd to long ; <long> [#uses=1]
- %reg1311 = getelementptr [3 x %spec_fd_t]* %spec_fd, long 0, long %reg107-idxcast2 ; <%spec_fd_t*> [#uses=1]
- %idx1 = getelementptr [3 x %spec_fd_t]* %spec_fd, long 0, long %reg107-idxcast1, uint 2 ; <int> [#uses=3]
- %reg1321 = load int* %idx1
- %idx2 = getelementptr %spec_fd_t* %reg1311, long 0, uint 1 ; <int> [#uses=1]
- %reg1331 = load int* %idx2
- %cond270 = setlt int %reg1321, %reg1331 ; <bool> [#uses=1]
- br bool %cond270, label %bb9, label %bb6
-
-bb6: ;[#uses=1]
- %reg134 = load int* %dbglvl ; <int> [#uses=1]
- %cond271 = setle int %reg134, 4 ; <bool> [#uses=1]
- br bool %cond271, label %bb8, label %bb7
-
-bb7: ;[#uses=1]
- %cast277 = getelementptr [4 x sbyte]* %.LC10, long 0, long 0 ; <sbyte*> [#uses=0]
+bb5: ; preds = %bb3
+ %reg107-idxcast1 = sext i32 %fd to i64 ; <i64> [#uses=2]
+ %reg107-idxcast2 = sext i32 %fd to i64 ; <i64> [#uses=1]
+ %reg1311 = getelementptr [3 x %spec_fd_t]* @spec_fd, i64 0, i64 %reg107-idxcast2 ; <%spec_fd_t*> [#uses=1]
+ %idx1 = getelementptr [3 x %spec_fd_t]* @spec_fd, i64 0, i64 %reg107-idxcast1, i32 2 ; <i32*> [#uses=1]
+ %reg1321 = load i32* %idx1 ; <i32> [#uses=3]
+ %idx2 = getelementptr %spec_fd_t* %reg1311, i64 0, i32 1 ; <i32*> [#uses=1]
+ %reg1331 = load i32* %idx2 ; <i32> [#uses=1]
+ %cond270 = icmp slt i32 %reg1321, %reg1331 ; <i1> [#uses=1]
+ br i1 %cond270, label %bb9, label %bb6
+
+bb6: ; preds = %bb5
+ %reg134 = load i32* @dbglvl ; <i32> [#uses=1]
+ %cond271 = icmp sle i32 %reg134, 4 ; <i1> [#uses=1]
+ br i1 %cond271, label %bb8, label %bb7
+
+bb7: ; preds = %bb6
+ %cast277 = getelementptr [4 x i8]* @.LC10, i64 0, i64 0 ; <i8*> [#uses=0]
br label %bb8
-bb8: ;[#uses=3]
+bb8: ; preds = %bb7, %bb6
br label %UnifiedExitNode
-bb9: ;[#uses=1]
- %reg107-idxcast3 = cast int %fd to long ; <uint> [#uses=1]
- %idx3 = getelementptr [3 x %spec_fd_t]* %spec_fd, long 0, long %reg107-idxcast3, uint 3 ; <ubyte*> [#uses=1]
- %reg1601 = load ubyte** %idx3
- %reg132-idxcast1 = cast int %reg1321 to long ; <long> [#uses=1]
- %idx4 = getelementptr ubyte* %reg1601, long %reg132-idxcast1 ; <ubyte> [#uses=2]
- %reg1621 = load ubyte* %idx4
- %cast108 = cast ubyte %reg1621 to long ; <long> [#uses=0]
- %reg157 = add int %reg1321, 1 ; <int> [#uses=1]
- %idx5 = getelementptr [3 x %spec_fd_t]* %spec_fd, long 0, long %reg107-idxcast1, uint 2
- store int %reg157, int* %idx5
- %reg163 = load int* %dbglvl ; <int> [#uses=1]
- %cond272 = setle int %reg163, 4 ; <bool> [#uses=1]
- br bool %cond272, label %bb11, label %bb10
-
-bb10: ;[#uses=1]
- %cast279 = getelementptr [4 x sbyte]* %.LC11, long 0, long 0 ; <sbyte*> [#uses=0]
+bb9: ; preds = %bb5
+ %reg107-idxcast3 = sext i32 %fd to i64 ; <i64> [#uses=1]
+ %idx3 = getelementptr [3 x %spec_fd_t]* @spec_fd, i64 0, i64 %reg107-idxcast3, i32 3 ; <i8**> [#uses=1]
+ %reg1601 = load i8** %idx3 ; <i8*> [#uses=1]
+ %reg132-idxcast1 = sext i32 %reg1321 to i64 ; <i64> [#uses=1]
+ %idx4 = getelementptr i8* %reg1601, i64 %reg132-idxcast1 ; <i8*> [#uses=1]
+ %reg1621 = load i8* %idx4 ; <i8> [#uses=2]
+ %cast108 = zext i8 %reg1621 to i64 ; <i64> [#uses=0]
+ %reg157 = add i32 %reg1321, 1 ; <i32> [#uses=1]
+ %idx5 = getelementptr [3 x %spec_fd_t]* @spec_fd, i64 0, i64 %reg107-idxcast1, i32 2 ; <i32*> [#uses=1]
+ store i32 %reg157, i32* %idx5
+ %reg163 = load i32* @dbglvl ; <i32> [#uses=1]
+ %cond272 = icmp sle i32 %reg163, 4 ; <i1> [#uses=1]
+ br i1 %cond272, label %bb11, label %bb10
+
+bb10: ; preds = %bb9
+ %cast279 = getelementptr [4 x i8]* @.LC11, i64 0, i64 0 ; <i8*> [#uses=0]
br label %bb11
-bb11: ;[#uses=3]
- %cast291 = cast ubyte %reg1621 to int ; <int> [#uses=1]
+bb11: ; preds = %bb10, %bb9
+ %cast291 = zext i8 %reg1621 to i32 ; <i32> [#uses=1]
br label %UnifiedExitNode
-UnifiedExitNode: ;[#uses=3]
- %UnifiedRetVal = phi int [ 42, %bb4 ], [ -1, %bb8 ], [ %cast291, %bb11 ] ; <int> [#uses=1]
- ret int %UnifiedRetVal
+UnifiedExitNode: ; preds = %bb11, %bb8, %bb4
+ %UnifiedRetVal = phi i32 [ 42, %bb4 ], [ -1, %bb8 ], [ %cast291, %bb11 ] ; <i32> [#uses=1]
+ ret i32 %UnifiedRetVal
}
-declare int "puts"(sbyte*)
+declare i32 @puts(i8*)
-declare int "printf"(sbyte*, ...)
+declare i32 @printf(i8*, ...)
diff --git a/test/Transforms/ADCE/dead-phi-edge.ll b/test/Transforms/ADCE/dead-phi-edge.ll
index a0c0705f33..844560181a 100644
--- a/test/Transforms/ADCE/dead-phi-edge.ll
+++ b/test/Transforms/ADCE/dead-phi-edge.ll
@@ -1,15 +1,17 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -adce | llvm-dis | not grep call
+; RUN: llvm-as < %s | opt -adce | llvm-dis | not grep call
; The call is not live just because the PHI uses the call retval!
-int %test(int %X) {
- br label %Done
+define i32 @test(i32 %X) {
+; <label>:0
+ br label %Done
-DeadBlock:
- %Y = call int %test(int 0)
- br label %Done
+DeadBlock: ; No predecessors!
+ %Y = call i32 @test( i32 0 ) ; <i32> [#uses=1]
+ br label %Done
-Done:
- %Z = phi int [%X, %0], [%Y, %DeadBlock]
- ret int %Z
+Done: ; preds = %DeadBlock, %0
+ %Z = phi i32 [ %X, %0 ], [ %Y, %DeadBlock ] ; <i32> [#uses=1]
+ ret i32 %Z
}
+
diff --git a/test/Transforms/ADCE/unreachable-function.ll b/test/Transforms/ADCE/unreachable-function.ll
index 0c10253300..86c55f5916 100644
--- a/test/Transforms/ADCE/unreachable-function.ll
+++ b/test/Transforms/ADCE/unreachable-function.ll
@@ -1,5 +1,5 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -adce -disable-output
+; RUN: llvm-as < %s | opt -adce -disable-output
-void %test() {
+define void @test() {
unreachable
}