diff options
author | Tanya Lattner <tonic@nondot.org> | 2008-03-01 09:15:35 +0000 |
---|---|---|
committer | Tanya Lattner <tonic@nondot.org> | 2008-03-01 09:15:35 +0000 |
commit | ec9a35a6f9143cfa325e0413cc297c48f627973a (patch) | |
tree | c1b0621415acc20f94152c51174d53fae3dbc8cc /test/Transforms/Inline | |
parent | ab3b77834c9232e4c13acb29afe1920b97c5a20b (diff) | |
download | external_llvm-ec9a35a6f9143cfa325e0413cc297c48f627973a.zip external_llvm-ec9a35a6f9143cfa325e0413cc297c48f627973a.tar.gz external_llvm-ec9a35a6f9143cfa325e0413cc297c48f627973a.tar.bz2 |
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/Inline')
26 files changed, 624 insertions, 625 deletions
diff --git a/test/Transforms/Inline/2003-09-14-InlineValue.ll b/test/Transforms/Inline/2003-09-14-InlineValue.ll index 48d5633..edc9b47 100644 --- a/test/Transforms/Inline/2003-09-14-InlineValue.ll +++ b/test/Transforms/Inline/2003-09-14-InlineValue.ll @@ -1,20 +1,21 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -inline -disable-output +; RUN: llvm-as < %s | opt -inline -disable-output -declare int %External() +declare i32 @External() -implementation - -internal int %Callee() { - %I = call int %External() - %J = add int %I, %I - ret int %J +define internal i32 @Callee() { + %I = call i32 @External( ) ; <i32> [#uses=2] + %J = add i32 %I, %I ; <i32> [#uses=1] + ret i32 %J } -int %Caller() { - %V = invoke int %Callee() to label %Ok except label %Bad -Ok: - ret int %V -Bad: - ret int 0 +define i32 @Caller() { + %V = invoke i32 @Callee( ) + to label %Ok unwind label %Bad ; <i32> [#uses=1] + +Ok: ; preds = %0 + ret i32 %V + +Bad: ; preds = %0 + ret i32 0 } diff --git a/test/Transforms/Inline/2003-09-22-PHINodeInlineFail.ll b/test/Transforms/Inline/2003-09-22-PHINodeInlineFail.ll index 6e4d1b3..d57aee0 100644 --- a/test/Transforms/Inline/2003-09-22-PHINodeInlineFail.ll +++ b/test/Transforms/Inline/2003-09-22-PHINodeInlineFail.ll @@ -1,17 +1,16 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -inline -disable-output -implementation +; RUN: llvm-as < %s | opt -inline -disable-output -int %main() { +define i32 @main() { entry: - invoke void %__main( ) - to label %LongJmpBlkPre except label %LongJmpBlkPre + invoke void @__main( ) + to label %LongJmpBlkPre unwind label %LongJmpBlkPre -LongJmpBlkPre: - %i.3 = phi uint [ 0, %entry ], [ 0, %entry] - ret int 0 +LongJmpBlkPre: ; preds = %entry, %entry + %i.3 = phi i32 [ 0, %entry ], [ 0, %entry ] ; <i32> [#uses=0] + ret i32 0 } -void %__main() { - ret void +define void @__main() { + ret void } diff --git a/test/Transforms/Inline/2003-09-22-PHINodesInExceptionDest.ll b/test/Transforms/Inline/2003-09-22-PHINodesInExceptionDest.ll index e73199c..d75999b 100644 --- a/test/Transforms/Inline/2003-09-22-PHINodesInExceptionDest.ll +++ b/test/Transforms/Inline/2003-09-22-PHINodesInExceptionDest.ll @@ -1,26 +1,25 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -inline -disable-output +; RUN: llvm-as < %s | opt -inline -disable-output -implementation - -int %main() { +define i32 @main() { entry: - invoke void %__main( ) - to label %Call2Invoke except label %LongJmpBlkPre + invoke void @__main( ) + to label %Call2Invoke unwind label %LongJmpBlkPre -Call2Invoke: - br label %LongJmpBlkPre +Call2Invoke: ; preds = %entry + br label %LongJmpBlkPre -LongJmpBlkPre: - %i.3 = phi uint [ 0, %entry ], [ 0, %Call2Invoke ] ; <uint> [#uses=0] - ret int 0 +LongJmpBlkPre: ; preds = %Call2Invoke, %entry + %i.3 = phi i32 [ 0, %entry ], [ 0, %Call2Invoke ] ; <i32> [#uses=0] + ret i32 0 } -void %__main() { - call void %__llvm_getGlobalCtors( ) - call void %__llvm_getGlobalDtors( ) - ret void +define void @__main() { + call void @__llvm_getGlobalCtors( ) + call void @__llvm_getGlobalDtors( ) + ret void } -declare void %__llvm_getGlobalCtors() +declare void @__llvm_getGlobalCtors() + +declare void @__llvm_getGlobalDtors() -declare void %__llvm_getGlobalDtors() diff --git a/test/Transforms/Inline/2003-09-22-PHINodesInNormalInvokeDest.ll b/test/Transforms/Inline/2003-09-22-PHINodesInNormalInvokeDest.ll index 774639b..09d516f 100644 --- a/test/Transforms/Inline/2003-09-22-PHINodesInNormalInvokeDest.ll +++ b/test/Transforms/Inline/2003-09-22-PHINodesInNormalInvokeDest.ll @@ -1,24 +1,23 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -inline -disable-output -implementation +; RUN: llvm-as < %s | opt -inline -disable-output -int %main() { +define i32 @main() { entry: - invoke void %__main( ) - to label %else except label %RethrowExcept + invoke void @__main( ) + to label %else unwind label %RethrowExcept -else: - %i.2 = phi int [ 36, %entry ], [ %i.2, %LJDecisionBB ] - br label %LJDecisionBB +else: ; preds = %LJDecisionBB, %entry + %i.2 = phi i32 [ 36, %entry ], [ %i.2, %LJDecisionBB ] ; <i32> [#uses=1] + br label %LJDecisionBB -LJDecisionBB: - br label %else +LJDecisionBB: ; preds = %else + br label %else -RethrowExcept: - ret int 0 +RethrowExcept: ; preds = %entry + ret i32 0 } -void %__main() { - ret void +define void @__main() { + ret void } diff --git a/test/Transforms/Inline/2003-10-13-AllocaDominanceProblem.ll b/test/Transforms/Inline/2003-10-13-AllocaDominanceProblem.ll index ca163ed..6b6cf06 100644 --- a/test/Transforms/Inline/2003-10-13-AllocaDominanceProblem.ll +++ b/test/Transforms/Inline/2003-10-13-AllocaDominanceProblem.ll @@ -1,19 +1,19 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -inline -disable-output +; RUN: llvm-as < %s | opt -inline -disable-output -implementation ; Functions: - -int %reload() { +define i32 @reload() { reloadentry: - br label %A -A: - call void %callee( ) - ret int 0 + br label %A + +A: ; preds = %reloadentry + call void @callee( ) + ret i32 0 } -internal void %callee() { +define internal void @callee() { entry: - %X = alloca sbyte, uint 0 - %Y = cast int 0 to uint - %Z = alloca sbyte, uint %Y - ret void + %X = alloca i8, i32 0 ; <i8*> [#uses=0] + %Y = bitcast i32 0 to i32 ; <i32> [#uses=1] + %Z = alloca i8, i32 %Y ; <i8*> [#uses=0] + ret void } + diff --git a/test/Transforms/Inline/2003-10-26-InlineInvokeExceptionDestPhi.ll b/test/Transforms/Inline/2003-10-26-InlineInvokeExceptionDestPhi.ll index 785a425..675454e 100644 --- a/test/Transforms/Inline/2003-10-26-InlineInvokeExceptionDestPhi.ll +++ b/test/Transforms/Inline/2003-10-26-InlineInvokeExceptionDestPhi.ll @@ -2,18 +2,19 @@ ; node in the exception destination, and the inlined function contains an ; unwind instruction. -; RUN: llvm-upgrade < %s | llvm-as | opt -inline -disable-output +; RUN: llvm-as < %s | opt -inline -disable-output -implementation - -linkonce void %foo() { - unwind +define linkonce void @foo() { + unwind } -int %test() { +define i32 @test() { BB1: - invoke void %foo() to label %Cont except label %Cont -Cont: - %A = phi int [ 0, %BB1], [0, %BB1] - ret int %A + invoke void @foo( ) + to label %Cont unwind label %Cont + +Cont: ; preds = %BB1, %BB1 + %A = phi i32 [ 0, %BB1 ], [ 0, %BB1 ] ; <i32> [#uses=1] + ret i32 %A } + diff --git a/test/Transforms/Inline/2004-04-15-InlineDeletesCall.ll b/test/Transforms/Inline/2004-04-15-InlineDeletesCall.ll index e1ecaed..8a2f8e2 100644 --- a/test/Transforms/Inline/2004-04-15-InlineDeletesCall.ll +++ b/test/Transforms/Inline/2004-04-15-InlineDeletesCall.ll @@ -1,21 +1,20 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -inline -disable-output +; RUN: llvm-as < %s | opt -inline -disable-output ; Inlining the first call caused the inliner function to delete the second ; call. Then the inliner tries to inline the second call, which no longer ; exists. -implementation - -internal void %Callee1() { - unwind +define internal void @Callee1() { + unwind } -void %Callee2() { - ret void +define void @Callee2() { + ret void } -void %caller() { - call void %Callee1() - call void %Callee2() - ret void +define void @caller() { + call void @Callee1( ) + call void @Callee2( ) + ret void } + diff --git a/test/Transforms/Inline/2004-04-20-InlineLinkOnce.llx b/test/Transforms/Inline/2004-04-20-InlineLinkOnce.llx index 4fab1c9..d9f09a0 100644 --- a/test/Transforms/Inline/2004-04-20-InlineLinkOnce.llx +++ b/test/Transforms/Inline/2004-04-20-InlineLinkOnce.llx @@ -1,12 +1,11 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -inline -prune-eh -disable-output +; RUN: llvm-as < %s | opt -inline -prune-eh -disable-output -implementation - -linkonce void %caller() { - call void %callee() - ret void +define linkonce void @caller() { + call void @callee( ) + ret void } -linkonce void %callee() { - ret void +define linkonce void @callee() { + ret void } + diff --git a/test/Transforms/Inline/2004-10-17-InlineFunctionWithoutReturn.ll b/test/Transforms/Inline/2004-10-17-InlineFunctionWithoutReturn.ll index 016fc5a..09666ec 100644 --- a/test/Transforms/Inline/2004-10-17-InlineFunctionWithoutReturn.ll +++ b/test/Transforms/Inline/2004-10-17-InlineFunctionWithoutReturn.ll @@ -1,10 +1,11 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -inline -disable-output +; RUN: llvm-as < %s | opt -inline -disable-output -int %test() { - unwind +define i32 @test() { + unwind } -int %caller() { - %X = call int %test() - ret int %X +define i32 @caller() { + %X = call i32 @test( ) ; <i32> [#uses=1] + ret i32 %X } + diff --git a/test/Transforms/Inline/2006-01-14-CallGraphUpdate.ll b/test/Transforms/Inline/2006-01-14-CallGraphUpdate.ll index cb92411..acdf6ab 100644 --- a/test/Transforms/Inline/2006-01-14-CallGraphUpdate.ll +++ b/test/Transforms/Inline/2006-01-14-CallGraphUpdate.ll @@ -1,26 +1,25 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -inline -prune-eh -disable-output +; RUN: llvm-as < %s | opt -inline -prune-eh -disable-output - "struct.std::__codecvt_abstract_base<char,char,__mbstate_t>" = type { "struct.std::locale::facet" } - "struct.std::basic_streambuf<wchar_t,std::char_traits<wchar_t> >" = type { int (...)**, int*, int*, int*, int*, int*, int*, "struct.std::locale" } - "struct.std::ios_base" = type { int (...)**, int, int, uint, uint, uint, "struct.std::ios_base::_Callback_list"*, "struct.std::ios_base::_Words", [8 x "struct.std::ios_base::_Words"], int, "struct.std::ios_base::_Words"*, "struct.std::locale" } - "struct.std::ios_base::_Callback_list" = type { "struct.std::ios_base::_Callback_list"*, void (uint, "struct.std::ios_base"*, int)*, int, int } - "struct.std::ios_base::_Words" = type { sbyte*, int } - "struct.std::locale" = type { "struct.std::locale::_Impl"* } - "struct.std::locale::_Impl" = type { int, "struct.std::locale::facet"**, uint, "struct.std::locale::facet"**, sbyte** } - "struct.std::locale::facet" = type { int (...)**, int } - "struct.std::ostreambuf_iterator<wchar_t,std::char_traits<wchar_t> >" = type { "struct.std::basic_streambuf<wchar_t,std::char_traits<wchar_t> >"*, int } + %"struct.std::__codecvt_abstract_base<char,char,__mbstate_t>" = type { %"struct.std::locale::facet" } + %"struct.std::basic_streambuf<wchar_t,std::char_traits<wchar_t> >" = type { i32 (...)**, i32*, i32*, i32*, i32*, i32*, i32*, %"struct.std::locale" } + %"struct.std::ios_base" = type { i32 (...)**, i32, i32, i32, i32, i32, %"struct.std::ios_base::_Callback_list"*, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, %"struct.std::ios_base::_Words"*, %"struct.std::locale" } + %"struct.std::ios_base::_Callback_list" = type { %"struct.std::ios_base::_Callback_list"*, void (i32, %"struct.std::ios_base"*, i32)*, i32, i32 } + %"struct.std::ios_base::_Words" = type { i8*, i32 } + %"struct.std::locale" = type { %"struct.std::locale::_Impl"* } + %"struct.std::locale::_Impl" = type { i32, %"struct.std::locale::facet"**, i32, %"struct.std::locale::facet"**, i8** } + %"struct.std::locale::facet" = type { i32 (...)**, i32 } + %"struct.std::ostreambuf_iterator<wchar_t,std::char_traits<wchar_t> >" = type { %"struct.std::basic_streambuf<wchar_t,std::char_traits<wchar_t> >"*, i32 } -implementation ; Functions: - -void %_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewl("struct.std::ostreambuf_iterator<wchar_t,std::char_traits<wchar_t> >"* %agg.result, "struct.std::__codecvt_abstract_base<char,char,__mbstate_t>"* %this, "struct.std::basic_streambuf<wchar_t,std::char_traits<wchar_t> >"* %__s.0__, int %__s.1__, "struct.std::ios_base"* %__io, int %__fill, int %__v) { +define void @_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewl(%"struct.std::ostreambuf_iterator<wchar_t,std::char_traits<wchar_t> >"* %agg.result, %"struct.std::__codecvt_abstract_base<char,char,__mbstate_t>"* %this, %"struct.std::basic_streambuf<wchar_t,std::char_traits<wchar_t> >"* %__s.0__, i32 %__s.1__, %"struct.std::ios_base"* %__io, i32 %__fill, i32 %__v) { entry: - tail call fastcc void %_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIlEES3_S3_RSt8ios_basewT_( ) - ret void + tail call fastcc void @_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIlEES3_S3_RSt8ios_basewT_( ) + ret void } -fastcc void %_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIlEES3_S3_RSt8ios_basewT_() { +define fastcc void @_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIlEES3_S3_RSt8ios_basewT_() { entry: - %tmp.38 = shl uint 0, ubyte 3 ; <uint> [#uses=1] - %tmp.39 = alloca sbyte, uint %tmp.38 ; <sbyte*> [#uses=0] - ret void + %tmp.38 = shl i32 0, 3 ; <i32> [#uses=1] + %tmp.39 = alloca i8, i32 %tmp.38 ; <i8*> [#uses=0] + ret void } + diff --git a/test/Transforms/Inline/2006-07-12-InlinePruneCGUpdate.ll b/test/Transforms/Inline/2006-07-12-InlinePruneCGUpdate.ll index 8429e7c..5215bec 100644 --- a/test/Transforms/Inline/2006-07-12-InlinePruneCGUpdate.ll +++ b/test/Transforms/Inline/2006-07-12-InlinePruneCGUpdate.ll @@ -1,13 +1,10 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -inline -prune-eh -disable-output +; RUN: llvm-as < %s | opt -inline -prune-eh -disable-output ; PR827 +@_ZTV8CRjii = internal global [1 x i32 (...)*] [ i32 (...)* @_ZN8CRjii12NlFeeEPN5Jr7sE ] ; <[1 x i32 (...)*]*> [#uses=0] -%_ZTV8CRjii = internal global [1 x int (...)*] [ int (...)* %_ZN8CRjii12NlFeeEPN5Jr7sE ] ; <[1 x int (...)*]*> [#uses=0] - -implementation ; Functions: - -internal int %_ZN8CRjii12NlFeeEPN5Jr7sE(...) { +define internal i32 @_ZN8CRjii12NlFeeEPN5Jr7sE(...) { entry: - br bool false, label %cond_true, label %cond_false179 + br i1 false, label %cond_true, label %cond_false179 cond_true: ; preds = %entry br label %bb9 @@ -16,7 +13,7 @@ bb: ; preds = %cond_true14 br label %bb9 bb9: ; preds = %bb, %cond_true - br bool false, label %cond_true14, label %cond_false + br i1 false, label %cond_true14, label %cond_false cond_true14: ; preds = %bb9 br label %bb @@ -34,7 +31,7 @@ bb17: ; preds = %cond_true29 br label %bb24 bb24: ; preds = %bb17, %bb15 - br bool false, label %cond_true29, label %cond_false30 + br i1 false, label %cond_true29, label %cond_false30 cond_true29: ; preds = %bb24 br label %bb17 @@ -52,7 +49,7 @@ bb34: ; preds = %cond_true46 br label %bb41 bb41: ; preds = %bb34, %bb32 - br bool false, label %cond_true46, label %cond_false47 + br i1 false, label %cond_true46, label %cond_false47 cond_true46: ; preds = %bb41 br label %bb34 @@ -70,7 +67,7 @@ bb51: ; preds = %cond_true63 br label %bb58 bb58: ; preds = %bb51, %bb49 - br bool false, label %cond_true63, label %cond_false64 + br i1 false, label %cond_true63, label %cond_false64 cond_true63: ; preds = %bb58 br label %bb51 @@ -88,7 +85,7 @@ bb68: ; preds = %cond_true81 br label %bb76 bb76: ; preds = %bb68, %bb66 - br bool false, label %cond_true81, label %cond_false82 + br i1 false, label %cond_true81, label %cond_false82 cond_true81: ; preds = %bb76 br label %bb68 @@ -106,7 +103,7 @@ bb86: ; preds = %cond_true99 br label %bb94 bb94: ; preds = %bb86, %bb84 - br bool false, label %cond_true99, label %cond_false100 + br i1 false, label %cond_true99, label %cond_false100 cond_true99: ; preds = %bb94 br label %bb86 @@ -124,7 +121,7 @@ bb104: ; preds = %cond_true117 br label %bb112 bb112: ; preds = %bb104, %bb102 - br bool false, label %cond_true117, label %cond_false118 + br i1 false, label %cond_true117, label %cond_false118 cond_true117: ; preds = %bb112 br label %bb104 @@ -142,7 +139,7 @@ bb122: ; preds = %cond_true135 br label %bb130 bb130: ; preds = %bb122, %bb120 - br bool false, label %cond_true135, label %cond_false136 + br i1 false, label %cond_true135, label %cond_false136 cond_true135: ; preds = %bb130 br label %bb122 @@ -157,11 +154,11 @@ bb138: ; preds = %cond_next137, %cond_false136 br label %bb148 bb140: ; preds = %cond_true153 - call fastcc void %_Zjrf1( ) + call fastcc void @_Zjrf1( ) br label %bb148 bb148: ; preds = %bb140, %bb138 - br bool false, label %cond_true153, label %cond_false154 + br i1 false, label %cond_true153, label %cond_false154 cond_true153: ; preds = %bb148 br label %bb140 @@ -179,7 +176,7 @@ bb158: ; preds = %cond_true171 br label %bb166 bb166: ; preds = %bb158, %bb156 - br bool false, label %cond_true171, label %cond_false172 + br i1 false, label %cond_true171, label %cond_false172 cond_true171: ; preds = %bb166 br label %bb158 @@ -206,10 +203,10 @@ cond_next180: ; preds = %cond_false179, %finally br label %return return: ; preds = %cond_next180 - ret int 0 + ret i32 0 } -internal fastcc void %_Zjrf2() { +define internal fastcc void @_Zjrf2() { entry: br label %bb3 @@ -217,9 +214,9 @@ bb: ; preds = %cond_true br label %bb3 bb3: ; preds = %bb, %entry - %tmp5 = load ubyte** null ; <ubyte*> [#uses=1] - %tmp = setne ubyte* null, %tmp5 ; <bool> [#uses=1] - br bool %tmp, label %cond_true, label %cond_false + %tmp5 = load i8** null ; <i8*> [#uses=1] + %tmp = icmp ne i8* null, %tmp5 ; <i1> [#uses=1] + br i1 %tmp, label %cond_true, label %cond_false cond_true: ; preds = %bb3 br label %bb @@ -237,16 +234,16 @@ return: ; preds = %bb6 ret void } -internal fastcc void %_Zjrf3() { +define internal fastcc void @_Zjrf3() { entry: - call fastcc void %_Zjrf2( ) + call fastcc void @_Zjrf2( ) br label %return return: ; preds = %entry ret void } -internal fastcc void %_Zjrf4() { +define internal fastcc void @_Zjrf4() { entry: br label %bb6 @@ -254,7 +251,7 @@ bb: ; preds = %cond_true br label %bb6 bb6: ; preds = %bb, %entry - br bool false, label %cond_true, label %cond_false + br i1 false, label %cond_true, label %cond_false cond_true: ; preds = %bb6 br label %bb @@ -266,10 +263,10 @@ cond_next: ; No predecessors! br label %bb8 bb8: ; preds = %cond_next, %cond_false - br bool false, label %cond_true9, label %cond_false12 + br i1 false, label %cond_true9, label %cond_false12 cond_true9: ; preds = %bb8 - call fastcc void %_Zjrf3( ) + call fastcc void @_Zjrf3( ) br label %cond_next13 cond_false12: ; preds = %bb8 @@ -282,25 +279,25 @@ return: ; preds = %cond_next13 ret void } -internal fastcc void %_Zjrf5() { +define internal fastcc void @_Zjrf5() { entry: - call fastcc void %_Zjrf4( ) + call fastcc void @_Zjrf4( ) br label %return return: ; preds = %entry ret void } -internal fastcc void %_Zjrf6() { +define internal fastcc void @_Zjrf6() { entry: - call fastcc void %_Zjrf5( ) + call fastcc void @_Zjrf5( ) br label %return return: ; preds = %entry ret void } -internal fastcc void %_Zjrf7() { +define internal fastcc void @_Zjrf7() { entry: br label %cleanup @@ -308,7 +305,7 @@ cleanup: ; preds = %entry br label %finally finally: ; preds = %cleanup - call fastcc void %_Zjrf6( ) + call fastcc void @_Zjrf6( ) br label %cleanup9 cleanup9: ; preds = %finally @@ -330,7 +327,7 @@ return: ; preds = %finally23 ret void } -internal fastcc void %_Zjrf11() { +define internal fastcc void @_Zjrf11() { entry: br label %bb7 @@ -338,7 +335,7 @@ bb: ; preds = %cond_true br label %bb7 bb7: ; preds = %bb, %entry - br bool false, label %cond_true, label %cond_false + br i1 false, label %cond_true, label %cond_false cond_true: ; preds = %bb7 br label %bb @@ -352,10 +349,10 @@ cond_next: ; No predecessors! bb9: ; preds = %cond_next, %cond_false br label %return ; No predecessors! - br bool false, label %cond_true12, label %cond_false15 + br i1 false, label %cond_true12, label %cond_false15 cond_true12: ; preds = %0 - call fastcc void %_Zjrf3( ) + call fastcc void @_Zjrf3( ) br label %cond_next16 cond_false15: ; preds = %0 @@ -368,30 +365,30 @@ return: ; preds = %cond_next16, %bb9 ret void } -internal fastcc void %_Zjrf9() { +define internal fastcc void @_Zjrf9() { entry: - call fastcc void %_Zjrf11( ) + call fastcc void @_Zjrf11( ) br label %return return: ; preds = %entry ret void } -internal fastcc void %_Zjrf10() { +define internal fastcc void @_Zjrf10() { entry: - call fastcc void %_Zjrf9( ) + call fastcc void @_Zjrf9( ) br label %return return: ; preds = %entry ret void } -internal fastcc void %_Zjrf8() { +define internal fastcc void @_Zjrf8() { entry: - br bool false, label %cond_true, label %cond_false201 + br i1 false, label %cond_true, label %cond_false201 cond_true: ; preds = %entry - br bool false, label %cond_true36, label %cond_false + br i1 false, label %cond_true36, label %cond_false cond_true36: ; preds = %cond_true br label %cleanup @@ -403,7 +400,7 @@ finally: ; preds = %cleanup br label %cond_next189 cond_false: ; preds = %cond_true - br bool false, label %cond_true99, label %cond_false137 + br i1 false, label %cond_true99, label %cond_false137 cond_true99: ; preds = %cond_false br label %cleanup136 @@ -415,7 +412,7 @@ finally135: ; preds = %cleanup136 br label %cond_next cond_false137: ; preds = %cond_false - call fastcc void %_Zjrf10( ) + call fastcc void @_Zjrf10( ) br label %cleanup188 cleanup188: ; preds = %cond_false137 @@ -440,7 +437,7 @@ return: ; preds = %cond_next202 ret void } -internal fastcc void %_Zjrf1() { +define internal fastcc void @_Zjrf1() { entry: br label %bb492 @@ -457,7 +454,7 @@ cleanup11: ; preds = %finally br label %finally10 finally10: ; preds = %cleanup11 - br bool false, label %cond_true, label %cond_false286 + br i1 false, label %cond_true, label %cond_false286 cond_true: ; preds = %finally10 br label %cleanup26 @@ -472,7 +469,7 @@ bb27: ; preds = %cond_true37 br label %bb30 bb30: ; preds = %bb27, %finally25 - br bool false, label %cond_true37, label %cond_false + br i1 false, label %cond_true37, label %cond_false cond_true37: ; preds = %bb30 br label %bb27 @@ -490,7 +487,7 @@ bb40: ; preds = %cond_true156 br label %bb139 bb41: ; preds = %cond_true142 - call fastcc void %_Zjrf7( ) + call fastcc void @_Zjrf7( ) br label %bb105 bb44: ; preds = %cond_true112 @@ -500,7 +497,7 @@ bb66: ; preds = %cond_true80 br label %bb74 bb74: ; preds = %bb66, %bb44 - br bool false, label %cond_true80, label %cond_false81 + br i1 false, label %cond_true80, label %cond_false81 cond_true80: ; preds = %bb74 br label %bb66 @@ -527,7 +524,7 @@ finally98: ; preds = %cleanup99 br label %bb105 bb105: ; preds = %finally98, %bb41 - br bool false, label %cond_true112, label %cond_false113 + br i1 false, label %cond_true112, label %cond_false113 cond_true112: ; preds = %bb105 br label %bb44 @@ -539,17 +536,17 @@ cond_next114: ; No predecessors! br label %bb115 bb115: ; preds = %cond_next114, %cond_false113 - br bool false, label %cond_true119, label %cond_false123 + br i1 false, label %cond_true119, label %cond_false123 cond_true119: ; preds = %bb115 - call fastcc void %_Zjrf8( ) + call fastcc void @_Zjrf8( ) br label %cond_next124 cond_false123: ; preds = %bb115 br label %cond_next124 cond_next124: ; preds = %cond_false123, %cond_true119 - br bool false, label %cond_true131, label %cond_false132 + br i1 false, label %cond_true131, label %cond_false132 cond_true131: ; preds = %cond_next124 br label %cleanup135 @@ -570,7 +567,7 @@ finally134: ; preds = %cleanup136 br label %bb139 bb139: ; preds = %finally134, %bb40 - br bool false, label %cond_true142, label %cond_false143 + br i1 false, label %cond_true142, label %cond_false143 cond_true142: ; preds = %bb139 br label %bb41 @@ -585,7 +582,7 @@ bb145: ; preds = %cond_next144, %cond_false143 br label %bb148 bb148: ; preds = %bb145, %bb38 - br bool false, label %cond_true156, label %cond_false157 + br i1 false, label %cond_true156, label %cond_false157 cond_true156: ; preds = %bb148 br label %bb40 @@ -603,7 +600,7 @@ done: ; preds = %bb159, %cleanup135 br label %bb214 bb185: ; preds = %cond_true218 - br bool false, label %cond_true193, label %cond_false206 + br i1 false, label %cond_true193, label %cond_false206 cond_true193: ; preds = %bb185 br label %cond_next211 @@ -615,7 +612,7 @@ cond_next211: ; preds = %cond_false206, %cond_true193 br label %bb214 bb214: ; preds = %cond_next211, %done - br bool false, label %cond_true218, label %cond_false219 + br i1 false, label %cond_true218, label %cond_false219 cond_true218: ; preds = %bb214 br label %bb185 @@ -627,7 +624,7 @@ cond_next220: ; No predecessors! br label %bb221 bb221: ; preds = %cond_next220, %cond_false219 - br bool false, label %cond_true236, label %cond_false245 + br i1 false, label %cond_true236, label %cond_false245 cond_true236: ; preds = %bb221 br label %cond_next249 @@ -636,7 +633,7 @@ cond_false245: ; preds = %bb221 br label %cond_next249 cond_next249: ; preds = %cond_false245, %cond_true236 - br bool false, label %cond_true272, label %cond_false277 + br i1 false, label %cond_true272, label %cond_false277 cond_true272: ; preds = %cond_next249 br label %cond_next278 @@ -657,7 +654,7 @@ cond_false286: ; preds = %finally10 br label %cond_next287 cond_next287: ; preds = %cond_false286, %finally284 - br bool false, label %cond_true317, label %cond_false319 + br i1 false, label %cond_true317, label %cond_false319 cond_true317: ; preds = %cond_next287 br label %cond_next321 @@ -672,7 +669,7 @@ bb335: ; preds = %cond_true355 br label %bb348 bb348: ; preds = %bb335, %cond_next321 - br bool false, label %cond_true355, label %cond_false356 + br i1 false, label %cond_true355, label %cond_false356 cond_true355: ; preds = %bb348 br label %bb335 @@ -684,7 +681,7 @@ cond_next357: ; No predecessors! br label %bb358 bb358: ; preds = %cond_next357, %cond_false356 - br bool false, label %cond_true363, label %cond_false364 + br i1 false, label %cond_true363, label %cond_false364 cond_true363: ; preds = %bb358 br label %bb388 @@ -693,7 +690,7 @@ cond_false364: ; preds = %bb358 br label %cond_next365 cond_next365: ; preds = %cond_false364 - br bool false, label %cond_true370, label %cond_false371 + br i1 false, label %cond_true370, label %cond_false371 cond_true370: ; preds = %cond_next365 br label %bb388 @@ -702,7 +699,7 @@ cond_false371: ; preds = %cond_next365 br label %cond_next372 cond_next372: ; preds = %cond_false371 - br bool false, label %cond_true385, label %cond_false386 + br i1 false, label %cond_true385, label %cond_false386 cond_true385: ; preds = %cond_next372 br label %bb388 @@ -717,13 +714,13 @@ bb388: ; preds = %cond_true385, %cond_true370, %cond_true363 br label %bb389 bb389: ; preds = %bb388, %cond_next387 - br bool false, label %cond_true392, label %cond_false443 + br i1 false, label %cond_true392, label %cond_false443 cond_true392: ; preds = %bb389 br label %bb419 bb402: ; preds = %cond_true425 - br bool false, label %cond_true406, label %cond_false412 + br i1 false, label %cond_true406, label %cond_false412 cond_true406: ; preds = %bb402 br label %cond_next416 @@ -735,7 +732,7 @@ cond_next416: ; preds = %cond_false412, %cond_true406 br label %bb419 bb419: ; preds = %cond_next416, %cond_true392 - br bool false, label %cond_true425, label %cond_false426 + br i1 false, label %cond_true425, label %cond_false426 cond_true425: ; preds = %bb419 br label %bb402 @@ -756,7 +753,7 @@ bb450: ; preds = %cond_true466 br label %bb460 bb460: ; preds = %bb450, %cond_false443 - br bool false, label %cond_true466, label %cond_false467 + br i1 false, label %cond_true466, label %cond_false467 cond_true466: ; preds = %bb460 br label %bb450 @@ -792,7 +789,7 @@ finally488: ; preds = %cleanup489 br label %bb492 bb492: ; preds = %finally488, %entry - br bool false, label %cond_true499, label %cond_false500 + br i1 false, label %cond_true499, label %cond_false500 cond_true499: ; preds = %bb492 br label %bb @@ -810,7 +807,7 @@ return: ; preds = %bb502 ret void } -internal fastcc void %_ZSt26__unguarded_insertion_sortIN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEEEvT_S7_() { +define internal fastcc void @_ZSt26__unguarded_insertion_sortIN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEEEvT_S7_() { entry: br label %bb12 @@ -824,7 +821,7 @@ finally: ; preds = %cleanup br label %bb12 bb12: ; preds = %finally, %entry - br bool false, label %cond_true, label %cond_false + br i1 false, label %cond_true, label %cond_false cond_true: ; preds = %bb12 br label %bb diff --git a/test/Transforms/Inline/2006-11-09-InlineCGUpdate-2.ll b/test/Transforms/Inline/2006-11-09-InlineCGUpdate-2.ll index 705961b..bd2885d 100644 --- a/test/Transforms/Inline/2006-11-09-InlineCGUpdate-2.ll +++ b/test/Transforms/Inline/2006-11-09-InlineCGUpdate-2.ll @@ -1,138 +1,135 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -inline -prune-eh -disable-output +; RUN: llvm-as < %s | opt -inline -prune-eh -disable-output ; PR993 -target endian = little -target pointersize = 32 +target datalayout = "e-p:32:32" target triple = "i386-unknown-openbsd3.9" deplibs = [ "stdc++", "c", "crtend" ] - "struct.__gnu_cxx::__normal_iterator<char*,std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" = type { sbyte* } - "struct.__gnu_cxx::char_producer<char>" = type { int (...)** } - %struct.__sFILE = type { ubyte*, int, int, short, short, %struct.__sbuf, int, sbyte*, int (sbyte*)*, int (sbyte*, sbyte*, int)*, long (sbyte*, long, int)*, int (sbyte*, sbyte*, int)*, %struct.__sbuf, ubyte*, int, [3 x ubyte], [1 x ubyte], %struct.__sbuf, int, long } - %struct.__sbuf = type { ubyte*, int } - "struct.std::__basic_file<char>" = type { %struct.__sFILE*, bool } - "struct.std::__codecvt_abstract_base<char,char,__mbstate_t>" = type { "struct.std::locale::facet" } - "struct.std::bad_alloc" = type { "struct.__gnu_cxx::char_producer<char>" } - "struct.std::basic_filebuf<char,std::char_traits<char> >" = type { "struct.std::basic_streambuf<char,std::char_traits<char> >", int, "struct.std::__basic_file<char>", uint, %union.__mbstate_t, %union.__mbstate_t, sbyte*, uint, bool, bool, bool, bool, sbyte, sbyte*, sbyte*, bool, "struct.std::codecvt<char,char,__mbstate_t>"*, sbyte*, int, sbyte*, sbyte* } - "struct.std::basic_ios<char,std::char_traits<char> >" = type { "struct.std::ios_base", "struct.std::basic_ostream<char,std::char_traits<char> >"*, sbyte, bool, "struct.std::basic_streambuf<char,std::char_traits<char> >"*, "struct.std::ctype<char>"*, "struct.std::__codecvt_abstract_base<char,char,__mbstate_t>"*, "struct.std::__codecvt_abstract_base<char,char,__mbstate_t>"* } - "struct.std::basic_iostream<char,std::char_traits<char> >" = type { "struct.std::locale::facet", "struct.__gnu_cxx::char_producer<char>", "struct.std::basic_ios<char,std::char_traits<char> >" } - "struct.std::basic_ofstream<char,std::char_traits<char> >" = type { "struct.__gnu_cxx::char_producer<char>", "struct.std::basic_filebuf<char,std::char_traits<char> >", "struct.std::basic_ios<char,std::char_traits<char> >" } - "struct.std::basic_ostream<char,std::char_traits<char> >" = type { int (...)**, "struct.std::basic_ios<char,std::char_traits<char> >" } - "struct.std::basic_streambuf<char,std::char_traits<char> >" = type { int (...)**, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, "struct.std::locale" } - "struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >" = type { "struct.__gnu_cxx::__normal_iterator<char*,std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" } - "struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Rep" = type { "struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Rep_base" } - "struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Rep_base" = type { uint, uint, int } - "struct.std::codecvt<char,char,__mbstate_t>" = type { "struct.std::__codecvt_abstract_base<char,char,__mbstate_t>", int* } - "struct.std::ctype<char>" = type { "struct.std::__codecvt_abstract_base<char,char,__mbstate_t>", int*, bool, int*, int*, uint* } - "struct.std::domain_error" = type { "struct.std::logic_error" } - "struct.std::ios_base" = type { int (...)**, int, int, uint, uint, uint, "struct.std::ios_base::_Callback_list"*, "struct.std::ios_base::_Words", [8 x "struct.std::ios_base::_Words"], int, "struct.std::ios_base::_Words"*, "struct.std::locale" } - "struct.std::ios_base::_Callback_list" = type { "struct.std::ios_base::_Callback_list"*, void (uint, "struct.std::ios_base"*, int)*, int, int } - "struct.std::ios_base::_Words" = type { sbyte*, int } - "struct.std::locale" = type { "struct.std::locale::_Impl"* } - "struct.std::locale::_Impl" = type { int, "struct.std::locale::facet"**, uint, "struct.std::locale::facet"**, sbyte** } - "struct.std::locale::facet" = type { int (...)**, int } - "struct.std::logic_error" = type { "struct.__gnu_cxx::char_producer<char>", "struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >" } - %union.__mbstate_t = type { long, [120 x ubyte] } -%.str_1 = external global [17 x sbyte] ; <[17 x sbyte]*> [#uses=0] -%.str_9 = external global [24 x sbyte] ; <[24 x sbyte]*> [#uses=0] - -implementation ; Functions: - -void %main() { -entry: - call fastcc void %_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode( ) - ret void -} - -fastcc void %_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode() { -entry: - %tmp.6 = seteq "struct.std::basic_filebuf<char,std::char_traits<char> >"* null, null ; <bool> [#uses=1] - br bool %tmp.6, label %then, label %UnifiedReturnBlock + %"struct.__gnu_cxx::__normal_iterator<char*,std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" = type { i8* } + %"struct.__gnu_cxx::char_producer<char>" = type { i32 (...)** } + %struct.__sFILE = type { i8*, i32, i32, i16, i16, %struct.__sbuf, i32, i8*, i32 (i8*)*, i32 (i8*, i8*, i32)*, i64 (i8*, i64, i32)*, i32 (i8*, i8*, i32)*, %struct.__sbuf, i8*, i32, [3 x i8], [1 x i8], %struct.__sbuf, i32, i64 } + %struct.__sbuf = type { i8*, i32 } + %"struct.std::__basic_file<char>" = type { %struct.__sFILE*, i1 } + %"struct.std::__codecvt_abstract_base<char,char,__mbstate_t>" = type { %"struct.std::locale::facet" } + %"struct.std::bad_alloc" = type { %"struct.__gnu_cxx::char_producer<char>" } + %"struct.std::basic_filebuf<char,std::char_traits<char> >" = type { %"struct.std::basic_streambuf<char,std::char_traits<char> >", i32, %"struct.std::__basic_file<char>", i32, %union.__mbstate_t, %union.__mbstate_t, i8*, i32, i1, i1, i1, i1, i8, i8*, i8*, i1, %"struct.std::codecvt<char,char,__mbstate_t>"*, i8*, i32, i8*, i8* } + %"struct.std::basic_ios<char,std::char_traits<char> >" = type { %"struct.std::ios_base", %"struct.std::basic_ostream<char,std::char_traits<char> >"*, i8, i1, %"struct.std::basic_streambuf<char,std::char_traits<char> >"*, %"struct.std::ctype<char>"*, %"struct.std::__codecvt_abstract_base<char,char,__mbstate_t>"*, %"struct.std::__codecvt_abstract_base<char,char,__mbstate_t>"* } + %"struct.std::basic_iostream<char,std::char_traits<char> >" = type { %"struct.std::locale::facet", %"struct.__gnu_cxx::char_producer<char>", %"struct.std::basic_ios<char,std::char_traits<char> >" } + %"struct.std::basic_ofstream<char,std::char_traits<char> >" = type { %"struct.__gnu_cxx::char_producer<char>", %"struct.std::basic_filebuf<char,std::char_traits<char> >", %"struct.std::basic_ios<char,std::char_traits<char> >" } + %"struct.std::basic_ostream<char,std::char_traits<char> >" = type { i32 (...)**, %"struct.std::basic_ios<char,std::char_traits<char> >" } + %"struct.std::basic_streambuf<char,std::char_traits<char> >" = type { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, %"struct.std::locale" } + %"struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >" = type { %"struct.__gnu_cxx::__normal_iterator<char*,std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" } + %"struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Rep" = type { %"struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Rep_base" } + %"struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Rep_base" = type { i32, i32, i32 } + %"struct.std::codecvt<char,char,__mbstate_t>" = type { %"struct.std::__codecvt_abstract_base<char,char,__mbstate_t>", i32* } + %"struct.std::ctype<char>" = type { %"struct.std::__codecvt_abstract_base<char,char,__mbstate_t>", i32*, i1, i32*, i32*, i32* } + %"struct.std::domain_error" = type { %"struct.std::logic_error" } + %"struct.std::ios_base" = type { i32 (...)**, i32, i32, i32, i32, i32, %"struct.std::ios_base::_Callback_list"*, %struct.__sbuf, [8 x %struct.__sbuf], i32, %struct.__sbuf*, %"struct.std::locale" } + %"struct.std::ios_base::_Callback_list" = type { %"struct.std::ios_base::_Callback_list"*, void (i32, %"struct.std::ios_base"*, i32)*, i32, i32 } + %"struct.std::ios_base::_Words" = type { i8*, i32 } + %"struct.std::locale" = type { %"struct.std::locale::_Impl"* } + %"struct.std::locale::_Impl" = type { i32, %"struct.std::locale::facet"**, i32, %"struct.std::locale::facet"**, i8** } + %"struct.std::locale::facet" = type { i32 (...)**, i32 } + %"struct.std::logic_error" = type { %"struct.__gnu_cxx::char_producer<char>", %"struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >" } + %union.__mbstate_t = type { i64, [120 x i8] } +@.str_1 = external global [17 x i8] ; <[17 x i8]*> [#uses=0] +@.str_9 = external global [24 x i8] ; <[24 x i8]*> [#uses=0] + +define void @main() { +entry: + call fastcc void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode( ) + ret void +} + +define fastcc void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode() { +entry: + %tmp.6 = icmp eq %"struct.std::basic_filebuf<char,std::char_traits<char> >"* null, null ; <i1> [#uses=1] + br i1 %tmp.6, label %then, label %UnifiedReturnBlock then: ; preds = %entry - tail call fastcc void %_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate( ) + tail call fastcc void @_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate( ) ret void UnifiedReturnBlock: ; preds = %entry ret void } -fastcc void %_ZN10__cxxabiv111__terminateEPFvvE() { +define fastcc void @_ZN10__cxxabiv111__terminateEPFvvE() { entry: unreachable } -void %_ZNSdD0Ev() { +define void @_ZNSdD0Ev() { entry: unreachable } -void %_ZThn8_NSdD1Ev() { +define void @_ZThn8_NSdD1Ev() { entry: ret void } -void %_ZNSt13basic_filebufIcSt11char_traitsIcEED0Ev() { +define void @_ZNSt13basic_filebufIcSt11char_traitsIcEED0Ev() { entry: ret void } -void %_ZNSt13basic_filebufIcSt11char_traitsIcEE9pbackfailEi() { +define void @_ZNSt13basic_filebufIcSt11char_traitsIcEE9pbackfailEi() { entry: unreachable } -fastcc void %_ZNSoD2Ev() { +define fastcc void @_ZNSoD2Ev() { entry: unreachable } -fastcc void %_ZNSt9basic_iosIcSt11char_traitsIcEED2Ev() { +define fastcc void @_ZNSt9basic_iosIcSt11char_traitsIcEED2Ev() { entry: unreachable } -fastcc void %_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate() { +define fastcc void @_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate() { entry: - tail call fastcc void %_ZSt19__throw_ios_failurePKc( ) + tail call fastcc void @_ZSt19__throw_ios_failurePKc( ) ret void } -declare fastcc void %_ZNSaIcED1Ev() +declare fastcc void @_ZNSaIcED1Ev() -fastcc void %_ZNSsC1EPKcRKSaIcE() { +define fastcc void @_ZNSsC1EPKcRKSaIcE() { entry: - tail call fastcc void %_ZNSs16_S_construct_auxIPKcEEPcT_S3_RKSaIcE12__false_type( ) + tail call fastcc void @_ZNSs16_S_construct_auxIPKcEEPcT_S3_RKSaIcE12__false_type( ) unreachable } -fastcc void %_ZSt14__convert_to_vIyEvPKcRT_RSt12_Ios_IostateRKPii() { +define fastcc void @_ZSt14__convert_to_vIyEvPKcRT_RSt12_Ios_IostateRKPii() { entry: ret void } -fastcc void %_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej() { +define fastcc void @_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej() { entry: ret void } -fastcc void %_ZSt19__throw_ios_failurePKc() { +define fastcc void @_ZSt19__throw_ios_failurePKc() { entry: - call fastcc void %_ZNSsC1EPKcRKSaIcE( ) + call fastcc void @_ZNSsC1EPKcRKSaIcE( ) unwind } -void %_GLOBAL__D__ZSt23lexicographical_compareIPKaS1_EbT_S2_T0_S3_() { +define void @_GLOBAL__D__ZSt23lexicographical_compareIPKaS1_EbT_S2_T0_S3_() { entry: ret void } -void %_ZNSt9bad_allocD1Ev() { +define void @_ZNSt9bad_allocD1Ev() { entry: unreachable } -fastcc void %_ZSt19__throw_logic_errorPKc() { +define fastcc void @_ZSt19__throw_logic_errorPKc() { entry: - invoke fastcc void %_ZNSt11logic_errorC1ERKSs( ) + invoke fastcc void @_ZNSt11logic_errorC1ERKSs( ) to label %try_exit.0 unwind label %try_catch.0 try_catch.0: ; preds = %entry @@ -142,26 +139,26 @@ try_exit.0: ; preds = %entry unwind } -fastcc void %_ZNSt11logic_errorC1ERKSs() { +define fastcc void @_ZNSt11logic_errorC1ERKSs() { entry: - call fastcc void %_ZNSsC1ERKSs( ) + call fastcc void @_ZNSsC1ERKSs( ) ret void } -void %_ZNSt12domain_errorD1Ev() { +define void @_ZNSt12domain_errorD1Ev() { entry: unreachable } -fastcc void %_ZSt20__throw_length_errorPKc() { +define fastcc void @_ZSt20__throw_length_errorPKc() { entry: - call fastcc void %_ZNSt12length_errorC1ERKSs( ) + call fastcc void @_ZNSt12length_errorC1ERKSs( ) unwind } -fastcc void %_ZNSt12length_errorC1ERKSs() { +define fastcc void @_ZNSt12length_errorC1ERKSs() { entry: - invoke fastcc void %_ZNSsC1ERKSs( ) + invoke fastcc void @_ZNSsC1ERKSs( ) to label %_ZNSt11logic_errorC2ERKSs.exit unwind label %invoke_catch.i invoke_catch.i: ; preds = %entry @@ -171,78 +168,78 @@ _ZNSt11logic_errorC2ERKSs.exit: ; preds = %entry ret void } -fastcc void %_ZNSs4_Rep9_S_createEjRKSaIcE() { +define fastcc void @_ZNSs4_Rep9_S_createEjRKSaIcE() { entry: - call fastcc void %_ZSt20__throw_length_errorPKc( ) + call fastcc void @_ZSt20__throw_length_errorPKc( ) unreachable } -fastcc void %_ZNSs12_S_constructIN9__gnu_cxx17__normal_iteratorIPcSsEEEES2_T_S4_RKSaIcESt20forward_iterator_tag() { +define fastcc void @_ZNSs12_S_constructIN9__gnu_cxx17__normal_iteratorIPcSsEEEES2_T_S4_RKSaIcESt20forward_iterator_tag() { entry: unreachable } -fastcc void %_ZNSs16_S_construct_auxIPKcEEPcT_S3_RKSaIcE12__false_type() { +define fastcc void @_ZNSs16_S_construct_auxIPKcEEPcT_S3_RKSaIcE12__false_type() { entry: - br bool false, label %then.1.i, label %endif.1.i + br i1 false, label %then.1.i, label %endif.1.i then.1.i: ; preds = %entry - call fastcc void %_ZSt19__throw_logic_errorPKc( ) + call fastcc void @_ZSt19__throw_logic_errorPKc( ) br label %endif.1.i endif.1.i: ; preds = %then.1.i, %entry - call fastcc void %_ZNSs4_Rep9_S_createEjRKSaIcE( ) + call fastcc void @_ZNSs4_Rep9_S_createEjRKSaIcE( ) unreachable } -fastcc void %_ZNSsC1ERKSs() { +define fastcc void @_ZNSsC1ERKSs() { entry: - call fastcc void %_ZNSs4_Rep7_M_grabERKSaIcES2_( ) - invoke fastcc void %_ZNSaIcEC1ERKS_( ) + call fastcc void @_ZNSs4_Rep7_M_grabERKSaIcES2_( ) + invoke fastcc void @_ZNSaIcEC1ERKS_( ) to label %invoke_cont.1 unwind label %invoke_catch.1 invoke_catch.1: ; preds = %entry - call fastcc void %_ZNSaIcED1Ev( ) + call fastcc void @_ZNSaIcED1Ev( ) unwind invoke_cont.1: ; preds = %entry - call fastcc void %_ZNSaIcEC2ERKS_( ) + call fastcc void @_ZNSaIcEC2ERKS_( ) ret void } -fastcc void %_ZNSaIcEC1ERKS_() { +define fastcc void @_ZNSaIcEC1ERKS_() { entry: ret void } -fastcc void %_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_jc() { +define fastcc void @_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_jc() { entry: ret void } -fastcc void %_ZNSs4_Rep7_M_grabERKSaIcES2_() { +define fastcc void @_ZNSs4_Rep7_M_grabERKSaIcES2_() { entry: - br bool false, label %else.i, label %cond_true + br i1 false, label %else.i, label %cond_true cond_true: ; preds = %entry ret void else.i: ; preds = %entry - tail call fastcc void %_ZNSs4_Rep9_S_createEjRKSaIcE( ) + tail call fastcc void @_ZNSs4_Rep9_S_createEjRKSaIcE( ) unreachable } -fastcc void %_ZNSaIcEC2ERKS_() { +define fastcc void @_ZNSaIcEC2ERKS_() { entry: ret void } -fastcc void %_ZN9__gnu_cxx12__pool_allocILb1ELi0EE8allocateEj() { +define fastcc void @_ZN9__gnu_cxx12__pool_allocILb1ELi0EE8allocateEj() { entry: ret void } -fastcc void %_ZN9__gnu_cxx12__pool_allocILb1ELi0EE9_S_refillEj() { +define fastcc void @_ZN9__gnu_cxx12__pool_allocILb1ELi0EE9_S_refillEj() { entry: unreachable } diff --git a/test/Transforms/Inline/2006-11-09-InlineCGUpdate.ll b/test/Transforms/Inline/2006-11-09-InlineCGUpdate.ll index 1b137cf..05096f4 100644 --- a/test/Transforms/Inline/2006-11-09-InlineCGUpdate.ll +++ b/test/Transforms/Inline/2006-11-09-InlineCGUpdate.ll @@ -1,312 +1,308 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -inline -prune-eh -disable-output +; RUN: llvm-as < %s | opt -inline -prune-eh -disable-output ; PR992 target datalayout = "e-p:32:32" -target endian = little -target pointersize = 32 target triple = "i686-pc-linux-gnu" deplibs = [ "stdc++", "c", "crtend" ] - %struct._IO_FILE = type { int, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, %struct._IO_marker*, %struct._IO_FILE*, int, int, int, ushort, sbyte, [1 x sbyte], sbyte*, long, sbyte*, sbyte*, int, [52 x sbyte] } - %struct._IO_marker = type { %struct._IO_marker*, %struct._IO_FILE*, int } - "struct.__cxxabiv1::__array_type_info" = type { "struct.std::type_info" } - "struct.__cxxabiv1::__si_class_type_info" = type { "struct.__cxxabiv1::__array_type_info", "struct.__cxxabiv1::__array_type_info"* } - "struct.__gnu_cxx::_Rope_rep_alloc_base<char,std::allocator<char>, true>" = type { uint } - "struct.__gnu_cxx::__normal_iterator<char*,std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" = type { sbyte* } - "struct.__gnu_cxx::__normal_iterator<const wchar_t*,std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" = type { int* } - "struct.__gnu_cxx::char_producer<char>" = type { int (...)** } - "struct.__gnu_cxx::stdio_sync_filebuf<char,std::char_traits<char> >" = type { "struct.std::basic_streambuf<char,std::char_traits<char> >", %struct._IO_FILE*, int } - "struct.__gnu_cxx::stdio_sync_filebuf<wchar_t,std::char_traits<wchar_t> >" = type { "struct.std::basic_streambuf<wchar_t,std::char_traits<wchar_t> >", %struct._IO_FILE*, uint } - %struct.__locale_struct = type { [13 x %struct.locale_data*], ushort*, int*, int*, [13 x sbyte*] } - %struct.__mbstate_t = type { int, "struct.__gnu_cxx::_Rope_rep_alloc_base<char,std::allocator<char>, true>" } + %struct._IO_FILE = type { i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, %struct._IO_marker*, %struct._IO_FILE*, i32, i32, i32, i16, i8, [1 x i8], i8*, i64, i8*, i8*, i32, [52 x i8] } + %struct._IO_marker = type { %struct._IO_marker*, %struct._IO_FILE*, i32 } + %"struct.__cxxabiv1::__array_type_info" = type { %"struct.std::type_info" } + %"struct.__cxxabiv1::__si_class_type_info" = type { %"struct.__cxxabiv1::__array_type_info", %"struct.__cxxabiv1::__array_type_info"* } + %"struct.__gnu_cxx::_Rope_rep_alloc_base<char,std::allocator<char>, true>" = type { i32 } + %"struct.__gnu_cxx::__normal_iterator<char*,std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" = type { i8* } + %"struct.__gnu_cxx::__normal_iterator<const wchar_t*,std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" = type { i32* } + %"struct.__gnu_cxx::char_producer<char>" = type { i32 (...)** } + %"struct.__gnu_cxx::stdio_sync_filebuf<char,std::char_traits<char> >" = type { %"struct.std::basic_streambuf<char,std::char_traits<char> >", %struct._IO_FILE*, i32 } + %"struct.__gnu_cxx::stdio_sync_filebuf<wchar_t,std::char_traits<wchar_t> >" = type { %"struct.std::basic_streambuf<wchar_t,std::char_traits<wchar_t> >", %struct._IO_FILE*, i32 } + %struct.__locale_struct = type { [13 x %struct.locale_data*], i16*, i32*, i32*, [13 x i8*] } + %struct.__mbstate_t = type { i32, %"struct.__gnu_cxx::_Rope_rep_alloc_base<char,std::allocator<char>, true>" } %struct.locale_data = type opaque - "struct.std::__basic_file<char>" = type { %struct._IO_FILE*, bool } - "struct.std::__codecvt_abstract_base<char,char,__mbstate_t>" = type { "struct.std::locale::facet" } - "struct.std::basic_filebuf<char,std::char_traits<char> >" = type { "struct.std::basic_streambuf<char,std::char_traits<char> >", int, "struct.std::__basic_file<char>", uint, %struct.__mbstate_t, %struct.__mbstate_t, sbyte*, uint, bool, bool, bool, bool, sbyte, sbyte*, sbyte*, bool, "struct.std::codecvt<char,char,__mbstate_t>"*, sbyte*, int, sbyte*, sbyte* } - "struct.std::basic_filebuf<wchar_t,std::char_traits<wchar_t> >" = type { "struct.std::basic_streambuf<wchar_t,std::char_traits<wchar_t> >", int, "struct.std::__basic_file<char>", uint, %struct.__mbstate_t, %struct.__mbstate_t, int*, uint, bool, bool, bool, bool, int, int*, int*, bool, "struct.std::codecvt<char,char,__mbstate_t>"*, sbyte*, int, sbyte*, sbyte* } - "struct.std::basic_fstream<char,std::char_traits<char> >" = type { { "struct.std::locale::facet", "struct.__gnu_cxx::char_producer<char>" }, "struct.std::basic_filebuf<char,std::char_traits<char> >", "struct.std::basic_ios<char,std::char_traits<char> >" } - "struct.std::basic_fstream<wchar_t,std::char_traits<wchar_t> >" = type { { "struct.std::locale::facet", "struct.__gnu_cxx::char_producer<char>" }, "struct.std::basic_filebuf<wchar_t,std::char_traits<wchar_t> >", "struct.std::basic_ios<wchar_t,std::char_traits<wchar_t> >" } - "struct.std::basic_ios<char,std::char_traits<char> >" = type { "struct.std::ios_base", "struct.std::basic_ostream<char,std::char_traits<char> >"*, sbyte, bool, "struct.std::basic_streambuf<char,std::char_traits<char> >"*, "struct.std::ctype<char>"*, "struct.std::__codecvt_abstract_base<char,char,__mbstate_t>"*, "struct.std::__codecvt_abstract_base<char,char,__mbstate_t>"* } - "struct.std::basic_ios<wchar_t,std::char_traits<wchar_t> >" = type { "struct.std::ios_base", "struct.std::basic_ostream<wchar_t,std::char_traits<wchar_t> >"*, int, bool, "struct.std::basic_streambuf<wchar_t,std::char_traits<wchar_t> >"*, "struct.std::codecvt<char,char,__mbstate_t>"*, "struct.std::__codecvt_abstract_base<char,char,__mbstate_t>"*, "struct.std::__codecvt_abstract_base<char,char,__mbstate_t>"* } - "struct.std::basic_iostream<wchar_t,std::char_traits<wchar_t> >" = type { "struct.std::locale::facet", "struct.__gnu_cxx::char_producer<char>", "struct.std::basic_ios<wchar_t,std::char_traits<wchar_t> >" } - "struct.std::basic_ostream<char,std::char_traits<char> >" = type { int (...)**, "struct.std::basic_ios<char,std::char_traits<char> >" } - "struct.std::basic_ostream<wchar_t,std::char_traits<wchar_t> >" = type { int (...)**, "struct.std::basic_ios<wchar_t,std::char_traits<wchar_t> >" } - "struct.std::basic_streambuf<char,std::char_traits<char> >" = type { int (...)**, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, "struct.std::locale" } - "struct.std::basic_streambuf<wchar_t,std::char_traits<wchar_t> >" = type { int (...)**, int*, int*, int*, int*, int*, int*, "struct.std::locale" } - "struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >" = type { "struct.__gnu_cxx::__normal_iterator<char*,std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" } - "struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Rep" = type { "struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Rep_base" } - "struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Rep_base" = type { uint, uint, int } - "struct.std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >" = type { "struct.__gnu_cxx::__normal_iterator<const wchar_t*,std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" } - "struct.std::codecvt<char,char,__mbstate_t>" = type { "struct.std::__codecvt_abstract_base<char,char,__mbstate_t>", %struct.__locale_struct* } - "struct.std::collate<char>" = type { "struct.std::locale::facet", %struct.__locale_struct* } - "struct.std::collate_byname<char>" = type { "struct.std::collate<char>" } - "struct.std::ctype<char>" = type { "struct.std::__codecvt_abstract_base<char,char,__mbstate_t>", %struct.__locale_struct*, bool, int*, int*, ushort* } - "struct.std::ctype_byname<char>" = type { "struct.std::ctype<char>" } - "struct.std::domain_error" = type { "struct.std::logic_error" } - "struct.std::ios_base" = type { int (...)**, int, int, uint, uint, uint, "struct.std::ios_base::_Callback_list"*, "struct.std::ios_base::_Words", [8 x "struct.std::ios_base::_Words"], int, "struct.std::ios_base::_Words"*, "struct.std::locale" } - "struct.std::ios_base::_Callback_list" = type { "struct.std::ios_base::_Callback_list"*, void (uint, "struct.std::ios_base"*, int)*, int, int } - "struct.std::ios_base::_Words" = type { sbyte*, int } - "struct.std::istreambuf_iterator<char,std::char_traits<char> >" = type { "struct.std::basic_streambuf<char,std::char_traits<char> >"*, int } - "struct.std::istreambuf_iterator<wchar_t,std::char_traits<wchar_t> >" = type { "struct.std::basic_streambuf<wchar_t,std::char_traits<wchar_t> >"*, uint } - "struct.std::locale" = type { "struct.std::locale::_Impl"* } - "struct.std::locale::_Impl" = type { int, "struct.std::locale::facet"**, uint, "struct.std::locale::facet"**, sbyte** } - "struct.std::locale::facet" = type { int (...)**, int } - "struct.std::logic_error" = type { "struct.__gnu_cxx::char_producer<char>", "struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >" } - "struct.std::type_info" = type { int (...)**, sbyte* } -%.str_11 = external global [42 x sbyte] ; <[42 x sbyte]*> [#uses=0] -%.str_9 = external global [24 x sbyte] ; <[24 x sbyte]*> [#uses=0] -%.str_1 = external global [17 x sbyte] ; <[17 x sbyte]*> [#uses=0] - -implementation ; Functions: - -void %main() { -entry: - tail call fastcc void %_ZNSolsEi( ) - ret void -} - -fastcc void %_ZNSolsEi() { -entry: - %tmp.22 = seteq uint 0, 0 ; <bool> [#uses=1] - br bool %tmp.22, label %else, label %then + %"struct.std::__basic_file<char>" = type { %struct._IO_FILE*, i1 } + %"struct.std::__codecvt_abstract_base<char,char,__mbstate_t>" = type { %"struct.std::locale::facet" } + %"struct.std::basic_filebuf<char,std::char_traits<char> >" = type { %"struct.std::basic_streambuf<char,std::char_traits<char> >", i32, %"struct.std::__basic_file<char>", i32, %struct.__mbstate_t, %struct.__mbstate_t, i8*, i32, i1, i1, i1, i1, i8, i8*, i8*, i1, %"struct.std::codecvt<char,char,__mbstate_t>"*, i8*, i32, i8*, i8* } + %"struct.std::basic_filebuf<wchar_t,std::char_traits<wchar_t> >" = type { %"struct.std::basic_streambuf<wchar_t,std::char_traits<wchar_t> >", i32, %"struct.std::__basic_file<char>", i32, %struct.__mbstate_t, %struct.__mbstate_t, i32*, i32, i1, i1, i1, i1, i32, i32*, i32*, i1, %"struct.std::codecvt<char,char,__mbstate_t>"*, i8*, i32, i8*, i8* } + %"struct.std::basic_fstream<char,std::char_traits<char> >" = type { { %"struct.std::locale::facet", %"struct.__gnu_cxx::char_producer<char>" }, %"struct.std::basic_filebuf<char,std::char_traits<char> >", %"struct.std::basic_ios<char,std::char_traits<char> >" } + %"struct.std::basic_fstream<wchar_t,std::char_traits<wchar_t> >" = type { { %"struct.std::locale::facet", %"struct.__gnu_cxx::char_producer<char>" }, %"struct.std::basic_filebuf<wchar_t,std::char_traits<wchar_t> >", %"struct.std::basic_ios<wchar_t,std::char_traits<wchar_t> >" } + %"struct.std::basic_ios<char,std::char_traits<char> >" = type { %"struct.std::ios_base", %"struct.std::basic_ostream<char,std::char_traits<char> >"*, i8, i1, %"struct.std::basic_streambuf<char,std::char_traits<char> >"*, %"struct.std::ctype<char>"*, %"struct.std::__codecvt_abstract_base<char,char,__mbstate_t>"*, %"struct.std::__codecvt_abstract_base<char,char,__mbstate_t>"* } + %"struct.std::basic_ios<wchar_t,std::char_traits<wchar_t> >" = type { %"struct.std::ios_base", %"struct.std::basic_ostream<wchar_t,std::char_traits<wchar_t> >"*, i32, i1, %"struct.std::basic_streambuf<wchar_t,std::char_traits<wchar_t> >"*, %"struct.std::codecvt<char,char,__mbstate_t>"*, %"struct.std::__codecvt_abstract_base<char,char,__mbstate_t>"*, %"struct.std::__codecvt_abstract_base<char,char,__mbstate_t>"* } + %"struct.std::basic_iostream<wchar_t,std::char_traits<wchar_t> >" = type { %"struct.std::locale::facet", %"struct.__gnu_cxx::char_producer<char>", %"struct.std::basic_ios<wchar_t,std::char_traits<wchar_t> >" } + %"struct.std::basic_ostream<char,std::char_traits<char> >" = type { i32 (...)**, %"struct.std::basic_ios<char,std::char_traits<char> >" } + %"struct.std::basic_ostream<wchar_t,std::char_traits<wchar_t> >" = type { i32 (...)**, %"struct.std::basic_ios<wchar_t,std::char_traits<wchar_t> >" } + %"struct.std::basic_streambuf<char,std::char_traits<char> >" = type { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, %"struct.std::locale" } + %"struct.std::basic_streambuf<wchar_t,std::char_traits<wchar_t> >" = type { i32 (...)**, i32*, i32*, i32*, i32*, i32*, i32*, %"struct.std::locale" } + %"struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >" = type { %"struct.__gnu_cxx::__normal_iterator<char*,std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" } + %"struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Rep" = type { %"struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Rep_base" } + %"struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Rep_base" = type { i32, i32, i32 } + %"struct.std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >" = type { %"struct.__gnu_cxx::__normal_iterator<const wchar_t*,std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" } + %"struct.std::codecvt<char,char,__mbstate_t>" = type { %"struct.std::__codecvt_abstract_base<char,char,__mbstate_t>", %struct.__locale_struct* } + %"struct.std::collate<char>" = type { %"struct.std::locale::facet", %struct.__locale_struct* } + %"struct.std::collate_byname<char>" = type { %"struct.std::collate<char>" } + %"struct.std::ctype<char>" = type { %"struct.std::__codecvt_abstract_base<char,char,__mbstate_t>", %struct.__locale_struct*, i1, i32*, i32*, i16* } + %"struct.std::ctype_byname<char>" = type { %"struct.std::ctype<char>" } + %"struct.std::domain_error" = type { %"struct.std::logic_error" } + %"struct.std::ios_base" = type { i32 (...)**, i32, i32, i32, i32, i32, %"struct.std::ios_base::_Callback_list"*, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, %"struct.std::ios_base::_Words"*, %"struct.std::locale" } + %"struct.std::ios_base::_Callback_list" = type { %"struct.std::ios_base::_Callback_list"*, void (i32, %"struct.std::ios_base"*, i32)*, i32, i32 } + %"struct.std::ios_base::_Words" = type { i8*, i32 } + %"struct.std::istreambuf_iterator<char,std::char_traits<char> >" = type { %"struct.std::basic_streambuf<char,std::char_traits<char> >"*, i32 } + %"struct.std::istreambuf_iterator<wchar_t,std::char_traits<wchar_t> >" = type { %"struct.std::basic_streambuf<wchar_t,std::char_traits<wchar_t> >"*, i32 } + %"struct.std::locale" = type { %"struct.std::locale::_Impl"* } + %"struct.std::locale::_Impl" = type { i32, %"struct.std::locale::facet"**, i32, %"struct.std::locale::facet"**, i8** } + %"struct.std::locale::facet" = type { i32 (...)**, i32 } + %"struct.std::logic_error" = type { %"struct.__gnu_cxx::char_producer<char>", %"struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >" } + %"struct.std::type_info" = type { i32 (...)**, i8* } +@.str_11 = external global [42 x i8] ; <[42 x i8]*> [#uses=0] +@.str_9 = external global [24 x i8] ; <[24 x i8]*> [#uses=0] +@.str_1 = external global [17 x i8] ; <[17 x i8]*> [#uses=0] + +define void @main() { +entry: + tail call fastcc void @_ZNSolsEi( ) + ret void +} + +define fastcc void @_ZNSolsEi() { +entry: + %tmp.22 = icmp eq i32 0, 0 ; <i1> [#uses=1] + br i1 %tmp.22, label %else, label %then then: ; preds = %entry ret void else: ; preds = %entry - tail call fastcc void %_ZNSolsEl( ) + tail call fastcc void @_ZNSolsEl( ) ret void } -void %_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_() { +define void @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_() { entry: ret void } -fastcc void %_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate() { +define fastcc void @_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate() { entry: - tail call fastcc void %_ZSt19__throw_ios_failurePKc( ) + tail call fastcc void @_ZSt19__throw_ios_failurePKc( ) ret void } -fastcc void %_ZNSo3putEc() { +define fastcc void @_ZNSo3putEc() { entry: ret void } -fastcc void %_ZNSolsEl() { +define fastcc void @_ZNSolsEl() { entry: - %tmp.21.i = seteq "struct.std::basic_ostream<char,std::char_traits<char> >"* null, null ; <bool> [#uses=1] - br bool %tmp.21.i, label %endif.0.i, label %shortcirc_next.i + %tmp.21.i = icmp eq %"struct.std::basic_ostream<char,std::char_traits<char> >"* null, null ; <i1> [#uses=1] + br i1 %tmp.21.i, label %endif.0.i, label %shortcirc_next.i shortcirc_next.i: ; preds = %entry ret void endif.0.i: ; preds = %entry - call fastcc void %_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate( ) + call fastcc void @_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate( ) ret void } -fastcc void %_ZSt19__throw_ios_failurePKc() { +define fastcc void @_ZSt19__throw_ios_failurePKc() { entry: - call fastcc void %_ZNSsC1EPKcRKSaIcE( ) + call fastcc void @_ZNSsC1EPKcRKSaIcE( ) ret void } -fastcc void %_ZNSt8ios_baseD2Ev() { +define fastcc void @_ZNSt8ios_baseD2Ev() { entry: unreachable } -void %_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE5uflowEv() { +define void @_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE5uflowEv() { entry: unreachable } -void %_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEED1Ev() { +define void @_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEED1Ev() { entry: unreachable } -void %_ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPci() { +define void @_ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPci() { entry: ret void } -fastcc void %_ZSt9use_facetISt5ctypeIcEERKT_RKSt6locale() { +define fastcc void @_ZSt9use_facetISt5ctypeIcEERKT_RKSt6locale() { entry: ret void } -declare fastcc void %_ZNSaIcED1Ev() +declare fastcc void @_ZNSaIcED1Ev() -fastcc void %_ZSt19__throw_logic_errorPKc() { +define fastcc void @_ZSt19__throw_logic_errorPKc() { entry: - call fastcc void %_ZNSt11logic_errorC1ERKSs( ) + call fastcc void @_ZNSt11logic_errorC1ERKSs( ) ret void } -fastcc void %_ZNSs4_Rep9_S_createEjRKSaIcE() { +define fastcc void @_ZNSs4_Rep9_S_createEjRKSaIcE() { entry: - br bool false, label %then.0, label %endif.0 + br i1 false, label %then.0, label %endif.0 then.0: ; preds = %entry - call fastcc void %_ZSt20__throw_length_errorPKc( ) + call fastcc void @_ZSt20__throw_length_errorPKc( ) ret void endif.0: ; preds = %entry ret void } -fastcc void %_ZSt20__throw_length_errorPKc() { +define fastcc void @_ZSt20__throw_length_errorPKc() { entry: - call fastcc void %_ZNSt12length_errorC1ERKSs( ) + call fastcc void @_ZNSt12length_errorC1ERKSs( ) unwind } -fastcc void %_ZNSs16_S_construct_auxIPKcEEPcT_S3_RKSaIcE12__false_type() { +define fastcc void @_ZNSs16_S_construct_auxIPKcEEPcT_S3_RKSaIcE12__false_type() { entry: - br bool false, label %then.1.i, label %endif.1.i + br i1 false, label %then.1.i, label %endif.1.i then.1.i: ; preds = %entry - call fastcc void %_ZSt19__throw_logic_errorPKc( ) + call fastcc void @_ZSt19__throw_logic_errorPKc( ) ret void endif.1.i: ; preds = %entry - call fastcc void %_ZNSs4_Rep9_S_createEjRKSaIcE( ) + call fastcc void @_ZNSs4_Rep9_S_createEjRKSaIcE( ) unreachable } -fastcc void %_ZNSsC1ERKSs() { +define fastcc void @_ZNSsC1ERKSs() { entry: - call fastcc void %_ZNSs4_Rep7_M_grabERKSaIcES2_( ) - invoke fastcc void %_ZNSaIcEC1ERKS_( ) + call fastcc void @_ZNSs4_Rep7_M_grabERKSaIcES2_( ) + invoke fastcc void @_ZNSaIcEC1ERKS_( ) to label %invoke_cont.1 unwind label %invoke_catch.1 invoke_catch.1: ; preds = %entry - call fastcc void %_ZNSaIcED1Ev( ) + call fastcc void @_ZNSaIcED1Ev( ) unwind invoke_cont.1: ; preds = %entry - call fastcc void %_ZNSaIcEC2ERKS_( ) + call fastcc void @_ZNSaIcEC2ERKS_( ) ret void } -fastcc void %_ZNSs7reserveEj() { +define fastcc void @_ZNSs7reserveEj() { entry: ret void } -fastcc void %_ZNSaIcEC1ERKS_() { +define fastcc void @_ZNSaIcEC1ERKS_() { entry: ret void } -fastcc void %_ZNSs4_Rep7_M_grabERKSaIcES2_() { +define fastcc void @_ZNSs4_Rep7_M_grabERKSaIcES2_() { entry: - br bool false, label %else.i, label %cond_true + br i1 false, label %else.i, label %cond_true cond_true: ; preds = %entry ret void else.i: ; preds = %entry - tail call fastcc void %_ZNSs4_Rep9_S_createEjRKSaIcE( ) + tail call fastcc void @_ZNSs4_Rep9_S_createEjRKSaIcE( ) ret void } -fastcc void %_ZNSsC1EPKcRKSaIcE() { +define fastcc void @_ZNSsC1EPKcRKSaIcE() { entry: - tail call fastcc void %_ZNSs16_S_construct_auxIPKcEEPcT_S3_RKSaIcE12__false_type( ) + tail call fastcc void @_ZNSs16_S_construct_auxIPKcEEPcT_S3_RKSaIcE12__false_type( ) unreachable } -fastcc void %_ZNSaIcEC2ERKS_() { +define fastcc void @_ZNSaIcEC2ERKS_() { entry: ret void } -void %_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev() { +define void @_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev() { entry: unreachable } -void %_ZNSt14collate_bynameIcED1Ev() { +define void @_ZNSt14collate_bynameIcED1Ev() { entry: unreachable } -void %_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy() { +define void @_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy() { entry: ret void } -void %_ZNSt23__codecvt_abstract_baseIcc11__mbstate_tED1Ev() { +define void @_ZNSt23__codecvt_abstract_baseIcc11__mbstate_tED1Ev() { entry: unreachable } -void %_ZNSt12ctype_bynameIcED0Ev() { +define void @_ZNSt12ctype_bynameIcED0Ev() { entry: unreachable } -fastcc void %_ZNSt8messagesIwEC1Ej() { +define fastcc void @_ZNSt8messagesIwEC1Ej() { entry: ret void } -fastcc void %_ZSt14__convert_to_vIlEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi() { +define fastcc void @_ZSt14__convert_to_vIlEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi() { entry: ret void } -fastcc void %_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej() { +define fastcc void @_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej() { entry: ret void } -fastcc void %_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej() { +define fastcc void @_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej() { entry: ret void } -fastcc void %_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs() { +define fastcc void @_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs() { entry: unreachable } -fastcc void %_ZNSbIwSt11char_traitsIwESaIwEE4swapERS2_() { +define fastcc void @_ZNSbIwSt11char_traitsIwESaIwEE4swapERS2_() { entry: ret void } -void %_ZNSt14basic_iostreamIwSt11char_traitsIwEED0Ev() { +define void @_ZNSt14basic_iostreamIwSt11char_traitsIwEED0Ev() { entry: unreachable } -void %_ZNSt15basic_streambufIcSt11char_traitsIcEE9showmanycEv() { +define void @_ZNSt15basic_streambufIcSt11char_traitsIcEE9showmanycEv() { entry: ret void } -void %_ZNSt9exceptionD0Ev() { +define void @_ZNSt9exceptionD0Ev() { entry: unreachable } -fastcc void %_ZNSt11logic_errorC1ERKSs() { +define fastcc void @_ZNSt11logic_errorC1ERKSs() { entry: - call fastcc void %_ZNSsC1ERKSs( ) + call fastcc void @_ZNSsC1ERKSs( ) ret void } -fastcc void %_ZNSt11logic_errorD2Ev() { +define fastcc void @_ZNSt11logic_errorD2Ev() { entry: unreachable } -fastcc void %_ZNSt12length_errorC1ERKSs() { +define fastcc void @_ZNSt12length_errorC1ERKSs() { entry: - invoke fastcc void %_ZNSsC1ERKSs( ) + invoke fastcc void @_ZNSsC1ERKSs( ) to label %_ZNSt11logic_errorC2ERKSs.exit unwind label %invoke_catch.i invoke_catch.i: ; preds = %entry @@ -316,27 +312,27 @@ _ZNSt11logic_errorC2ERKSs.exit: ; preds = %entry ret void } -void %_ZNK10__cxxabiv120__si_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_() { +define void @_ZNK10__cxxabiv120__si_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_() { entry: ret void } -fastcc void %_ZNSbIwSt11char_traitsIwESaIwEE16_S_construct_auxIPKwEEPwT_S7_RKS1_12__false_type() { +define fastcc void @_ZNSbIwSt11char_traitsIwESaIwEE16_S_construct_auxIPKwEEPwT_S7_RKS1_12__false_type() { entry: ret void } -void %_ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev() { +define void @_ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev() { entry: ret void } -void %_ZNSt13basic_fstreamIcSt11char_traitsIcEED1Ev() { +define void @_ZNSt13basic_fstreamIcSt11char_traitsIcEED1Ev() { entry: unreachable } -fastcc void %_ZNSt5ctypeIcEC1EPKtbj() { +define fastcc void @_ZNSt5ctypeIcEC1EPKtbj() { entry: ret void } diff --git a/test/Transforms/Inline/alloca_test.ll b/test/Transforms/Inline/alloca_test.ll index 35ded4f..1fbd095 100644 --- a/test/Transforms/Inline/alloca_test.ll +++ b/test/Transforms/Inline/alloca_test.ll @@ -1,20 +1,21 @@ ; This test ensures that alloca instructions in the entry block for an inlined ; function are moved to the top of the function they are inlined into. ; -; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | %prcontext alloca 1 | grep Entry: +; RUN: llvm-as < %s | opt -inline | llvm-dis | %prcontext alloca 1 | grep Entry: -int %func(int %i) { - %X = alloca int - store int %i, int* %X - ret int %i +define i32 @func(i32 %i) { + %X = alloca i32 ; <i32*> [#uses=1] + store i32 %i, i32* %X + ret i32 %i } -declare void %bar() +declare void @bar() -int %main(int %argc) { +define i32 @main(i32 %argc) { Entry: - call void %bar() - %X = call int %func(int 7) - %Y = add int %X, %argc - ret int %Y + call void @bar( ) + %X = call i32 @func( i32 7 ) ; <i32> [#uses=1] + %Y = add i32 %X, %argc ; <i32> [#uses=1] + ret i32 %Y } + diff --git a/test/Transforms/Inline/basictest.ll b/test/Transforms/Inline/basictest.ll index 30d87b2..f34d164 100644 --- a/test/Transforms/Inline/basictest.ll +++ b/test/Transforms/Inline/basictest.ll @@ -1,11 +1,12 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -inline -disable-output -print +; RUN: llvm-as < %s | opt -inline -disable-output -print -int %func(int %i) { - ret int %i +define i32 @func(i32 %i) { + ret i32 %i } -int %main(int %argc) { - %X = call int %func(int 7) - %Y = add int %X, %argc - ret int %Y +define i32 @main(i32 %argc) { + %X = call i32 @func( i32 7 ) ; <i32> [#uses=1] + %Y = add i32 %X, %argc ; <i32> [#uses=1] + ret i32 %Y } + diff --git a/test/Transforms/Inline/casts.ll b/test/Transforms/Inline/casts.ll index 340b978..029d309 100644 --- a/test/Transforms/Inline/casts.ll +++ b/test/Transforms/Inline/casts.ll @@ -1,20 +1,19 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | grep {ret i32 1} +; RUN: llvm-as < %s | opt -inline | llvm-dis | grep {ret i32 1} ; ModuleID = 'short.opt.bc' -implementation ; Functions: - -int %testBool(bool %X) { - %tmp = zext bool %X to int ; <int> [#uses=1] - ret int %tmp +define i32 @testBool(i1 %X) { + %tmp = zext i1 %X to i32 ; <i32> [#uses=1] + ret i32 %tmp } -int %testByte(sbyte %X) { - %tmp = setne sbyte %X, 0 ; <bool> [#uses=1] - %tmp.i = zext bool %tmp to int ; <int> [#uses=1] - ret int %tmp.i +define i32 @testByte(i8 %X) { + %tmp = icmp ne i8 %X, 0 ; <i1> [#uses=1] + %tmp.i = zext i1 %tmp to i32 ; <i32> [#uses=1] + ret i32 %tmp.i } -int %main() { - %rslt = call int %testByte( sbyte 123) - ret int %rslt +define i32 @main() { + %rslt = call i32 @testByte( i8 123 ) ; <i32> [#uses=1] + ret i32 %rslt } + diff --git a/test/Transforms/Inline/cfg_preserve_test.ll b/test/Transforms/Inline/cfg_preserve_test.ll index c444f3a..6b6ff18 100644 --- a/test/Transforms/Inline/cfg_preserve_test.ll +++ b/test/Transforms/Inline/cfg_preserve_test.ll @@ -1,15 +1,16 @@ ; This test ensures that inlining an "empty" function does not destroy the CFG ; -; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | not grep br +; RUN: llvm-as < %s | opt -inline | llvm-dis | not grep br -int %func(int %i) { - ret int %i +define i32 @func(i32 %i) { + ret i32 %i } -declare void %bar() +declare void @bar() -int %main(int %argc) { +define i32 @main(i32 %argc) { Entry: - %X = call int %func(int 7) - ret int %X + %X = call i32 @func( i32 7 ) ; <i32> [#uses=1] + ret i32 %X } + diff --git a/test/Transforms/Inline/dynamic_alloca_test.ll b/test/Transforms/Inline/dynamic_alloca_test.ll index cccf2d9..8770712 100644 --- a/test/Transforms/Inline/dynamic_alloca_test.ll +++ b/test/Transforms/Inline/dynamic_alloca_test.ll @@ -1,28 +1,31 @@ ; Test that functions with dynamic allocas get inlined in a case where ; naively inlining it would result in a miscompilation. -; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | \ +; RUN: llvm-as < %s | opt -inline | llvm-dis | \ ; RUN: grep llvm.stacksave -; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | not grep callee +; RUN: llvm-as < %s | opt -inline | llvm-dis | not grep callee -declare void %ext(int*) -implementation -internal void %callee(uint %N) { - %P = alloca int, uint %N ;; dynamic alloca - call void %ext(int* %P) - ret void +declare void @ext(i32*) + +define internal void @callee(i32 %N) { + %P = alloca i32, i32 %N ; <i32*> [#uses=1] + call void @ext( i32* %P ) + ret void } -void %foo(uint %N) { - br label %Loop -Loop: - %count = phi uint [0, %0], [%next, %Loop] - %next = add uint %count, 1 - call void %callee(uint %N) - %cond = seteq uint %count, 100000 - br bool %cond, label %out, label %Loop -out: - ret void +define void @foo(i32 %N) { +; <label>:0 + br label %Loop + +Loop: ; preds = %Loop, %0 + %count = phi i32 [ 0, %0 ], [ %next, %Loop ] ; <i32> [#uses=2] + %next = add i32 %count, 1 ; <i32> [#uses=1] + call void @callee( i32 %N ) + %cond = icmp eq i32 %count, 100000 ; <i1> [#uses=1] + br i1 %cond, label %out, label %Loop + +out: ; preds = %Loop + ret void } diff --git a/test/Transforms/Inline/inline-tail.ll b/test/Transforms/Inline/inline-tail.ll index 31e036f..5921655 100644 --- a/test/Transforms/Inline/inline-tail.ll +++ b/test/Transforms/Inline/inline-tail.ll @@ -1,16 +1,15 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | not grep tail +; RUN: llvm-as < %s | opt -inline | llvm-dis | not grep tail -implementation +declare void @bar(i32*) -declare void %bar(int*) - -internal void %foo(int* %P) { ;; to be inlined - tail call void %bar(int* %P) - ret void +define internal void @foo(i32* %P) { + tail call void @bar( i32* %P ) + ret void } -void %caller() { - %A = alloca int - call void %foo(int* %A) ;; not a tail call - ret void +define void @caller() { + %A = alloca i32 ; <i32*> [#uses=1] + call void @foo( i32* %A ) + ret void } + diff --git a/test/Transforms/Inline/inline_cleanup.ll b/test/Transforms/Inline/inline_cleanup.ll index 2ec67ff..89b3a82 100644 --- a/test/Transforms/Inline/inline_cleanup.ll +++ b/test/Transforms/Inline/inline_cleanup.ll @@ -1,66 +1,63 @@ ; Test that the inliner doesn't leave around dead allocas, and that it folds ; uncond branches away after it is done specializing. -; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | \ +; RUN: llvm-as < %s | opt -inline | llvm-dis | \ ; RUN: not grep {alloca.*uses=0} -; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | \ +; RUN: llvm-as < %s | opt -inline | llvm-dis | \ ; RUN: not grep {br label} +@A = weak global i32 0 ; <i32*> [#uses=1] +@B = weak global i32 0 ; <i32*> [#uses=1] +@C = weak global i32 0 ; <i32*> [#uses=1] -%A = weak global int 0 ; <int*> [#uses=1] -%B = weak global int 0 ; <int*> [#uses=1] -%C = weak global int 0 ; <int*> [#uses=1] - -implementation ; Functions: - -internal fastcc void %foo(int %X) { +define internal fastcc void @foo(i32 %X) { entry: - %ALL = alloca int, align 4 ; <int*> [#uses=1] - %tmp1 = and int %X, 1 ; <int> [#uses=1] - %tmp1 = seteq int %tmp1, 0 ; <bool> [#uses=1] - br bool %tmp1, label %cond_next, label %cond_true + %ALL = alloca i32, align 4 ; <i32*> [#uses=1] + %tmp1 = and i32 %X, 1 ; <i32> [#uses=1] + %tmp1.upgrd.1 = icmp eq i32 %tmp1, 0 ; <i1> [#uses=1] + br i1 %tmp1.upgrd.1, label %cond_next, label %cond_true cond_true: ; preds = %entry - store int 1, int* %A + store i32 1, i32* @A br label %cond_next -cond_next: ; preds = %entry, %cond_true - %tmp4 = and int %X, 2 ; <int> [#uses=1] - %tmp4 = seteq int %tmp4, 0 ; <bool> [#uses=1] - br bool %tmp4, label %cond_next7, label %cond_true5 +cond_next: ; preds = %cond_true, %entry + %tmp4 = and i32 %X, 2 ; <i32> [#uses=1] + %tmp4.upgrd.2 = icmp eq i32 %tmp4, 0 ; <i1> [#uses=1] + br i1 %tmp4.upgrd.2, label %cond_next7, label %cond_true5 cond_true5: ; preds = %cond_next - store int 1, int* %B + store i32 1, i32* @B br label %cond_next7 -cond_next7: ; preds = %cond_next, %cond_true5 - %tmp10 = and int %X, 4 ; <int> [#uses=1] - %tmp10 = seteq int %tmp10, 0 ; <bool> [#uses=1] - br bool %tmp10, label %cond_next13, label %cond_true11 +cond_next7: ; preds = %cond_true5, %cond_next + %tmp10 = and i32 %X, 4 ; <i32> [#uses=1] + %tmp10.upgrd.3 = icmp eq i32 %tmp10, 0 ; <i1> [#uses=1] + br i1 %tmp10.upgrd.3, label %cond_next13, label %cond_true11 cond_true11: ; preds = %cond_next7 - store int 1, int* %C + store i32 1, i32* @C br label %cond_next13 -cond_next13: ; preds = %cond_next7, %cond_true11 - %tmp16 = and int %X, 8 ; <int> [#uses=1] - %tmp16 = seteq int %tmp16, 0 ; <bool> [#uses=1] - br bool %tmp16, label %UnifiedReturnBlock, label %cond_true17 +cond_next13: ; preds = %cond_true11, %cond_next7 + %tmp16 = and i32 %X, 8 ; <i32> [#uses=1] + %tmp16.upgrd.4 = icmp eq i32 %tmp16, 0 ; <i1> [#uses=1] + br i1 %tmp16.upgrd.4, label %UnifiedReturnBlock, label %cond_true17 cond_true17: ; preds = %cond_next13 - call void %ext( int* %ALL ) + call void @ext( i32* %ALL ) ret void UnifiedReturnBlock: ; preds = %cond_next13 ret void } -declare void %ext(int*) +declare void @ext(i32*) -void %test() { +define void @test() { entry: - tail call fastcc void %foo( int 1 ) - tail call fastcc void %foo( int 2 ) - tail call fastcc void %foo( int 3 ) - tail call fastcc void %foo( int 8 ) + tail call fastcc void @foo( i32 1 ) + tail call fastcc void @foo( i32 2 ) + tail call fastcc void @foo( i32 3 ) + tail call fastcc void @foo( i32 8 ) ret void } diff --git a/test/Transforms/Inline/inline_constprop.ll b/test/Transforms/Inline/inline_constprop.ll index 4b183e2..4744c86 100644 --- a/test/Transforms/Inline/inline_constprop.ll +++ b/test/Transforms/Inline/inline_constprop.ll @@ -1,14 +1,14 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | not grep callee -; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | not grep div +; RUN: llvm-as < %s | opt -inline | llvm-dis | not grep callee +; RUN: llvm-as < %s | opt -inline | llvm-dis | not grep div -implementation -internal int %callee(int %A, int %B) { - %C = div int %A, %B - ret int %C +define internal i32 @callee(i32 %A, i32 %B) { + %C = sdiv i32 %A, %B ; <i32> [#uses=1] + ret i32 %C } -int %test() { - %X = call int %callee(int 10, int 3) - ret int %X +define i32 @test() { + %X = call i32 @callee( i32 10, i32 3 ) ; <i32> [#uses=1] + ret i32 %X } + diff --git a/test/Transforms/Inline/inline_dce.ll b/test/Transforms/Inline/inline_dce.ll index 5cb118f..b48a9a7 100644 --- a/test/Transforms/Inline/inline_dce.ll +++ b/test/Transforms/Inline/inline_dce.ll @@ -1,26 +1,25 @@ ; This checks to ensure that the inline pass deletes functions if they get ; inlined into all of their callers. -; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | \ +; RUN: llvm-as < %s | opt -inline | llvm-dis | \ ; RUN: not grep %reallysmall -implementation - -internal int %reallysmall(int %A) { - ret int %A +define internal i32 @reallysmall(i32 %A) { + ret i32 %A } -void %caller1() { - call int %reallysmall(int 5) - ret void +define void @caller1() { + call i32 @reallysmall( i32 5 ) ; <i32>:1 [#uses=0] + ret void } -void %caller2(int %A) { - call int %reallysmall(int %A) - ret void +define void @caller2(i32 %A) { + call i32 @reallysmall( i32 %A ) ; <i32>:1 [#uses=0] + ret void } -int %caller3(int %A) { - %B = call int %reallysmall(int %A) - ret int %B +define i32 @caller3(i32 %A) { + %B = call i32 @reallysmall( i32 %A ) ; <i32> [#uses=1] + ret i32 %B } + diff --git a/test/Transforms/Inline/inline_prune.ll b/test/Transforms/Inline/inline_prune.ll index 85a6343..fcd8321 100644 --- a/test/Transforms/Inline/inline_prune.ll +++ b/test/Transforms/Inline/inline_prune.ll @@ -1,40 +1,45 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | \ +; RUN: llvm-as < %s | opt -inline | llvm-dis | \ ; RUN: not grep {callee\[12\](} -; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | not grep mul - -implementation - -internal int %callee1(int %A, int %B) { - %cond = seteq int %A, 123 - br bool %cond, label %T, label %F -T: - %C = mul int %B, %B - ret int %C -F: - ret int 0 +; RUN: llvm-as < %s | opt -inline | llvm-dis | not grep mul + +define internal i32 @callee1(i32 %A, i32 %B) { + %cond = icmp eq i32 %A, 123 ; <i1> [#uses=1] + br i1 %cond, label %T, label %F + +T: ; preds = %0 + %C = mul i32 %B, %B ; <i32> [#uses=1] + ret i32 %C + +F: ; preds = %0 + ret i32 0 } -internal int %callee2(int %A, int %B) { - switch int %A, label %T [ - int 10, label %F - int 1234, label %G +define internal i32 @callee2(i32 %A, i32 %B) { + switch i32 %A, label %T [ + i32 10, label %F + i32 1234, label %G ] - %cond = seteq int %A, 123 - br bool %cond, label %T, label %F -T: - %C = mul int %B, %B - ret int %C -F: - ret int 0 -G: - %D = mul int %B, %B - %E = mul int %D, %B - ret int %E + ; No predecessors! + %cond = icmp eq i32 %A, 123 ; <i1> [#uses=1] + br i1 %cond, label %T, label %F + +T: ; preds = %1, %0 + %C = mul i32 %B, %B ; <i32> [#uses=1] + ret i32 %C + +F: ; preds = %1, %0 + ret i32 0 + +G: ; preds = %0 + %D = mul i32 %B, %B ; <i32> [#uses=1] + %E = mul i32 %D, %B ; <i32> [#uses=1] + ret i32 %E } -int %test(int %A) { - %X = call int %callee1(int 10, int %A) - %Y = call int %callee2(int 10, int %A) - %Z = add int %X, %Y - ret int %Z +define i32 @test(i32 %A) { + %X = call i32 @callee1( i32 10, i32 %A ) ; <i32> [#uses=1] + %Y = call i32 @callee2( i32 10, i32 %A ) ; <i32> [#uses=1] + %Z = add i32 %X, %Y ; <i32> [#uses=1] + ret i32 %Z } + diff --git a/test/Transforms/Inline/invoke_test-1.ll b/test/Transforms/Inline/invoke_test-1.ll index 9e69018..1fd3317 100644 --- a/test/Transforms/Inline/invoke_test-1.ll +++ b/test/Transforms/Inline/invoke_test-1.ll @@ -1,23 +1,24 @@ ; Test that we can inline a simple function, turning the calls in it into invoke ; instructions -; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | \ +; RUN: llvm-as < %s | opt -inline | llvm-dis | \ ; RUN: not grep {call\[^e\]} -declare void %might_throw() +declare void @might_throw() -implementation - -internal void %callee() { - call void %might_throw() - ret void +define internal void @callee() { + call void @might_throw( ) + ret void } ; caller returns true if might_throw throws an exception... -int %caller() { - invoke void %callee() to label %cont except label %exc -cont: - ret int 0 -exc: - ret int 1 +define i32 @caller() { + invoke void @callee( ) + to label %cont unwind label %exc + +cont: ; preds = %0 + ret i32 0 + +exc: ; preds = %0 + ret i32 1 } diff --git a/test/Transforms/Inline/invoke_test-2.ll b/test/Transforms/Inline/invoke_test-2.ll index 9262090..68b8bd8 100644 --- a/test/Transforms/Inline/invoke_test-2.ll +++ b/test/Transforms/Inline/invoke_test-2.ll @@ -1,28 +1,30 @@ ; Test that if an invoked function is inlined, and if that function cannot ; throw, that the dead handler is now unreachable. -; RUN: llvm-upgrade < %s | llvm-as | opt -inline -simplifycfg | llvm-dis | \ +; RUN: llvm-as < %s | opt -inline -simplifycfg | llvm-dis | \ ; RUN: not grep UnreachableExceptionHandler -declare void %might_throw() +declare void @might_throw() -implementation +define internal i32 @callee() { + invoke void @might_throw( ) + to label %cont unwind label %exc -internal int %callee() { - invoke void %might_throw() to label %cont except label %exc -cont: - ret int 0 -exc: - ; This just consumes the exception! - ret int 1 +cont: ; preds = %0 + ret i32 0 + +exc: ; preds = %0 + ret i32 1 } ; caller returns true if might_throw throws an exception... callee cannot throw. -int %caller() { - %X = invoke int %callee() to label %cont - except label %UnreachableExceptionHandler -cont: - ret int %X -UnreachableExceptionHandler: - ret int -1 ; This is dead! +define i32 @caller() { + %X = invoke i32 @callee( ) + to label %cont unwind label %UnreachableExceptionHandler ; <i32> [#uses=1] + +cont: ; preds = %0 + ret i32 %X + +UnreachableExceptionHandler: ; preds = %0 + ret i32 -1 } diff --git a/test/Transforms/Inline/invoke_test-3.ll b/test/Transforms/Inline/invoke_test-3.ll index b471afe..a5deec6 100644 --- a/test/Transforms/Inline/invoke_test-3.ll +++ b/test/Transforms/Inline/invoke_test-3.ll @@ -1,28 +1,32 @@ ; Test that any rethrown exceptions in an inlined function are automatically ; turned into branches to the invoke destination. -; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | not grep unwind$ +; RUN: llvm-as < %s | opt -inline | llvm-dis | not grep unwind$ -declare void %might_throw() +declare void @might_throw() -implementation +define internal i32 @callee() { + invoke void @might_throw( ) + to label %cont unwind label %exc -internal int %callee() { - invoke void %might_throw() to label %cont except label %exc -cont: - ret int 0 -exc: ; This just rethrows the exception! - unwind +cont: ; preds = %0 + ret i32 0 + +exc: ; preds = %0a + ; This just rethrows the exception! + unwind } -; caller returns true if might_throw throws an exception... which gets +; caller returns true if might_throw throws an exception... which gets ; propagated by callee. -int %caller() { - %X = invoke int %callee() to label %cont - except label %Handler -cont: - ret int %X -Handler: - ; This consumes an exception thrown by might_throw - ret int 1 +define i32 @caller() { + %X = invoke i32 @callee( ) + to label %cont unwind label %Handler ; <i32> [#uses=1] + +cont: ; preds = %0 + ret i32 %X + +Handler: ; preds = %0 +; This consumes an exception thrown by might_throw + ret i32 1 } |