From 1b151b4a3b04c3f9021776be135f1e578386ff0c Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Mon, 5 Apr 2004 18:46:33 +0000 Subject: [PATCH] New testcase for PR312 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12667 91177308-0d34-0410-b5e6-96231b3b80d8 --- .../2004-04-05-InvokeCastCrash.llx | 286 ++++++++++++++++++ 1 file changed, 286 insertions(+) create mode 100644 test/Transforms/IndVarsSimplify/2004-04-05-InvokeCastCrash.llx diff --git a/test/Transforms/IndVarsSimplify/2004-04-05-InvokeCastCrash.llx b/test/Transforms/IndVarsSimplify/2004-04-05-InvokeCastCrash.llx new file mode 100644 index 00000000000..40b1b2be5f9 --- /dev/null +++ b/test/Transforms/IndVarsSimplify/2004-04-05-InvokeCastCrash.llx @@ -0,0 +1,286 @@ +; RUN: llvm-as < %s | opt -indvars -disable-output + + %struct.__false_type = type { ubyte } + "struct.__gnu_cxx::_Hashtable_node" = type { "struct.__gnu_cxx::_Hashtable_node"*, "struct.llvm::Constant"* } + "struct.__gnu_cxx::_Hashtable_node >" = type { "struct.__gnu_cxx::_Hashtable_node >"*, "struct.std::pair" } + "struct.__gnu_cxx::hash_map,std::equal_to,std::allocator >" = type { "struct.__gnu_cxx::hashtable,const llvm::Value*,__gnu_cxx::hash,std::_Select1st >,std::equal_to,std::allocator >" } + "struct.__gnu_cxx::hash_set,std::equal_to,std::allocator >" = type { "struct.__gnu_cxx::hashtable,std::_Identity,std::equal_to,std::allocator >" } + "struct.__gnu_cxx::hashtable,std::_Identity,std::equal_to,std::allocator >" = type { %struct.__false_type, %struct.__false_type, %struct.__false_type, %struct.__false_type, "struct.std::vector<__gnu_cxx::_Hashtable_node*,std::allocator >", uint } + "struct.__gnu_cxx::hashtable,const llvm::Value*,__gnu_cxx::hash,std::_Select1st >,std::equal_to,std::allocator >" = type { %struct.__false_type, %struct.__false_type, %struct.__false_type, %struct.__false_type, "struct.std::vector<__gnu_cxx::_Hashtable_node >*,std::allocator >", uint } + "struct.llvm::AbstractTypeUser" = type { int (...)** } + "struct.llvm::Annotable" = type { int (...)**, "struct.llvm::Annotation"* } + "struct.llvm::Annotation" = type { int (...)**, "struct.llvm::AnnotationID", "struct.llvm::Annotation"* } + "struct.llvm::AnnotationID" = type { uint } + "struct.llvm::Argument" = type { "struct.llvm::Value", "struct.llvm::Function"*, "struct.llvm::Argument"*, "struct.llvm::Argument"* } + "struct.llvm::BasicBlock" = type { "struct.llvm::Value", "struct.llvm::iplist >", "struct.llvm::BasicBlock"*, "struct.llvm::BasicBlock"* } + "struct.llvm::Constant" = type opaque + "struct.llvm::DerivedType" = type { "struct.llvm::Type", "struct.llvm::AbstractTypeUser", "struct.std::vector >" } + "struct.llvm::Function" = type { "struct.llvm::GlobalValue", "struct.llvm::Annotable", "struct.llvm::iplist >", "struct.llvm::iplist >", "struct.llvm::SymbolTable"*, "struct.llvm::Function"*, "struct.llvm::Function"* } + "struct.llvm::FunctionPass" = type { "struct.llvm::Pass" } + "struct.llvm::FunctionType" = type { "struct.llvm::DerivedType", bool } + "struct.llvm::GlobalValue" = type { "struct.llvm::User", uint, "struct.llvm::Module"* } + "struct.llvm::Instruction" = type { "struct.llvm::User", "struct.llvm::Annotable", "struct.llvm::BasicBlock"*, "struct.llvm::Instruction"*, "struct.llvm::Instruction"*, uint } + "struct.llvm::IntrinsicLowering" = type opaque + "struct.llvm::MachineBasicBlock" = type { "struct.llvm::ilist", "struct.llvm::MachineBasicBlock"*, "struct.llvm::MachineBasicBlock"*, "struct.llvm::BasicBlock"* } + "struct.llvm::MachineConstantPool" = type opaque + "struct.llvm::MachineFrameInfo" = type opaque + "struct.llvm::MachineFunction" = type { "struct.llvm::Annotation", "struct.llvm::Function"*, "struct.llvm::TargetMachine"*, "struct.llvm::iplist >", "struct.llvm::SSARegMap"*, "struct.llvm::MachineFunctionInfo"*, "struct.llvm::MachineFrameInfo"*, "struct.llvm::MachineConstantPool"* } + "struct.llvm::MachineFunctionInfo" = type { "struct.__gnu_cxx::hash_set,std::equal_to,std::allocator >", "struct.__gnu_cxx::hash_map,std::equal_to,std::allocator >", uint, uint, uint, uint, uint, uint, uint, bool, bool, bool, "struct.llvm::MachineFunction"* } + "struct.llvm::MachineFunctionPass" = type { "struct.llvm::FunctionPass" } + "struct.llvm::MachineInstr" = type { short, ubyte, "struct.std::vector >", "struct.llvm::MachineInstr"*, "struct.llvm::MachineInstr"*, "struct.llvm::MachineBasicBlock"* } + "struct.llvm::MachineInstrBuilder" = type { "struct.llvm::MachineInstr"* } + "struct.llvm::MachineOperand" = type { "union.llvm::MachineOperand::._65", int, int } + "struct.llvm::Module" = type opaque + "struct.llvm::PATypeHandle" = type { "struct.llvm::Type"*, "struct.llvm::AbstractTypeUser"* } + "struct.llvm::PATypeHolder" = type { "struct.llvm::Type"* } + "struct.llvm::Pass" = type { int (...)**, "struct.llvm::AbstractTypeUser"*, "struct.llvm::PassInfo"*, "struct.std::vector,std::allocator > >" } + "struct.llvm::PassInfo" = type { sbyte*, sbyte*, "struct.std::type_info"*, ubyte, "struct.std::vector >", "struct.llvm::Pass"* ()*, "struct.llvm::Pass"* ("struct.llvm::TargetMachine"*)* } + "struct.llvm::SSARegMap" = type opaque + "struct.llvm::SymbolTable" = type opaque + "struct.llvm::SymbolTableListTraits >" = type { "struct.llvm::Function"*, "struct.llvm::Function"* } + "struct.llvm::SymbolTableListTraits >" = type { "struct.llvm::Function"*, "struct.llvm::BasicBlock"* } + "struct.llvm::TargetData" = type { "struct.llvm::FunctionPass", bool, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte } + "struct.llvm::TargetFrameInfo" = type { int (...)**, uint, uint, int } + "struct.llvm::TargetInstrDescriptor" = type { sbyte*, int, int, uint, bool, uint, uint, uint, uint, uint, uint*, uint* } + "struct.llvm::TargetInstrInfo" = type { int (...)**, "struct.llvm::TargetInstrDescriptor"*, uint, uint } + "struct.llvm::TargetMachine" = type { int (...)**, "struct.std::basic_string,std::allocator >", "struct.llvm::TargetData", "struct.llvm::IntrinsicLowering"* } + "struct.llvm::TargetRegClassInfo" = type { int (...)**, uint, uint, uint } + "struct.llvm::TargetRegInfo" = type { int (...)**, "struct.std::vector >", "struct.llvm::TargetMachine"* } + "struct.llvm::Type" = type { "struct.llvm::Value", uint, uint, bool, uint, "struct.llvm::Type"*, "struct.std::vector >" } + "struct.llvm::Use" = type { "struct.llvm::Value"*, "struct.llvm::User"*, "struct.llvm::Use"*, "struct.llvm::Use"* } + "struct.llvm::User" = type { "struct.llvm::Value", "struct.std::vector >" } + "struct.llvm::Value" = type { int (...)**, "struct.llvm::iplist >", "struct.std::basic_string,std::allocator >", "struct.llvm::PATypeHolder", uint } + "struct.llvm::_GLOBAL__N_::InsertPrologEpilogCode" = type { "struct.llvm::MachineFunctionPass" } + "struct.llvm::ilist" = type { "struct.llvm::iplist >" } + "struct.llvm::ilist_iterator" = type { "struct.llvm::MachineBasicBlock"* } + "struct.llvm::ilist_traits" = type { "struct.llvm::SymbolTableListTraits >" } + "struct.llvm::ilist_traits" = type { "struct.llvm::SymbolTableListTraits >" } + "struct.llvm::iplist >" = type { "struct.llvm::ilist_traits", "struct.llvm::Argument"*, "struct.llvm::Argument"* } + "struct.llvm::iplist >" = type { "struct.llvm::ilist_traits", "struct.llvm::BasicBlock"*, "struct.llvm::BasicBlock"* } + "struct.llvm::iplist >" = type { "struct.llvm::ilist_traits", "struct.llvm::Instruction"*, "struct.llvm::Instruction"* } + "struct.llvm::iplist >" = type { "struct.llvm::MachineBasicBlock"*, "struct.llvm::MachineBasicBlock"* } + "struct.llvm::iplist >" = type { "struct.llvm::ilist_iterator", "struct.llvm::MachineInstr"*, "struct.llvm::MachineInstr"* } + "struct.llvm::iplist >" = type { "struct.llvm::Use"*, "struct.llvm::Use"* } + "struct.std::_Vector_alloc_base<__gnu_cxx::_Hashtable_node*,std::allocator, true>" = type { "struct.__gnu_cxx::_Hashtable_node"**, "struct.__gnu_cxx::_Hashtable_node"**, "struct.__gnu_cxx::_Hashtable_node"** } + "struct.std::_Vector_alloc_base<__gnu_cxx::_Hashtable_node >*,std::allocator, true>" = type { "struct.__gnu_cxx::_Hashtable_node >"**, "struct.__gnu_cxx::_Hashtable_node >"**, "struct.__gnu_cxx::_Hashtable_node >"** } + "struct.std::_Vector_alloc_base, true>" = type { "struct.llvm::PassInfo"**, "struct.llvm::PassInfo"**, "struct.llvm::PassInfo"** } + "struct.std::_Vector_alloc_base, true>" = type { "struct.llvm::TargetRegClassInfo"**, "struct.llvm::TargetRegClassInfo"**, "struct.llvm::TargetRegClassInfo"** } + "struct.std::_Vector_alloc_base, true>" = type { "struct.llvm::AbstractTypeUser"**, "struct.llvm::AbstractTypeUser"**, "struct.llvm::AbstractTypeUser"** } + "struct.std::_Vector_alloc_base, true>" = type { "struct.llvm::MachineInstr"**, "struct.llvm::MachineInstr"**, "struct.llvm::MachineInstr"** } + "struct.std::_Vector_alloc_base, true>" = type { "struct.llvm::MachineOperand"*, "struct.llvm::MachineOperand"*, "struct.llvm::MachineOperand"* } + "struct.std::_Vector_alloc_base, true>" = type { "struct.llvm::PATypeHandle"*, "struct.llvm::PATypeHandle"*, "struct.llvm::PATypeHandle"* } + "struct.std::_Vector_alloc_base, true>" = type { "struct.llvm::Use"*, "struct.llvm::Use"*, "struct.llvm::Use"* } + "struct.std::_Vector_alloc_base,std::allocator >, true>" = type { "struct.std::pair"*, "struct.std::pair"*, "struct.std::pair"* } + "struct.std::_Vector_base<__gnu_cxx::_Hashtable_node*,std::allocator >" = type { "struct.std::_Vector_alloc_base<__gnu_cxx::_Hashtable_node*,std::allocator, true>" } + "struct.std::_Vector_base<__gnu_cxx::_Hashtable_node >*,std::allocator >" = type { "struct.std::_Vector_alloc_base<__gnu_cxx::_Hashtable_node >*,std::allocator, true>" } + "struct.std::_Vector_base >" = type { "struct.std::_Vector_alloc_base, true>" } + "struct.std::_Vector_base >" = type { "struct.std::_Vector_alloc_base, true>" } + "struct.std::_Vector_base >" = type { "struct.std::_Vector_alloc_base, true>" } + "struct.std::_Vector_base >" = type { "struct.std::_Vector_alloc_base, true>" } + "struct.std::_Vector_base >" = type { "struct.std::_Vector_alloc_base, true>" } + "struct.std::_Vector_base >" = type { "struct.std::_Vector_alloc_base, true>" } + "struct.std::_Vector_base >" = type { "struct.std::_Vector_alloc_base, true>" } + "struct.std::_Vector_base,std::allocator > >" = type { "struct.std::_Vector_alloc_base,std::allocator >, true>" } + "struct.std::basic_string,std::allocator >" = type { "struct.std::basic_string,std::allocator >::_Alloc_hider" } + "struct.std::basic_string,std::allocator >::_Alloc_hider" = type { sbyte* } + "struct.std::pair" = type { "struct.llvm::PassInfo"*, "struct.llvm::Pass"* } + "struct.std::pair" = type { "struct.llvm::Value"*, int } + "struct.std::type_info" = type { int (...)**, sbyte* } + "struct.std::vector<__gnu_cxx::_Hashtable_node*,std::allocator >" = type { "struct.std::_Vector_base<__gnu_cxx::_Hashtable_node*,std::allocator >" } + "struct.std::vector<__gnu_cxx::_Hashtable_node >*,std::allocator >" = type { "struct.std::_Vector_base<__gnu_cxx::_Hashtable_node >*,std::allocator >" } + "struct.std::vector >" = type { "struct.std::_Vector_base >" } + "struct.std::vector >" = type { "struct.std::_Vector_base >" } + "struct.std::vector >" = type { "struct.std::_Vector_base >" } + "struct.std::vector >" = type { "struct.std::_Vector_base >" } + "struct.std::vector >" = type { "struct.std::_Vector_base >" } + "struct.std::vector >" = type { "struct.std::_Vector_base >" } + "struct.std::vector >" = type { "struct.std::_Vector_base >" } + "struct.std::vector,std::allocator > >" = type { "struct.std::_Vector_base,std::allocator > >" } + "union.llvm::MachineOperand::._65" = type { "struct.std::basic_string,std::allocator >"* } + +implementation ; Functions: + +declare void %_Znwj() + +declare void %_ZN4llvm12MachineInstrC1Esjbb() + +declare void %_ZNSt6vectorIPN4llvm12MachineInstrESaIS2_EE9push_backERKS2_() + +declare void %_ZNK4llvm8Function15getFunctionTypeEv() + +declare void %_ZNK4llvm19MachineInstrBuilder7addMRegEiNS_14MachineOperand7UseTypeE() + +declare void %_ZNK4llvm19MachineInstrBuilder7addSImmEi() + +void %_ZN4llvm11_GLOBAL__N_22InsertPrologEpilogCode20runOnMachineFunctionERNS_15MachineFunctionE("struct.llvm::MachineFunction"* %F) { +entry: + %tmp.8.i = invoke "struct.llvm::TargetFrameInfo"* null( "struct.llvm::TargetMachine"* null ) + to label %invoke_cont.0.i unwind label %invoke_catch.0.i ; <"struct.llvm::TargetFrameInfo"*> [#uses=0] + +invoke_catch.0.i: ; preds = %entry, %invoke_cont.0.i, %tmp.7.i.noexc.i, %endif.0.i.i, %invoke_cont.1.i, %invoke_cont.2.i, %invoke_cont.3.i, %invoke_cont.4.i, %then.0.i, %invoke_cont.i.i, %invoke_cont.7.i, %invoke_cont.8.i, %invoke_cont.9.i, %endif.0.i, %then.1.i, %invoke_cont.34.i, %invoke_cont.35.i, %then.2.i, %invoke_cont.37.i, %invoke_cont.38.i, %invoke_cont.39.i, %invoke_cont.40.i, %invoke_cont.41.i, %invoke_cont.42.i, %invoke_cont.43.i, %invoke_cont.44.i, %no_exit.i, %invoke_cont.i53.i, %invoke_cont.47.i, %invoke_cont.48.i, %invoke_cont.49.i + ret void + +invoke_cont.0.i: ; preds = %entry + %tmp.7.i1.i = invoke "struct.llvm::TargetFrameInfo"* null( "struct.llvm::TargetMachine"* null ) + to label %tmp.7.i.noexc.i unwind label %invoke_catch.0.i ; <"struct.llvm::TargetFrameInfo"*> [#uses=2] + +tmp.7.i.noexc.i: ; preds = %invoke_cont.0.i + %tmp.17.i2.i = invoke int null( "struct.llvm::TargetFrameInfo"* %tmp.7.i1.i ) + to label %endif.0.i.i unwind label %invoke_catch.0.i ; [#uses=0] + +endif.0.i.i: ; preds = %tmp.7.i.noexc.i + %tmp.38.i4.i = invoke int null( "struct.llvm::TargetFrameInfo"* %tmp.7.i1.i ) + to label %tmp.38.i.noexc.i unwind label %invoke_catch.0.i ; [#uses=0] + +tmp.38.i.noexc.i: ; preds = %endif.0.i.i + br bool false, label %invoke_cont.1.i, label %then.1.i.i + +then.1.i.i: ; preds = %tmp.38.i.noexc.i + ret void + +invoke_cont.1.i: ; preds = %tmp.38.i.noexc.i + %tmp.21.i = invoke "struct.llvm::TargetRegInfo"* null( "struct.llvm::TargetMachine"* null ) + to label %invoke_cont.2.i unwind label %invoke_catch.0.i ; <"struct.llvm::TargetRegInfo"*> [#uses=1] + +invoke_cont.2.i: ; preds = %invoke_cont.1.i + %tmp.28.i = invoke uint null( "struct.llvm::TargetRegInfo"* %tmp.21.i ) + to label %invoke_cont.3.i unwind label %invoke_catch.0.i ; [#uses=0] + +invoke_cont.3.i: ; preds = %invoke_cont.2.i + %tmp.36.i = invoke "struct.llvm::TargetInstrInfo"* null( "struct.llvm::TargetMachine"* null ) + to label %invoke_cont.4.i unwind label %invoke_catch.0.i ; <"struct.llvm::TargetInstrInfo"*> [#uses=1] + +invoke_cont.4.i: ; preds = %invoke_cont.3.i + %tmp.43.i = invoke bool null( "struct.llvm::TargetInstrInfo"* %tmp.36.i, short 383, long 0 ) + to label %invoke_cont.5.i unwind label %invoke_catch.0.i ; [#uses=1] + +invoke_cont.5.i: ; preds = %invoke_cont.4.i + br bool %tmp.43.i, label %then.0.i, label %else.i + +then.0.i: ; preds = %invoke_cont.5.i + invoke void %_Znwj( ) + to label %tmp.0.i.noexc.i unwind label %invoke_catch.0.i + +tmp.0.i.noexc.i: ; preds = %then.0.i + invoke void %_ZN4llvm12MachineInstrC1Esjbb( ) + to label %invoke_cont.i.i unwind label %cond_true.i.i + +cond_true.i.i: ; preds = %tmp.0.i.noexc.i + ret void + +invoke_cont.i.i: ; preds = %tmp.0.i.noexc.i + invoke void %_ZNK4llvm19MachineInstrBuilder7addMRegEiNS_14MachineOperand7UseTypeE( ) + to label %invoke_cont.7.i unwind label %invoke_catch.0.i + +invoke_cont.7.i: ; preds = %invoke_cont.i.i + invoke void %_ZNK4llvm19MachineInstrBuilder7addSImmEi( ) + to label %invoke_cont.8.i unwind label %invoke_catch.0.i + +invoke_cont.8.i: ; preds = %invoke_cont.7.i + invoke void %_ZNK4llvm19MachineInstrBuilder7addMRegEiNS_14MachineOperand7UseTypeE( ) + to label %invoke_cont.9.i unwind label %invoke_catch.0.i + +invoke_cont.9.i: ; preds = %invoke_cont.8.i + invoke void %_ZNSt6vectorIPN4llvm12MachineInstrESaIS2_EE9push_backERKS2_( ) + to label %endif.0.i unwind label %invoke_catch.0.i + +else.i: ; preds = %invoke_cont.5.i + ret void + +endif.0.i: ; preds = %invoke_cont.9.i + invoke void %_ZNK4llvm8Function15getFunctionTypeEv( ) + to label %invoke_cont.33.i unwind label %invoke_catch.0.i + +invoke_cont.33.i: ; preds = %endif.0.i + br bool false, label %then.1.i, label %endif.1.i + +then.1.i: ; preds = %invoke_cont.33.i + invoke void %_ZNK4llvm8Function15getFunctionTypeEv( ) + to label %invoke_cont.34.i unwind label %invoke_catch.0.i + +invoke_cont.34.i: ; preds = %then.1.i + %tmp.121.i = invoke "struct.llvm::TargetRegInfo"* null( "struct.llvm::TargetMachine"* null ) + to label %invoke_cont.35.i unwind label %invoke_catch.0.i ; <"struct.llvm::TargetRegInfo"*> [#uses=1] + +invoke_cont.35.i: ; preds = %invoke_cont.34.i + %tmp.128.i = invoke uint null( "struct.llvm::TargetRegInfo"* %tmp.121.i ) + to label %invoke_cont.36.i unwind label %invoke_catch.0.i ; [#uses=0] + +invoke_cont.36.i: ; preds = %invoke_cont.35.i + br bool false, label %then.2.i, label %endif.1.i + +then.2.i: ; preds = %invoke_cont.36.i + %tmp.140.i = invoke "struct.llvm::TargetRegInfo"* null( "struct.llvm::TargetMachine"* null ) + to label %invoke_cont.37.i unwind label %invoke_catch.0.i ; <"struct.llvm::TargetRegInfo"*> [#uses=0] + +invoke_cont.37.i: ; preds = %then.2.i + %tmp.148.i = invoke "struct.llvm::TargetRegInfo"* null( "struct.llvm::TargetMachine"* null ) + to label %invoke_cont.38.i unwind label %invoke_catch.0.i ; <"struct.llvm::TargetRegInfo"*> [#uses=1] + +invoke_cont.38.i: ; preds = %invoke_cont.37.i + %tmp.155.i = invoke uint null( "struct.llvm::TargetRegInfo"* %tmp.148.i, "struct.llvm::Type"* null, bool false ) + to label %invoke_cont.39.i unwind label %invoke_catch.0.i ; [#uses=0] + +invoke_cont.39.i: ; preds = %invoke_cont.38.i + %tmp.163.i = invoke "struct.llvm::TargetFrameInfo"* null( "struct.llvm::TargetMachine"* null ) + to label %invoke_cont.40.i unwind label %invoke_catch.0.i ; <"struct.llvm::TargetFrameInfo"*> [#uses=1] + +invoke_cont.40.i: ; preds = %invoke_cont.39.i + %tmp.170.i = invoke int null( "struct.llvm::TargetFrameInfo"* %tmp.163.i ) + to label %invoke_cont.41.i unwind label %invoke_catch.0.i ; [#uses=0] + +invoke_cont.41.i: ; preds = %invoke_cont.40.i + %tmp.177.i = invoke "struct.llvm::TargetFrameInfo"* null( "struct.llvm::TargetMachine"* null ) + to label %invoke_cont.42.i unwind label %invoke_catch.0.i ; <"struct.llvm::TargetFrameInfo"*> [#uses=1] + +invoke_cont.42.i: ; preds = %invoke_cont.41.i + %tmp.184.i = invoke int null( "struct.llvm::TargetFrameInfo"* %tmp.177.i ) + to label %invoke_cont.43.i unwind label %invoke_catch.0.i ; [#uses=1] + +invoke_cont.43.i: ; preds = %invoke_cont.42.i + %tmp.191.i = invoke "struct.llvm::TargetFrameInfo"* null( "struct.llvm::TargetMachine"* null ) + to label %invoke_cont.44.i unwind label %invoke_catch.0.i ; <"struct.llvm::TargetFrameInfo"*> [#uses=1] + +invoke_cont.44.i: ; preds = %invoke_cont.43.i + %tmp.198.i = invoke int null( "struct.llvm::TargetFrameInfo"* %tmp.191.i, "struct.llvm::MachineFunction"* %F, bool* null ) + to label %invoke_cont.45.i unwind label %invoke_catch.0.i ; [#uses=0] + +invoke_cont.45.i: ; preds = %invoke_cont.44.i + br bool false, label %no_exit.i, label %endif.1.i + +no_exit.i: ; preds = %invoke_cont.45.i, %invoke_cont.50.i + %nextArgOffset.0.i.1 = phi int [ %tmp.221.i, %invoke_cont.50.i ], [ 0, %invoke_cont.45.i ] ; [#uses=1] + invoke void %_Znwj( ) + to label %tmp.0.i.noexc55.i unwind label %invoke_catch.0.i + +tmp.0.i.noexc55.i: ; preds = %no_exit.i + invoke void %_ZN4llvm12MachineInstrC1Esjbb( ) + to label %invoke_cont.i53.i unwind label %cond_true.i52.i + +cond_true.i52.i: ; preds = %tmp.0.i.noexc55.i + ret void + +invoke_cont.i53.i: ; preds = %tmp.0.i.noexc55.i + invoke void %_ZNK4llvm19MachineInstrBuilder7addMRegEiNS_14MachineOperand7UseTypeE( ) + to label %invoke_cont.47.i unwind label %invoke_catch.0.i + +invoke_cont.47.i: ; preds = %invoke_cont.i53.i + invoke void %_ZNK4llvm19MachineInstrBuilder7addMRegEiNS_14MachineOperand7UseTypeE( ) + to label %invoke_cont.48.i unwind label %invoke_catch.0.i + +invoke_cont.48.i: ; preds = %invoke_cont.47.i + invoke void %_ZNK4llvm19MachineInstrBuilder7addSImmEi( ) + to label %invoke_cont.49.i unwind label %invoke_catch.0.i + +invoke_cont.49.i: ; preds = %invoke_cont.48.i + invoke void %_ZNSt6vectorIPN4llvm12MachineInstrESaIS2_EE9push_backERKS2_( ) + to label %invoke_cont.50.i unwind label %invoke_catch.0.i + +invoke_cont.50.i: ; preds = %invoke_cont.49.i + %tmp.221.i = add int %nextArgOffset.0.i.1, %tmp.184.i ; [#uses=1] + br bool false, label %no_exit.i, label %endif.1.i + +endif.1.i: ; preds = %invoke_cont.33.i, %invoke_cont.36.i, %invoke_cont.45.i, %invoke_cont.50.i + ret void +} +