From 26b0000166ca3d00f2a1990b43a1f45cdac4e9b6 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Fri, 17 Jun 2011 03:14:27 +0000 Subject: manually upgrade a bunch of tests to modern syntax, and remove some that are either unreduced or only test old syntax. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133228 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/Analysis/BasicAA/2005-03-09-BrokenBasicAA.ll | 15 - test/Analysis/GlobalsModRef/indirect-global.ll | 5 +- test/Assembler/2005-02-09-AsmWriterStoreBug.ll | 14 - test/Assembler/2006-05-26-VarargsCallEncode.ll | 8 - test/Assembler/2007-07-30-AutoUpgradeZextSext.ll | 12 - test/Assembler/2007-11-27-AutoUpgradeAttributes.ll | 3 - test/CodeGen/ARM/2007-03-26-RegScavengerAssert.ll | 947 ------------- test/CodeGen/ARM/2007-05-03-BadPostIndexedLd.ll | 2 +- test/CodeGen/ARM/2008-04-04-ScavengerAssert.ll | 5 +- test/CodeGen/ARM/2008-09-14-CoalescerBug.ll | 29 - test/CodeGen/ARM/2009-08-21-PostRAKill3.ll | 4 +- test/CodeGen/ARM/2010-08-04-StackVariable.ll | 2 +- test/CodeGen/ARM/sxt_rot.ll | 4 +- test/CodeGen/ARM/uxt_rot.ll | 6 +- test/CodeGen/Alpha/2005-07-12-TwoMallocCalls.ll | 17 - test/CodeGen/Alpha/add.ll | 26 +- test/CodeGen/Alpha/i32_sub_1.ll | 2 +- test/CodeGen/Alpha/zapnot.ll | 2 +- test/CodeGen/CPP/llvm2cpp.ll | 756 ---------- test/CodeGen/CellSPU/and_ops.ll | 12 +- test/CodeGen/CellSPU/eqv.ll | 18 +- test/CodeGen/CellSPU/mul-with-overflow.ll | 4 +- test/CodeGen/CellSPU/nand.ll | 16 +- test/CodeGen/CellSPU/or_ops.ll | 12 +- test/CodeGen/CellSPU/shift_ops.ll | 48 +- test/CodeGen/CellSPU/struct_1.ll | 12 +- test/CodeGen/Generic/badlive.ll | 28 - test/CodeGen/Mips/2008-07-16-SignExtInReg.ll | 4 +- .../PowerPC/2007-05-30-dagcombine-miscomp.ll | 2 +- test/CodeGen/PowerPC/2008-03-24-CoalescerBug.ll | 2 +- test/CodeGen/PowerPC/2008-07-15-SignExtendInreg.ll | 2 +- test/CodeGen/PowerPC/and-elim.ll | 2 +- test/CodeGen/PowerPC/and_sext.ll | 4 +- test/CodeGen/PowerPC/calls.ll | 7 +- test/CodeGen/PowerPC/mul-with-overflow.ll | 4 +- test/CodeGen/PowerPC/small-arguments.ll | 8 +- test/CodeGen/SystemZ/02-MemArith.ll | 24 +- test/CodeGen/SystemZ/03-RetAddImmSubreg.ll | 8 +- test/CodeGen/SystemZ/03-RetAddSubreg.ll | 4 +- test/CodeGen/SystemZ/03-RetAndImmSubreg.ll | 8 +- test/CodeGen/SystemZ/03-RetAndSubreg.ll | 4 +- test/CodeGen/SystemZ/03-RetArgSubreg.ll | 4 +- test/CodeGen/SystemZ/03-RetImmSubreg.ll | 4 +- test/CodeGen/SystemZ/03-RetOrImmSubreg.ll | 12 +- test/CodeGen/SystemZ/03-RetOrSubreg.ll | 4 +- test/CodeGen/SystemZ/03-RetSubImmSubreg.ll | 8 +- test/CodeGen/SystemZ/03-RetSubSubreg.ll | 4 +- test/CodeGen/SystemZ/03-RetXorImmSubreg.ll | 12 +- test/CodeGen/SystemZ/03-RetXorSubreg.ll | 4 +- test/CodeGen/SystemZ/11-BSwap.ll | 10 +- test/CodeGen/Thumb/2007-03-06-AddR7.ll | 117 -- test/CodeGen/Thumb/2009-07-19-SPDecBug.ll | 33 - test/CodeGen/Thumb2/thumb2-sxt_rot.ll | 4 +- test/CodeGen/Thumb2/thumb2-uxt_rot.ll | 6 +- test/CodeGen/X86/2007-05-07-InvokeSRet.ll | 2 +- test/CodeGen/X86/2007-05-14-LiveIntervalAssert.ll | 4 +- test/CodeGen/X86/2007-06-04-tailmerge4.ll | 454 ------ test/CodeGen/X86/2007-08-01-LiveVariablesBug.ll | 2 +- test/CodeGen/X86/2007-08-10-SignExtSubreg.ll | 2 +- test/CodeGen/X86/2007-09-17-ObjcFrameEH.ll | 4 +- test/CodeGen/X86/2007-10-05-3AddrConvert.ll | 48 - test/CodeGen/X86/2007-10-12-CoalesceExtSubReg.ll | 2 +- test/CodeGen/X86/2007-10-12-SpillerUnfold2.ll | 2 +- test/CodeGen/X86/2007-10-15-CoalescerCrash.ll | 6 +- test/CodeGen/X86/2007-10-19-SpillerUnfold.ll | 2 +- test/CodeGen/X86/2007-10-29-ExtendSetCC.ll | 2 +- test/CodeGen/X86/2007-11-02-BadAsm.ll | 144 -- test/CodeGen/X86/2007-12-11-FoldImpDefSpill.ll | 680 --------- test/CodeGen/X86/2008-02-25-X86-64-CoalescerBug.ll | 2 +- test/CodeGen/X86/2008-03-13-TwoAddrPassCrash.ll | 2 +- test/CodeGen/X86/2008-04-16-ReMatBug.ll | 6 +- test/CodeGen/X86/2008-04-17-CoalescerBug.ll | 8 +- test/CodeGen/X86/2008-08-23-X86-64AsmBug.ll | 59 - test/CodeGen/X86/2008-09-25-sseregparm-1.ll | 4 +- test/CodeGen/X86/2009-01-29-LocalRegAllocBug.ll | 38 - test/CodeGen/X86/2009-02-20-PreAllocSplit-Crash.ll | 71 - test/CodeGen/X86/2009-10-08-MachineLICMBug.ll | 264 ---- test/CodeGen/X86/GC/simple_ocaml.ll | 42 - test/CodeGen/X86/byval2.ll | 4 +- test/CodeGen/X86/byval3.ll | 4 +- test/CodeGen/X86/byval4.ll | 4 +- test/CodeGen/X86/byval5.ll | 4 +- test/CodeGen/X86/fast-isel-call.ll | 4 +- test/CodeGen/X86/opt-ext-uses.ll | 2 +- test/CodeGen/X86/sext-trunc.ll | 2 +- test/CodeGen/X86/tailcallbyval.ll | 2 +- test/CodeGen/X86/tailcallbyval64.ll | 2 +- test/CodeGen/X86/trunc-to-bool.ll | 2 +- test/CodeGen/X86/umul-with-overflow.ll | 2 +- test/CodeGen/X86/x86-64-malloc.ll | 12 - test/CodeGen/X86/x86-64-shortint.ll | 2 +- test/ExecutionEngine/test-malloc.ll | 13 - test/Feature/alignment.ll | 9 - test/Feature/noalias-ret.ll | 6 - test/Feature/paramattrs.ll | 8 +- test/Feature/testmemory.ll | 36 - test/Integer/BitMem.ll | 29 - test/Integer/alignment_bt.ll | 21 - test/Integer/paramattrs_bt.ll | 8 +- test/Integer/testmemory_bt.ll | 45 - .../CodeExtractor/2004-03-17-OutputMismatch.ll | 20 - .../DeadArgElim/2007-12-20-ParamAttrs.ll | 4 +- test/Transforms/DeadStoreElimination/free.ll | 6 +- test/Transforms/FunctionAttrs/2009-05-06-Malloc.ll | 7 - test/Transforms/GlobalOpt/2007-04-05-Crash.ll | 2 +- .../GlobalOpt/2008-12-16-HeapSRACrash-2.ll | 6 +- .../GlobalOpt/2008-12-16-HeapSRACrash.ll | 5 +- .../Transforms/IndVarSimplify/2008-09-02-IVType.ll | 2 +- .../2007-04-04-BadFoldBitcastIntoMalloc.ll | 19 - .../InstCombine/2007-05-18-CastFoldBug.ll | 2 +- .../InstCombine/2007-11-25-CompatibleAttributes.ll | 2 +- .../InstCombine/2008-01-06-BitCastAttributes.ll | 2 +- .../InstCombine/2008-01-13-NoBitCastAttributes.ll | 2 +- test/Transforms/InstCombine/cast.ll | 19 - test/Transforms/InstCombine/getelementptr.ll | 8 - test/Transforms/InstCombine/malloc-free-delete.ll | 12 +- test/Transforms/InstCombine/malloc.ll | 7 - test/Transforms/InstCombine/malloc2.ll | 22 - test/Transforms/InstCombine/malloc3.ll | 26 - test/Transforms/InstCombine/not.ll | 2 +- test/Transforms/InstCombine/sub.ll | 2 +- test/Transforms/InstCombine/zext-or-icmp.ll | 2 +- .../LICM/2005-03-24-LICM-Aggregate-Crash.ll | 9 - .../LoopSimplify/2007-10-28-InvokeCrash.ll | 10 +- test/Transforms/MemCpyOpt/memmove.ll | 5 +- test/Transforms/PruneEH/2008-09-05-CGUpdate.ll | 1445 -------------------- test/Transforms/SCCP/2002-05-02-EdgeFailure.ll | 26 - .../ScalarRepl/2007-11-03-bigendian_apint.ll | 2 +- test/Transforms/ScalarRepl/crash.ll | 4 +- test/Verifier/2005-03-21-UndefinedTypeReference.ll | 7 - 130 files changed, 262 insertions(+), 5810 deletions(-) delete mode 100644 test/Analysis/BasicAA/2005-03-09-BrokenBasicAA.ll delete mode 100644 test/Assembler/2005-02-09-AsmWriterStoreBug.ll delete mode 100644 test/Assembler/2006-05-26-VarargsCallEncode.ll delete mode 100644 test/Assembler/2007-07-30-AutoUpgradeZextSext.ll delete mode 100644 test/Assembler/2007-11-27-AutoUpgradeAttributes.ll delete mode 100644 test/CodeGen/ARM/2007-03-26-RegScavengerAssert.ll delete mode 100644 test/CodeGen/ARM/2008-09-14-CoalescerBug.ll delete mode 100644 test/CodeGen/Alpha/2005-07-12-TwoMallocCalls.ll delete mode 100644 test/CodeGen/CPP/llvm2cpp.ll delete mode 100644 test/CodeGen/Generic/badlive.ll delete mode 100644 test/CodeGen/Thumb/2007-03-06-AddR7.ll delete mode 100644 test/CodeGen/Thumb/2009-07-19-SPDecBug.ll delete mode 100644 test/CodeGen/X86/2007-06-04-tailmerge4.ll delete mode 100644 test/CodeGen/X86/2007-10-05-3AddrConvert.ll delete mode 100644 test/CodeGen/X86/2007-11-02-BadAsm.ll delete mode 100644 test/CodeGen/X86/2007-12-11-FoldImpDefSpill.ll delete mode 100644 test/CodeGen/X86/2008-08-23-X86-64AsmBug.ll delete mode 100644 test/CodeGen/X86/2009-01-29-LocalRegAllocBug.ll delete mode 100644 test/CodeGen/X86/2009-02-20-PreAllocSplit-Crash.ll delete mode 100644 test/CodeGen/X86/2009-10-08-MachineLICMBug.ll delete mode 100644 test/CodeGen/X86/GC/simple_ocaml.ll delete mode 100644 test/CodeGen/X86/x86-64-malloc.ll delete mode 100644 test/ExecutionEngine/test-malloc.ll delete mode 100644 test/Feature/noalias-ret.ll delete mode 100644 test/Feature/testmemory.ll delete mode 100644 test/Integer/BitMem.ll delete mode 100644 test/Integer/alignment_bt.ll delete mode 100644 test/Integer/testmemory_bt.ll delete mode 100644 test/Transforms/CodeExtractor/2004-03-17-OutputMismatch.ll delete mode 100644 test/Transforms/FunctionAttrs/2009-05-06-Malloc.ll delete mode 100644 test/Transforms/InstCombine/2007-04-04-BadFoldBitcastIntoMalloc.ll delete mode 100644 test/Transforms/InstCombine/malloc.ll delete mode 100644 test/Transforms/InstCombine/malloc2.ll delete mode 100644 test/Transforms/InstCombine/malloc3.ll delete mode 100644 test/Transforms/LICM/2005-03-24-LICM-Aggregate-Crash.ll delete mode 100644 test/Transforms/PruneEH/2008-09-05-CGUpdate.ll delete mode 100644 test/Transforms/SCCP/2002-05-02-EdgeFailure.ll delete mode 100644 test/Verifier/2005-03-21-UndefinedTypeReference.ll diff --git a/test/Analysis/BasicAA/2005-03-09-BrokenBasicAA.ll b/test/Analysis/BasicAA/2005-03-09-BrokenBasicAA.ll deleted file mode 100644 index 4564263..0000000 --- a/test/Analysis/BasicAA/2005-03-09-BrokenBasicAA.ll +++ /dev/null @@ -1,15 +0,0 @@ -; RUN: opt < %s -basicaa -gvn -instcombine |\ -; RUN: llvm-dis | grep {load i32\\* %A} - -declare double* @useit(i32*) - -define i32 @foo(i32 %Amt) { - %A = malloc i32, i32 %Amt - %P = call double* @useit(i32* %A) - - %X = load i32* %A - store double 0.0, double* %P - %Y = load i32* %A - %Z = sub i32 %X, %Y - ret i32 %Z -} diff --git a/test/Analysis/GlobalsModRef/indirect-global.ll b/test/Analysis/GlobalsModRef/indirect-global.ll index 1eab0bc..826f55c 100644 --- a/test/Analysis/GlobalsModRef/indirect-global.ll +++ b/test/Analysis/GlobalsModRef/indirect-global.ll @@ -3,8 +3,11 @@ @G = internal global i32* null ; [#uses=3] + +declare i8* @malloc(i32) define void @test() { - %A = malloc i32 ; [#uses=1] + %a = call i8* @malloc(i32 4) + %A = bitcast i8* %a to i32* store i32* %A, i32** @G ret void } diff --git a/test/Assembler/2005-02-09-AsmWriterStoreBug.ll b/test/Assembler/2005-02-09-AsmWriterStoreBug.ll deleted file mode 100644 index 4ec1796..0000000 --- a/test/Assembler/2005-02-09-AsmWriterStoreBug.ll +++ /dev/null @@ -1,14 +0,0 @@ -; RUN: llvm-as < %s | llvm-dis | llvm-as - -; Ensure that the asm writer emits types before both operands of the -; store, even though they can be the same. - -%RecTy = type %RecTy* - -define void @foo() { - %A = malloc %RecTy ; <%RecTy> [#uses=1] - %B = malloc %RecTy ; <%RecTy> [#uses=1] - store %RecTy %B, %RecTy %A - ret void -} - diff --git a/test/Assembler/2006-05-26-VarargsCallEncode.ll b/test/Assembler/2006-05-26-VarargsCallEncode.ll deleted file mode 100644 index 6dc60c3..0000000 --- a/test/Assembler/2006-05-26-VarargsCallEncode.ll +++ /dev/null @@ -1,8 +0,0 @@ -; RUN: llvm-as < %s | llvm-dis | grep {tail call void.*sret null} - -declare void @foo({ }* sret , ...) - -define void @bar() { - tail call void ({ }* sret , ...)* @foo( { }* null sret , i32 0 ) - ret void -} diff --git a/test/Assembler/2007-07-30-AutoUpgradeZextSext.ll b/test/Assembler/2007-07-30-AutoUpgradeZextSext.ll deleted file mode 100644 index ea2db44..0000000 --- a/test/Assembler/2007-07-30-AutoUpgradeZextSext.ll +++ /dev/null @@ -1,12 +0,0 @@ -; Test that upgrading zext/sext attributes to zeroext and signext -; works correctly. -; PR1553 -; RUN: llvm-as < %s > /dev/null - -define i32 @bar() { - %t = call i8 @foo( i8 10 sext ) zext - %x = zext i8 %t to i32 - ret i32 %x -} - -declare i8 @foo(i8 signext ) zeroext diff --git a/test/Assembler/2007-11-27-AutoUpgradeAttributes.ll b/test/Assembler/2007-11-27-AutoUpgradeAttributes.ll deleted file mode 100644 index ee260ea..0000000 --- a/test/Assembler/2007-11-27-AutoUpgradeAttributes.ll +++ /dev/null @@ -1,3 +0,0 @@ -; RUN: llvm-as < %s - -@FP = weak global i8 (...) signext * null diff --git a/test/CodeGen/ARM/2007-03-26-RegScavengerAssert.ll b/test/CodeGen/ARM/2007-03-26-RegScavengerAssert.ll deleted file mode 100644 index 76fa364..0000000 --- a/test/CodeGen/ARM/2007-03-26-RegScavengerAssert.ll +++ /dev/null @@ -1,947 +0,0 @@ -; RUN: llc < %s -march=arm -; PR1266 - -target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64" -target triple = "arm-unknown-linux-gnueabi" - %struct.CUMULATIVE_ARGS = type { i32, i32, i32, i32, i32, i32 } - %struct.FILE = type { i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, %struct._IO_marker*, %struct.FILE*, i32, i32, i32, i16, i8, [1 x i8], i8*, i64, i8*, i8*, i32, [52 x i8] } - %struct.VEC_edge = type { i32, i32, [1 x %struct.edge_def*] } - %struct.VEC_tree = type { i32, i32, [1 x %struct.tree_node*] } - %struct._IO_marker = type { %struct._IO_marker*, %struct.FILE*, i32 } - %struct._obstack_chunk = type { i8*, %struct._obstack_chunk*, [4 x i8] } - %struct.addr_diff_vec_flags = type { i8, i8, i8, i8 } - %struct.arm_stack_offsets = type { i32, i32, i32, i32, i32 } - %struct.attribute_spec = type { i8*, i32, i32, i8, i8, i8, %struct.tree_node* (%struct.tree_node**, %struct.tree_node*, %struct.tree_node*, i32, i8*)* } - %struct.basic_block_def = type { %struct.rtx_def*, %struct.rtx_def*, %struct.tree_node*, %struct.VEC_edge*, %struct.VEC_edge*, %struct.bitmap_head_def*, %struct.bitmap_head_def*, i8*, %struct.loop*, [2 x %struct.et_node*], %struct.basic_block_def*, %struct.basic_block_def*, %struct.reorder_block_def*, %struct.bb_ann_d*, i64, i32, i32, i32, i32 } - %struct.bb_ann_d = type { %struct.tree_node*, i8, %struct.edge_prediction* } - %struct.bitmap_element_def = type { %struct.bitmap_element_def*, %struct.bitmap_element_def*, i32, [4 x i32] } - %struct.bitmap_head_def = type { %struct.bitmap_element_def*, %struct.bitmap_element_def*, i32, %struct.bitmap_obstack* } - %struct.bitmap_obstack = type { %struct.bitmap_element_def*, %struct.bitmap_head_def*, %struct.obstack } - %struct.cgraph_edge = type { %struct.cgraph_node*, %struct.cgraph_node*, %struct.cgraph_edge*, %struct.cgraph_edge*, %struct.cgraph_edge*, %struct.cgraph_edge*, %struct.tree_node*, i8*, i8* } - %struct.cgraph_global_info = type { %struct.cgraph_node*, i32, i8 } - %struct.cgraph_local_info = type { i32, i8, i8, i8, i8, i8, i8, i8 } - %struct.cgraph_node = type { %struct.tree_node*, %struct.cgraph_edge*, %struct.cgraph_edge*, %struct.cgraph_node*, %struct.cgraph_node*, %struct.cgraph_node*, %struct.cgraph_node*, %struct.cgraph_node*, %struct.cgraph_node*, %struct.cgraph_node*, i8*, %struct.cgraph_local_info, %struct.cgraph_global_info, %struct.cgraph_rtl_info, i32, i8, i8, i8, i8, i8 } - %struct.cgraph_rtl_info = type { i32, i8, i8 } - %struct.cl_perfunc_opts = type { i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i32, i32, i32, i32, i32, i32, i32, i32, i32 } - %struct.cselib_val_struct = type opaque - %struct.dataflow_d = type { %struct.varray_head_tag*, [2 x %struct.tree_node*] } - %struct.def_operand_ptr = type { %struct.tree_node** } - %struct.def_optype_d = type { i32, [1 x %struct.def_operand_ptr] } - %struct.diagnostic_context = type { %struct.pretty_printer*, [8 x i32], i8, i8, i8, void (%struct.diagnostic_context*, %struct.diagnostic_info*)*, void (%struct.diagnostic_context*, %struct.diagnostic_info*)*, void (i8*, i8**)*, %struct.tree_node*, i32, i32 } - %struct.diagnostic_info = type { %struct.text_info, %struct.location_t, i32 } - %struct.die_struct = type opaque - %struct.edge_def = type { %struct.basic_block_def*, %struct.basic_block_def*, %struct.edge_def_insns, i8*, %struct.location_t*, i32, i32, i64, i32 } - %struct.edge_def_insns = type { %struct.rtx_def* } - %struct.edge_prediction = type { %struct.edge_prediction*, %struct.edge_def*, i32, i32 } - %struct.eh_status = type opaque - %struct.elt_list = type opaque - %struct.elt_t = type { %struct.tree_node*, %struct.tree_node* } - %struct.emit_status = type { i32, i32, %struct.rtx_def*, %struct.rtx_def*, %struct.sequence_stack*, i32, %struct.location_t, i32, i8*, %struct.rtx_def** } - %struct.et_node = type opaque - %struct.expr_status = type { i32, i32, i32, %struct.rtx_def*, %struct.rtx_def*, %struct.rtx_def* } - %struct.function = type { %struct.eh_status*, %struct.expr_status*, %struct.emit_status*, %struct.varasm_status*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.function*, i32, i32, i32, i32, %struct.rtx_def*, %struct.CUMULATIVE_ARGS, %struct.rtx_def*, %struct.rtx_def*, %struct.initial_value_struct*, %struct.rtx_def*, %struct.rtx_def*, %struct.rtx_def*, %struct.rtx_def*, %struct.rtx_def*, %struct.rtx_def*, i8, i32, i64, %struct.tree_node*, %struct.tree_node*, %struct.rtx_def*, %struct.varray_head_tag*, %struct.temp_slot*, i32, %struct.var_refs_queue*, i32, i32, %struct.rtvec_def*, %struct.tree_node*, i32, i32, i32, %struct.machine_function*, i32, i32, i8, i8, %struct.language_function*, %struct.rtx_def*, i32, i32, i32, i32, %struct.location_t, %struct.varray_head_tag*, %struct.tree_node*, i8, i8, i8 } - %struct.ggc_root_tab = type { i8*, i32, i32, void (i8*)*, void (i8*)* } - %struct.gimplify_ctx = type { %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.varray_head_tag*, %struct.htab*, i32, i8, i8 } - %struct.gimplify_init_ctor_preeval_data = type { %struct.tree_node*, i32 } - %struct.ht_identifier = type { i8*, i32, i32 } - %struct.htab = type { i32 (i8*)*, i32 (i8*, i8*)*, void (i8*)*, i8**, i32, i32, i32, i32, i32, i8* (i32, i32)*, void (i8*)*, i8*, i8* (i8*, i32, i32)*, void (i8*, i8*)*, i32 } - %struct.initial_value_struct = type opaque - %struct.lang_decl = type opaque - %struct.lang_hooks = type { i8*, i32, i32 (i32)*, i32 (i32, i8**)*, void (%struct.diagnostic_context*)*, i32 (i32, i8*, i32)*, i8 (i8*, i32) zeroext *, i8 (i8**) zeroext *, i8 () zeroext *, void ()*, void ()*, void (i32)*, void ()*, i64 (%struct.tree_node*)*, %struct.tree_node* (%struct.tree_node*)*, %struct.rtx_def* (%struct.tree_node*, %struct.rtx_def*, i32, i32, %struct.rtx_def**)*, i32 (%struct.tree_node*)*, %struct.tree_node* (%struct.tree_node*)*, i32 (%struct.rtx_def*, %struct.tree_node*)*, void (%struct.tree_node*)*, i8 (%struct.tree_node*) zeroext *, %struct.tree_node* (%struct.tree_node*)*, void (%struct.tree_node*)*, void (%struct.tree_node*)*, i8 () zeroext *, i8, i8, void ()*, void (%struct.FILE*, %struct.tree_node*, i32)*, void (%struct.FILE*, %struct.tree_node*, i32)*, void (%struct.FILE*, %struct.tree_node*, i32)*, void (%struct.FILE*, %struct.tree_node*, i32)*, i8* (%struct.tree_node*, i32)*, i32 (%struct.tree_node*, %struct.tree_node*)*, %struct.tree_node* (%struct.tree_node*)*, void (%struct.diagnostic_context*, i8*)*, %struct.tree_node* (%struct.tree_node*)*, i64 (i64)*, %struct.attribute_spec*, %struct.attribute_spec*, %struct.attribute_spec*, i32 (%struct.tree_node*)*, %struct.lang_hooks_for_functions, %struct.lang_hooks_for_tree_inlining, %struct.lang_hooks_for_callgraph, %struct.lang_hooks_for_tree_dump, %struct.lang_hooks_for_decls, %struct.lang_hooks_for_types, i32 (%struct.tree_node**, %struct.tree_node**, %struct.tree_node**)*, %struct.tree_node* (%struct.tree_node*, %struct.tree_node*)*, %struct.tree_node* (i8*, %struct.tree_node*, i32, i32, i8*, %struct.tree_node*)* } - %struct.lang_hooks_for_callgraph = type { %struct.tree_node* (%struct.tree_node**, i32*, %struct.tree_node*)*, void (%struct.tree_node*)* } - %struct.lang_hooks_for_decls = type { i32 ()*, void (%struct.tree_node*)*, %struct.tree_node* (%struct.tree_node*)*, %struct.tree_node* ()*, i8 (%struct.tree_node*) zeroext *, void ()*, void (%struct.tree_node*)*, i8 (%struct.tree_node*) zeroext *, i8* (%struct.tree_node*)* } - %struct.lang_hooks_for_functions = type { void (%struct.function*)*, void (%struct.function*)*, void (%struct.function*)*, void (%struct.function*)*, i8 (%struct.tree_node*) zeroext * } - %struct.lang_hooks_for_tree_dump = type { i8 (i8*, %struct.tree_node*) zeroext *, i32 (%struct.tree_node*)* } - %struct.lang_hooks_for_tree_inlining = type { %struct.tree_node* (%struct.tree_node**, i32*, %struct.tree_node* (%struct.tree_node**, i32*, i8*)*, i8*, %struct.pointer_set_t*)*, i32 (%struct.tree_node**)*, i32 (%struct.tree_node*)*, %struct.tree_node* (i8*, %struct.tree_node*)*, i32 (%struct.tree_node*, %struct.tree_node*)*, i32 (%struct.tree_node*)*, i8 (%struct.tree_node*, %struct.tree_node*) zeroext *, i32 (%struct.tree_node*)*, void (%struct.tree_node*)*, %struct.tree_node* (%struct.tree_node*, %struct.tree_node*, %struct.tree_node*, i32)* } - %struct.lang_hooks_for_types = type { %struct.tree_node* (i32)*, %struct.tree_node* (i32, i32)*, %struct.tree_node* (i32, i32)*, %struct.tree_node* (%struct.tree_node*)*, %struct.tree_node* (%struct.tree_node*)*, %struct.tree_node* (i32, %struct.tree_node*)*, %struct.tree_node* (%struct.tree_node*)*, void (%struct.tree_node*, i8*)*, void (%struct.tree_node*, %struct.tree_node*)*, %struct.tree_node* (%struct.tree_node*)*, i8 } - %struct.lang_type = type opaque - %struct.language_function = type opaque - %struct.location_t = type { i8*, i32 } - %struct.loop = type opaque - %struct.machine_function = type { %struct.rtx_def*, i32, i32, i32, %struct.arm_stack_offsets, i32, i32, i32, [14 x %struct.rtx_def*] } - %struct.mem_attrs = type { i64, %struct.tree_node*, %struct.rtx_def*, %struct.rtx_def*, i32 } - %struct.obstack = type { i32, %struct._obstack_chunk*, i8*, i8*, i8*, i32, i32, %struct._obstack_chunk* (i8*, i32)*, void (i8*, %struct._obstack_chunk*)*, i8*, i8 } - %struct.output_buffer = type { %struct.obstack, %struct.FILE*, i32, [128 x i8] } - %struct.phi_arg_d = type { %struct.tree_node*, i8 } - %struct.pointer_set_t = type opaque - %struct.pretty_printer = type { %struct.output_buffer*, i8*, i32, i32, i32, i32, i32, i8 (%struct.pretty_printer*, %struct.text_info*) zeroext *, i8, i8 } - %struct.ptr_info_def = type { i8, %struct.bitmap_head_def*, %struct.tree_node* } - %struct.real_value = type { i8, [3 x i8], [5 x i32] } - %struct.reg_attrs = type { %struct.tree_node*, i64 } - %struct.reg_info_def = type opaque - %struct.reorder_block_def = type { %struct.rtx_def*, %struct.rtx_def*, %struct.basic_block_def*, %struct.basic_block_def*, %struct.basic_block_def*, i32, i32, i32 } - %struct.rtunion = type { i32 } - %struct.rtvec_def = type { i32, [1 x %struct.rtx_def*] } - %struct.rtx_def = type { i16, i8, i8, %struct.u } - %struct.sequence_stack = type { %struct.rtx_def*, %struct.rtx_def*, %struct.sequence_stack* } - %struct.stmt_ann_d = type { %struct.tree_ann_common_d, i8, %struct.basic_block_def*, %struct.stmt_operands_d, %struct.dataflow_d*, %struct.bitmap_head_def*, i32 } - %struct.stmt_operands_d = type { %struct.def_optype_d*, %struct.def_optype_d*, %struct.v_may_def_optype_d*, %struct.vuse_optype_d*, %struct.v_may_def_optype_d* } - %struct.temp_slot = type opaque - %struct.text_info = type { i8*, i8**, i32 } - %struct.tree_ann_common_d = type { i32, i8*, %struct.tree_node* } - %struct.tree_ann_d = type { %struct.stmt_ann_d } - %struct.tree_binfo = type { %struct.tree_common, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.VEC_tree*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.VEC_tree } - %struct.tree_block = type { %struct.tree_common, i8, [3 x i8], %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node* } - %struct.tree_common = type { %struct.tree_node*, %struct.tree_node*, %struct.tree_ann_d*, i8, i8, i8, i8, i8 } - %struct.tree_complex = type { %struct.tree_common, %struct.tree_node*, %struct.tree_node* } - %struct.tree_decl = type { %struct.tree_common, %struct.location_t, i32, %struct.tree_node*, i8, i8, i8, i8, i8, i8, i8, i8, i32, %struct.tree_decl_u1, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.rtx_def*, i32, %struct.tree_decl_u2, %struct.tree_node*, %struct.tree_node*, i64, %struct.lang_decl* } - %struct.tree_decl_u1 = type { i64 } - %struct.tree_decl_u1_a = type { i32 } - %struct.tree_decl_u2 = type { %struct.function* } - %struct.tree_exp = type { %struct.tree_common, %struct.location_t*, i32, %struct.tree_node*, [1 x %struct.tree_node*] } - %struct.tree_identifier = type { %struct.tree_common, %struct.ht_identifier } - %struct.tree_int_cst = type { %struct.tree_common, %struct.tree_int_cst_lowhi } - %struct.tree_int_cst_lowhi = type { i64, i64 } - %struct.tree_list = type { %struct.tree_common, %struct.tree_node*, %struct.tree_node* } - %struct.tree_node = type { %struct.tree_decl } - %struct.tree_phi_node = type { %struct.tree_common, %struct.tree_node*, i32, i32, i32, %struct.basic_block_def*, %struct.dataflow_d*, [1 x %struct.phi_arg_d] } - %struct.tree_real_cst = type { %struct.tree_common, %struct.real_value* } - %struct.tree_ssa_name = type { %struct.tree_common, %struct.tree_node*, i32, %struct.ptr_info_def*, %struct.tree_node*, i8* } - %struct.tree_statement_list = type { %struct.tree_common, %struct.tree_statement_list_node*, %struct.tree_statement_list_node* } - %struct.tree_statement_list_node = type { %struct.tree_statement_list_node*, %struct.tree_statement_list_node*, %struct.tree_node* } - %struct.tree_stmt_iterator = type { %struct.tree_statement_list_node*, %struct.tree_node* } - %struct.tree_string = type { %struct.tree_common, i32, [1 x i8] } - %struct.tree_type = type { %struct.tree_common, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, i32, i16, i8, i8, i32, %struct.tree_node*, %struct.tree_node*, %struct.rtunion, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, i64, %struct.lang_type* } - %struct.tree_type_symtab = type { i32 } - %struct.tree_value_handle = type { %struct.tree_common, %struct.value_set*, i32 } - %struct.tree_vec = type { %struct.tree_common, i32, [1 x %struct.tree_node*] } - %struct.tree_vector = type { %struct.tree_common, %struct.tree_node* } - %struct.u = type { [1 x i64] } - %struct.use_operand_ptr = type { %struct.tree_node** } - %struct.use_optype_d = type { i32, [1 x %struct.def_operand_ptr] } - %struct.v_def_use_operand_type_t = type { %struct.tree_node*, %struct.tree_node* } - %struct.v_may_def_optype_d = type { i32, [1 x %struct.elt_t] } - %struct.v_must_def_optype_d = type { i32, [1 x %struct.elt_t] } - %struct.value_set = type opaque - %struct.var_ann_d = type { %struct.tree_ann_common_d, i8, i8, %struct.tree_node*, %struct.varray_head_tag*, i32, i32, i32, %struct.tree_node*, %struct.tree_node* } - %struct.var_refs_queue = type { %struct.rtx_def*, i32, i32, %struct.var_refs_queue* } - %struct.varasm_status = type opaque - %struct.varray_data = type { [1 x i64] } - %struct.varray_head_tag = type { i32, i32, i32, i8*, %struct.u } - %struct.vuse_optype_d = type { i32, [1 x %struct.tree_node*] } -@gt_pch_rs_gt_gimplify_h = external global [2 x %struct.ggc_root_tab] ; <[2 x %struct.ggc_root_tab]*> [#uses=0] -@tmp_var_id_num = external global i32 ; [#uses=0] -@gt_ggc_r_gt_gimplify_h = external global [1 x %struct.ggc_root_tab] ; <[1 x %struct.ggc_root_tab]*> [#uses=0] -@__FUNCTION__.19956 = external global [15 x i8] ; <[15 x i8]*> [#uses=0] -@str = external global [42 x i8] ; <[42 x i8]*> [#uses=1] -@__FUNCTION__.19974 = external global [22 x i8] ; <[22 x i8]*> [#uses=0] -@gimplify_ctxp = external global %struct.gimplify_ctx* ; <%struct.gimplify_ctx**> [#uses=0] -@cl_pf_opts = external global %struct.cl_perfunc_opts ; <%struct.cl_perfunc_opts*> [#uses=0] -@__FUNCTION__.20030 = external global [22 x i8] ; <[22 x i8]*> [#uses=0] -@__FUNCTION__.20099 = external global [24 x i8] ; <[24 x i8]*> [#uses=0] -@global_trees = external global [47 x %struct.tree_node*] ; <[47 x %struct.tree_node*]*> [#uses=0] -@tree_code_type = external global [0 x i32] ; <[0 x i32]*> [#uses=2] -@current_function_decl = external global %struct.tree_node* ; <%struct.tree_node**> [#uses=0] -@str1 = external global [2 x i8] ; <[2 x i8]*> [#uses=0] -@str2 = external global [7 x i8] ; <[7 x i8]*> [#uses=0] -@__FUNCTION__.20151 = external global [19 x i8] ; <[19 x i8]*> [#uses=0] -@__FUNCTION__.20221 = external global [9 x i8] ; <[9 x i8]*> [#uses=0] -@tree_code_length = external global [0 x i8] ; <[0 x i8]*> [#uses=0] -@__FUNCTION__.20435 = external global [17 x i8] ; <[17 x i8]*> [#uses=0] -@__FUNCTION__.20496 = external global [19 x i8] ; <[19 x i8]*> [#uses=0] -@cfun = external global %struct.function* ; <%struct.function**> [#uses=0] -@__FUNCTION__.20194 = external global [15 x i8] ; <[15 x i8]*> [#uses=0] -@__FUNCTION__.19987 = external global [21 x i8] ; <[21 x i8]*> [#uses=0] -@__FUNCTION__.20532 = external global [21 x i8] ; <[21 x i8]*> [#uses=0] -@__FUNCTION__.20583 = external global [19 x i8] ; <[19 x i8]*> [#uses=0] -@__FUNCTION__.20606 = external global [22 x i8] ; <[22 x i8]*> [#uses=0] -@__FUNCTION__.20644 = external global [17 x i8] ; <[17 x i8]*> [#uses=0] -@__FUNCTION__.20681 = external global [13 x i8] ; <[13 x i8]*> [#uses=0] -@__FUNCTION__.20700 = external global [13 x i8] ; <[13 x i8]*> [#uses=0] -@__FUNCTION__.21426 = external global [20 x i8] ; <[20 x i8]*> [#uses=0] -@__FUNCTION__.21471 = external global [17 x i8] ; <[17 x i8]*> [#uses=0] -@__FUNCTION__.21962 = external global [27 x i8] ; <[27 x i8]*> [#uses=0] -@__FUNCTION__.22992 = external global [21 x i8] ; <[21 x i8]*> [#uses=0] -@__FUNCTION__.23735 = external global [15 x i8] ; <[15 x i8]*> [#uses=0] -@lang_hooks = external global %struct.lang_hooks ; <%struct.lang_hooks*> [#uses=0] -@__FUNCTION__.27383 = external global [22 x i8] ; <[22 x i8]*> [#uses=0] -@__FUNCTION__.20776 = external global [21 x i8] ; <[21 x i8]*> [#uses=0] -@__FUNCTION__.10672 = external global [9 x i8] ; <[9 x i8]*> [#uses=0] -@str3 = external global [47 x i8] ; <[47 x i8]*> [#uses=0] -@str4 = external global [7 x i8] ; <[7 x i8]*> [#uses=0] -@__FUNCTION__.20065 = external global [25 x i8] ; <[25 x i8]*> [#uses=0] -@__FUNCTION__.23256 = external global [16 x i8] ; <[16 x i8]*> [#uses=0] -@__FUNCTION__.23393 = external global [19 x i8] ; <[19 x i8]*> [#uses=0] -@__FUNCTION__.20043 = external global [21 x i8] ; <[21 x i8]*> [#uses=0] -@__FUNCTION__.20729 = external global [23 x i8] ; <[23 x i8]*> [#uses=0] -@__FUNCTION__.20563 = external global [24 x i8] ; <[24 x i8]*> [#uses=0] -@__FUNCTION__.10663 = external global [10 x i8] ; <[10 x i8]*> [#uses=0] -@__FUNCTION__.20367 = external global [21 x i8] ; <[21 x i8]*> [#uses=0] -@__FUNCTION__.20342 = external global [15 x i8] ; <[15 x i8]*> [#uses=0] -@input_location = external global %struct.location_t ; <%struct.location_t*> [#uses=0] -@__FUNCTION__.24510 = external global [27 x i8] ; <[27 x i8]*> [#uses=0] -@__FUNCTION__.25097 = external global [25 x i8] ; <[25 x i8]*> [#uses=0] -@__FUNCTION__.24705 = external global [26 x i8] ; <[26 x i8]*> [#uses=0] -@str5 = external global [2 x i8] ; <[2 x i8]*> [#uses=0] -@__FUNCTION__.25136 = external global [21 x i8] ; <[21 x i8]*> [#uses=0] -@__FUNCTION__.24450 = external global [31 x i8] ; <[31 x i8]*> [#uses=0] -@implicit_built_in_decls = external global [471 x %struct.tree_node*] ; <[471 x %struct.tree_node*]*> [#uses=0] -@__FUNCTION__.24398 = external global [31 x i8] ; <[31 x i8]*> [#uses=0] -@__FUNCTION__.26156 = external global [14 x i8] ; <[14 x i8]*> [#uses=1] -@unknown_location = external global %struct.location_t ; <%struct.location_t*> [#uses=0] -@__FUNCTION__.23038 = external global [19 x i8] ; <[19 x i8]*> [#uses=0] -@str6 = external global [43 x i8] ; <[43 x i8]*> [#uses=0] -@__FUNCTION__.25476 = external global [19 x i8] ; <[19 x i8]*> [#uses=0] -@__FUNCTION__.22136 = external global [20 x i8] ; <[20 x i8]*> [#uses=1] -@__FUNCTION__.21997 = external global [23 x i8] ; <[23 x i8]*> [#uses=0] -@__FUNCTION__.21247 = external global [19 x i8] ; <[19 x i8]*> [#uses=0] -@built_in_decls = external global [471 x %struct.tree_node*] ; <[471 x %struct.tree_node*]*> [#uses=0] -@__FUNCTION__.21924 = external global [19 x i8] ; <[19 x i8]*> [#uses=0] -@__FUNCTION__.21861 = external global [25 x i8] ; <[25 x i8]*> [#uses=0] -@global_dc = external global %struct.diagnostic_context* ; <%struct.diagnostic_context**> [#uses=0] -@__FUNCTION__.25246 = external global [32 x i8] ; <[32 x i8]*> [#uses=0] -@str7 = external global [4 x i8] ; <[4 x i8]*> [#uses=0] -@stderr = external global %struct.FILE* ; <%struct.FILE**> [#uses=0] -@str8 = external global [24 x i8] ; <[24 x i8]*> [#uses=0] -@str9 = external global [22 x i8] ; <[22 x i8]*> [#uses=0] -@__FUNCTION__.27653 = external global [21 x i8] ; <[21 x i8]*> [#uses=0] -@__FUNCTION__.27322 = external global [21 x i8] ; <[21 x i8]*> [#uses=0] -@__FUNCTION__.27139 = external global [20 x i8] ; <[20 x i8]*> [#uses=0] -@__FUNCTION__.22462 = external global [23 x i8] ; <[23 x i8]*> [#uses=0] -@str10 = external global [6 x i8] ; <[6 x i8]*> [#uses=0] -@__FUNCTION__.25389 = external global [19 x i8] ; <[19 x i8]*> [#uses=0] -@__FUNCTION__.25650 = external global [18 x i8] ; <[18 x i8]*> [#uses=0] -@str11 = external global [32 x i8] ; <[32 x i8]*> [#uses=0] -@str12 = external global [3 x i8] ; <[3 x i8]*> [#uses=0] -@str13 = external global [44 x i8] ; <[44 x i8]*> [#uses=0] -@__FUNCTION__.27444 = external global [14 x i8] ; <[14 x i8]*> [#uses=0] -@timevar_enable = external global i8 ; [#uses=0] -@__FUNCTION__.27533 = external global [23 x i8] ; <[23 x i8]*> [#uses=0] -@flag_instrument_function_entry_exit = external global i32 ; [#uses=0] -@__FUNCTION__.25331 = external global [23 x i8] ; <[23 x i8]*> [#uses=0] -@__FUNCTION__.20965 = external global [19 x i8] ; <[19 x i8]*> [#uses=0] -@str14 = external global [12 x i8] ; <[12 x i8]*> [#uses=0] -@__FUNCTION__.26053 = external global [21 x i8] ; <[21 x i8]*> [#uses=0] -@__FUNCTION__.26004 = external global [20 x i8] ; <[20 x i8]*> [#uses=0] -@str15 = external global [8 x i8] ; <[8 x i8]*> [#uses=0] -@__FUNCTION__.21584 = external global [21 x i8] ; <[21 x i8]*> [#uses=0] -@str16 = external global [12 x i8] ; <[12 x i8]*> [#uses=0] -@__FUNCTION__.25903 = external global [28 x i8] ; <[28 x i8]*> [#uses=0] -@__FUNCTION__.22930 = external global [23 x i8] ; <[23 x i8]*> [#uses=0] -@__FUNCTION__.23832 = external global [19 x i8] ; <[19 x i8]*> [#uses=0] -@str17 = external global [6 x i8] ; <[6 x i8]*> [#uses=0] -@__FUNCTION__.24620 = external global [24 x i8] ; <[24 x i8]*> [#uses=0] -@__FUNCTION__.24582 = external global [30 x i8] ; <[30 x i8]*> [#uses=0] -@__FUNCTION__.21382 = external global [19 x i8] ; <[19 x i8]*> [#uses=0] -@__FUNCTION__.21117 = external global [21 x i8] ; <[21 x i8]*> [#uses=0] - - -declare void @push_gimplify_context() - -declare i32 @gimple_tree_hash(i8*) - -declare i32 @iterative_hash_expr(%struct.tree_node*, i32) - -declare i32 @gimple_tree_eq(i8*, i8*) - -declare i32 @operand_equal_p(%struct.tree_node*, %struct.tree_node*, i32) - -declare void @fancy_abort(i8*, i32, i8*) - -declare i8* @xcalloc(i32, i32) - -declare %struct.htab* @htab_create(i32, i32 (i8*)*, i32 (i8*, i8*)*, void (i8*)*) - -declare void @free(i8*) - -declare void @gimple_push_bind_expr(%struct.tree_node*) - -declare void @gimple_pop_bind_expr() - -declare %struct.tree_node* @gimple_current_bind_expr() - -declare fastcc void @gimple_push_condition() - -declare %struct.tree_node* @create_artificial_label() - -declare %struct.tree_node* @build_decl_stat(i32, %struct.tree_node*, %struct.tree_node*) - -declare void @tree_class_check_failed(%struct.tree_node*, i32, i8*, i32, i8*) - -declare %struct.tree_node* @create_tmp_var_name(i8*) - -declare i32 @strlen(i8*) - -declare void @llvm.memcpy.i32(i8*, i8*, i32, i32) - -declare i32 @sprintf(i8*, i8*, ...) - -declare %struct.tree_node* @get_identifier(i8*) - -declare %struct.tree_node* @create_tmp_var_raw(%struct.tree_node*, i8*) - -declare %struct.tree_node* @build_qualified_type(%struct.tree_node*, i32) - -declare i8* @get_name(%struct.tree_node*) - -declare void @tree_operand_check_failed(i32, i32, i8*, i32, i8*) - -declare void @tree_check_failed(%struct.tree_node*, i8*, i32, i8*, ...) - -declare void @declare_tmp_vars(%struct.tree_node*, %struct.tree_node*) - -declare %struct.tree_node* @nreverse(%struct.tree_node*) - -declare void @gimple_add_tmp_var(%struct.tree_node*) - -declare void @record_vars(%struct.tree_node*) - -declare %struct.tree_node* @create_tmp_var(%struct.tree_node*, i8*) - -declare void @pop_gimplify_context(%struct.tree_node*) - -declare void @htab_delete(%struct.htab*) - -declare fastcc void @annotate_one_with_locus(%struct.tree_node*, i32, i32) - -declare void @annotate_with_locus(%struct.tree_node*, i32, i32) - -declare %struct.tree_node* @mostly_copy_tree_r(%struct.tree_node**, i32*, i8*) - -declare %struct.tree_node* @copy_tree_r(%struct.tree_node**, i32*, i8*) - -declare %struct.tree_node* @mark_decls_volatile_r(%struct.tree_node**, i32*, i8*) - -declare %struct.tree_node* @copy_if_shared_r(%struct.tree_node**, i32*, i8*) - -declare %struct.tree_node* @walk_tree(%struct.tree_node**, %struct.tree_node* (%struct.tree_node**, i32*, i8*)*, i8*, %struct.pointer_set_t*) - -declare %struct.tree_node* @unmark_visited_r(%struct.tree_node**, i32*, i8*) - -declare fastcc void @unshare_body(%struct.tree_node**, %struct.tree_node*) - -declare %struct.cgraph_node* @cgraph_node(%struct.tree_node*) - -declare fastcc void @unvisit_body(%struct.tree_node**, %struct.tree_node*) - -declare void @unshare_all_trees(%struct.tree_node*) - -declare %struct.tree_node* @unshare_expr(%struct.tree_node*) - -declare %struct.tree_node* @build_and_jump(%struct.tree_node**) - -declare %struct.tree_node* @build1_stat(i32, %struct.tree_node*, %struct.tree_node*) - -declare i32 @compare_case_labels(i8*, i8*) - -declare i32 @tree_int_cst_compare(%struct.tree_node*, %struct.tree_node*) - -declare void @sort_case_labels(%struct.tree_node*) - -declare void @tree_vec_elt_check_failed(i32, i32, i8*, i32, i8*) - -declare void @qsort(i8*, i32, i32, i32 (i8*, i8*)*) - -declare %struct.tree_node* @force_labels_r(%struct.tree_node**, i32*, i8*) - -declare fastcc void @canonicalize_component_ref(%struct.tree_node**) - -declare %struct.tree_node* @get_unwidened(%struct.tree_node*, %struct.tree_node*) - -declare fastcc void @maybe_with_size_expr(%struct.tree_node**) - -declare %struct.tree_node* @substitute_placeholder_in_expr(%struct.tree_node*, %struct.tree_node*) - -declare %struct.tree_node* @build2_stat(i32, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*) - -declare fastcc %struct.tree_node* @gimple_boolify(%struct.tree_node*) - -declare %struct.tree_node* @convert(%struct.tree_node*, %struct.tree_node*) - -declare %struct.tree_node* @gimplify_init_ctor_preeval_1(%struct.tree_node**, i32*, i8*) - -declare i64 @get_alias_set(%struct.tree_node*) - -declare i32 @alias_sets_conflict_p(i64, i64) - -declare fastcc i8 @cpt_same_type(%struct.tree_node*, %struct.tree_node*) zeroext - -declare %struct.tree_node* @check_pointer_types_r(%struct.tree_node**, i32*, i8*) - -declare %struct.tree_node* @voidify_wrapper_expr(%struct.tree_node*, %struct.tree_node*) - -declare i32 @integer_zerop(%struct.tree_node*) - -declare fastcc void @append_to_statement_list_1(%struct.tree_node*, %struct.tree_node**) - -declare %struct.tree_node* @alloc_stmt_list() - -declare void @tsi_link_after(%struct.tree_stmt_iterator*, %struct.tree_node*, i32) - -declare void @append_to_statement_list_force(%struct.tree_node*, %struct.tree_node**) - -declare void @append_to_statement_list(%struct.tree_node*, %struct.tree_node**) - -declare fastcc %struct.tree_node* @shortcut_cond_r(%struct.tree_node*, %struct.tree_node**, %struct.tree_node**) - -declare %struct.tree_node* @build3_stat(i32, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*) - -declare fastcc %struct.tree_node* @shortcut_cond_expr(%struct.tree_node*) - -declare %struct.tree_node* @expr_last(%struct.tree_node*) - -declare i8 @block_may_fallthru(%struct.tree_node*) zeroext - -declare fastcc void @gimple_pop_condition(%struct.tree_node**) - -declare %struct.tree_node* @gimple_build_eh_filter(%struct.tree_node*, %struct.tree_node*, %struct.tree_node*) - -declare void @annotate_all_with_locus(%struct.tree_node**, i32, i32) - -declare fastcc %struct.tree_node* @internal_get_tmp_var(%struct.tree_node*, %struct.tree_node**, %struct.tree_node**, i8 zeroext ) - -define i32 @gimplify_expr(%struct.tree_node** %expr_p, %struct.tree_node** %pre_p, %struct.tree_node** %post_p, i8 (%struct.tree_node*) zeroext * %gimple_test_f, i32 %fallback) { -entry: - %internal_post = alloca %struct.tree_node*, align 4 ; <%struct.tree_node**> [#uses=2] - %pre_p_addr.0 = select i1 false, %struct.tree_node** null, %struct.tree_node** %pre_p ; <%struct.tree_node**> [#uses=7] - %post_p_addr.0 = select i1 false, %struct.tree_node** %internal_post, %struct.tree_node** %post_p ; <%struct.tree_node**> [#uses=7] - br i1 false, label %bb277, label %bb191 - -bb191: ; preds = %entry - ret i32 0 - -bb277: ; preds = %entry - %tmp283 = call i32 null( %struct.tree_node** %expr_p, %struct.tree_node** %pre_p_addr.0, %struct.tree_node** %post_p_addr.0 ) ; [#uses=1] - switch i32 %tmp283, label %bb7478 [ - i32 0, label %cond_next289 - i32 -1, label %cond_next298 - ] - -cond_next289: ; preds = %bb277 - ret i32 0 - -cond_next298: ; preds = %bb277 - switch i32 0, label %bb7444 [ - i32 24, label %bb7463 - i32 25, label %bb7463 - i32 26, label %bb7463 - i32 27, label %bb7463 - i32 28, label %bb7463 - i32 33, label %bb4503 - i32 39, label %bb397 - i32 40, label %bb5650 - i32 41, label %bb4339 - i32 42, label %bb4350 - i32 43, label %bb4350 - i32 44, label %bb319 - i32 45, label %bb397 - i32 46, label %bb6124 - i32 47, label %bb7463 - i32 49, label %bb5524 - i32 50, label %bb1283 - i32 51, label %bb1289 - i32 52, label %bb1289 - i32 53, label %bb5969 - i32 54, label %bb408 - i32 56, label %bb5079 - i32 57, label %bb428 - i32 59, label %bb5965 - i32 74, label %bb4275 - i32 75, label %bb4275 - i32 76, label %bb4275 - i32 77, label %bb4275 - i32 91, label %bb1296 - i32 92, label %bb1296 - i32 96, label %bb1322 - i32 112, label %bb2548 - i32 113, label %bb2548 - i32 115, label %bb397 - i32 116, label %bb5645 - i32 117, label %bb1504 - i32 121, label %bb397 - i32 122, label %bb397 - i32 123, label %bb313 - i32 124, label %bb313 - i32 125, label %bb313 - i32 126, label %bb313 - i32 127, label %bb2141 - i32 128, label %cond_next5873 - i32 129, label %cond_next5873 - i32 130, label %bb4536 - i32 131, label %bb5300 - i32 132, label %bb5170 - i32 133, label %bb5519 - i32 134, label %bb5091 - i32 135, label %bb5083 - i32 136, label %bb5087 - i32 137, label %bb5382 - i32 139, label %bb7463 - i32 140, label %bb7463 - i32 142, label %bb5974 - i32 143, label %bb6049 - i32 147, label %bb6296 - i32 151, label %cond_next6474 - ] - -bb313: ; preds = %cond_next298, %cond_next298, %cond_next298, %cond_next298 - ret i32 0 - -bb319: ; preds = %cond_next298 - ret i32 0 - -bb397: ; preds = %cond_next298, %cond_next298, %cond_next298, %cond_next298, %cond_next298 - ret i32 0 - -bb408: ; preds = %cond_next298 - %tmp413 = call fastcc i32 @gimplify_cond_expr( %struct.tree_node** %expr_p, %struct.tree_node** %pre_p_addr.0, %struct.tree_node** %post_p_addr.0, %struct.tree_node* null, i32 %fallback ) ; [#uses=0] - ret i32 0 - -bb428: ; preds = %cond_next298 - ret i32 0 - -bb1283: ; preds = %cond_next298 - ret i32 0 - -bb1289: ; preds = %cond_next298, %cond_next298 - ret i32 0 - -bb1296: ; preds = %cond_next298, %cond_next298 - ret i32 0 - -bb1322: ; preds = %cond_next298 - ret i32 0 - -bb1504: ; preds = %cond_next298 - ret i32 0 - -bb2141: ; preds = %cond_next298 - ret i32 0 - -bb2548: ; preds = %cond_next298, %cond_next298 - %tmp2554 = load %struct.tree_node** %expr_p ; <%struct.tree_node*> [#uses=2] - %tmp2562 = and i32 0, 255 ; [#uses=1] - %tmp2569 = add i8 0, -4 ; [#uses=1] - icmp ugt i8 %tmp2569, 5 ; :0 [#uses=2] - %tmp2587 = load i8* null ; [#uses=1] - icmp eq i8 %tmp2587, 0 ; :1 [#uses=2] - %tmp2607 = load %struct.tree_node** null ; <%struct.tree_node*> [#uses=2] - br i1 false, label %bb2754, label %cond_next2617 - -cond_next2617: ; preds = %bb2548 - ret i32 0 - -bb2754: ; preds = %bb2548 - br i1 %0, label %cond_true2780, label %cond_next2783 - -cond_true2780: ; preds = %bb2754 - call void @tree_class_check_failed( %struct.tree_node* %tmp2554, i32 9, i8* getelementptr ([42 x i8]* @str, i32 0, i32 0), i32 1415, i8* getelementptr ([20 x i8]* @__FUNCTION__.22136, i32 0, i32 0) ) - unreachable - -cond_next2783: ; preds = %bb2754 - %tmp2825 = and i32 0, 255 ; [#uses=1] - %tmp2829 = load i32* null ; [#uses=1] - %tmp28292830 = trunc i32 %tmp2829 to i8 ; [#uses=1] - %tmp2832 = add i8 %tmp28292830, -4 ; [#uses=1] - icmp ugt i8 %tmp2832, 5 ; :2 [#uses=1] - icmp eq i8 0, 0 ; :3 [#uses=1] - %tmp28652866 = bitcast %struct.tree_node* %tmp2607 to %struct.tree_exp* ; <%struct.tree_exp*> [#uses=1] - %tmp2868 = getelementptr %struct.tree_exp* %tmp28652866, i32 0, i32 4, i32 0 ; <%struct.tree_node**> [#uses=1] - %tmp2870 = load %struct.tree_node** %tmp2868 ; <%struct.tree_node*> [#uses=1] - br i1 %1, label %cond_true2915, label %cond_next2927 - -cond_true2915: ; preds = %cond_next2783 - unreachable - -cond_next2927: ; preds = %cond_next2783 - %tmp2938 = load %struct.tree_node** null ; <%struct.tree_node*> [#uses=1] - %tmp2944 = load i32* null ; [#uses=1] - %tmp2946 = and i32 %tmp2944, 255 ; [#uses=1] - %tmp2949 = getelementptr [0 x i32]* @tree_code_type, i32 0, i32 %tmp2946 ; [#uses=1] - %tmp2950 = load i32* %tmp2949 ; [#uses=1] - icmp eq i32 %tmp2950, 2 ; :4 [#uses=1] - br i1 %4, label %cond_next2954, label %cond_true2951 - -cond_true2951: ; preds = %cond_next2927 - call void @tree_class_check_failed( %struct.tree_node* %tmp2938, i32 2, i8* getelementptr ([42 x i8]* @str, i32 0, i32 0), i32 1415, i8* getelementptr ([20 x i8]* @__FUNCTION__.22136, i32 0, i32 0) ) - unreachable - -cond_next2954: ; preds = %cond_next2927 - br i1 %0, label %cond_true2991, label %cond_next2994 - -cond_true2991: ; preds = %cond_next2954 - unreachable - -cond_next2994: ; preds = %cond_next2954 - br i1 %1, label %cond_true3009, label %cond_next3021 - -cond_true3009: ; preds = %cond_next2994 - call void @tree_operand_check_failed( i32 0, i32 %tmp2562, i8* getelementptr ([42 x i8]* @str, i32 0, i32 0), i32 1415, i8* getelementptr ([20 x i8]* @__FUNCTION__.22136, i32 0, i32 0) ) - unreachable - -cond_next3021: ; preds = %cond_next2994 - br i1 %2, label %cond_true3044, label %cond_next3047 - -cond_true3044: ; preds = %cond_next3021 - call void @tree_class_check_failed( %struct.tree_node* %tmp2607, i32 9, i8* getelementptr ([42 x i8]* @str, i32 0, i32 0), i32 1415, i8* getelementptr ([20 x i8]* @__FUNCTION__.22136, i32 0, i32 0) ) - unreachable - -cond_next3047: ; preds = %cond_next3021 - br i1 %3, label %cond_true3062, label %cond_next3074 - -cond_true3062: ; preds = %cond_next3047 - call void @tree_operand_check_failed( i32 0, i32 %tmp2825, i8* getelementptr ([42 x i8]* @str, i32 0, i32 0), i32 1415, i8* getelementptr ([20 x i8]* @__FUNCTION__.22136, i32 0, i32 0) ) - unreachable - -cond_next3074: ; preds = %cond_next3047 - %tmp3084 = getelementptr %struct.tree_node* %tmp2870, i32 0, i32 0, i32 0, i32 1 ; <%struct.tree_node**> [#uses=1] - %tmp3085 = load %struct.tree_node** %tmp3084 ; <%struct.tree_node*> [#uses=1] - %tmp31043105 = bitcast %struct.tree_node* %tmp3085 to %struct.tree_type* ; <%struct.tree_type*> [#uses=1] - %tmp3106 = getelementptr %struct.tree_type* %tmp31043105, i32 0, i32 6 ; [#uses=1] - %tmp31063107 = bitcast i16* %tmp3106 to i32* ; [#uses=1] - %tmp3108 = load i32* %tmp31063107 ; [#uses=1] - xor i32 %tmp3108, 0 ; :5 [#uses=1] - %tmp81008368 = and i32 %5, 65024 ; [#uses=1] - icmp eq i32 %tmp81008368, 0 ; :6 [#uses=1] - br i1 %6, label %cond_next3113, label %bb3351 - -cond_next3113: ; preds = %cond_next3074 - ret i32 0 - -bb3351: ; preds = %cond_next3074 - %tmp3354 = call i8 @tree_ssa_useless_type_conversion( %struct.tree_node* %tmp2554 ) zeroext ; [#uses=1] - icmp eq i8 %tmp3354, 0 ; :7 [#uses=1] - %tmp3424 = load i32* null ; [#uses=1] - br i1 %7, label %cond_next3417, label %cond_true3356 - -cond_true3356: ; preds = %bb3351 - ret i32 0 - -cond_next3417: ; preds = %bb3351 - br i1 false, label %cond_true3429, label %cond_next4266 - -cond_true3429: ; preds = %cond_next3417 - %tmp3443 = and i32 %tmp3424, 255 ; [#uses=0] - ret i32 0 - -cond_next4266: ; preds = %cond_next3417 - %tmp4268 = load %struct.tree_node** %expr_p ; <%struct.tree_node*> [#uses=1] - icmp eq %struct.tree_node* %tmp4268, null ; :8 [#uses=1] - br i1 %8, label %bb4275, label %bb7463 - -bb4275: ; preds = %cond_next4266, %cond_next298, %cond_next298, %cond_next298, %cond_next298 - %tmp4289 = and i32 0, 255 ; [#uses=2] - %tmp4292 = getelementptr [0 x i32]* @tree_code_type, i32 0, i32 %tmp4289 ; [#uses=1] - %tmp4293 = load i32* %tmp4292 ; [#uses=1] - %tmp42934294 = trunc i32 %tmp4293 to i8 ; [#uses=1] - %tmp4296 = add i8 %tmp42934294, -4 ; [#uses=1] - icmp ugt i8 %tmp4296, 5 ; :9 [#uses=1] - br i1 %9, label %cond_true4297, label %cond_next4300 - -cond_true4297: ; preds = %bb4275 - unreachable - -cond_next4300: ; preds = %bb4275 - %tmp4314 = load i8* null ; [#uses=1] - icmp eq i8 %tmp4314, 0 ; :10 [#uses=1] - br i1 %10, label %cond_true4315, label %cond_next4327 - -cond_true4315: ; preds = %cond_next4300 - call void @tree_operand_check_failed( i32 0, i32 %tmp4289, i8* getelementptr ([42 x i8]* @str, i32 0, i32 0), i32 3997, i8* getelementptr ([14 x i8]* @__FUNCTION__.26156, i32 0, i32 0) ) - unreachable - -cond_next4327: ; preds = %cond_next4300 - %tmp4336 = call i32 @gimplify_expr( %struct.tree_node** null, %struct.tree_node** %pre_p_addr.0, %struct.tree_node** %post_p_addr.0, i8 (%struct.tree_node*) zeroext * @is_gimple_val, i32 1 ) ; [#uses=0] - ret i32 0 - -bb4339: ; preds = %cond_next298 - ret i32 0 - -bb4350: ; preds = %cond_next298, %cond_next298 - ret i32 0 - -bb4503: ; preds = %cond_next298 - ret i32 0 - -bb4536: ; preds = %cond_next298 - ret i32 0 - -bb5079: ; preds = %cond_next298 - ret i32 0 - -bb5083: ; preds = %cond_next298 - ret i32 0 - -bb5087: ; preds = %cond_next298 - ret i32 0 - -bb5091: ; preds = %cond_next298 - ret i32 0 - -bb5170: ; preds = %cond_next298 - ret i32 0 - -bb5300: ; preds = %cond_next298 - ret i32 0 - -bb5382: ; preds = %cond_next298 - ret i32 0 - -bb5519: ; preds = %cond_next298 - ret i32 0 - -bb5524: ; preds = %cond_next298 - ret i32 0 - -bb5645: ; preds = %cond_next298 - ret i32 0 - -bb5650: ; preds = %cond_next298 - ret i32 0 - -cond_next5873: ; preds = %cond_next298, %cond_next298 - ret i32 0 - -bb5965: ; preds = %cond_next298 - %tmp5968 = call fastcc i32 @gimplify_cleanup_point_expr( %struct.tree_node** %expr_p, %struct.tree_node** %pre_p_addr.0 ) ; [#uses=0] - ret i32 0 - -bb5969: ; preds = %cond_next298 - %tmp5973 = call fastcc i32 @gimplify_target_expr( %struct.tree_node** %expr_p, %struct.tree_node** %pre_p_addr.0, %struct.tree_node** %post_p_addr.0 ) ; [#uses=0] - ret i32 0 - -bb5974: ; preds = %cond_next298 - ret i32 0 - -bb6049: ; preds = %cond_next298 - ret i32 0 - -bb6124: ; preds = %cond_next298 - ret i32 0 - -bb6296: ; preds = %cond_next298 - ret i32 0 - -cond_next6474: ; preds = %cond_next298 - icmp eq %struct.tree_node** %internal_post, %post_p_addr.0 ; :11 [#uses=1] - %iftmp.381.0 = select i1 %11, %struct.tree_node** null, %struct.tree_node** %post_p_addr.0 ; <%struct.tree_node**> [#uses=1] - %tmp6490 = call i32 @gimplify_expr( %struct.tree_node** null, %struct.tree_node** %pre_p_addr.0, %struct.tree_node** %iftmp.381.0, i8 (%struct.tree_node*) zeroext * %gimple_test_f, i32 %fallback ) ; [#uses=0] - %tmp6551 = call i32 @gimplify_expr( %struct.tree_node** null, %struct.tree_node** %pre_p_addr.0, %struct.tree_node** %post_p_addr.0, i8 (%struct.tree_node*) zeroext * @is_gimple_val, i32 1 ) ; [#uses=0] - ret i32 0 - -bb7444: ; preds = %cond_next298 - ret i32 0 - -bb7463: ; preds = %cond_next4266, %cond_next298, %cond_next298, %cond_next298, %cond_next298, %cond_next298, %cond_next298, %cond_next298, %cond_next298 - ret i32 0 - -bb7478: ; preds = %bb277 - ret i32 0 -} - -declare i8 @is_gimple_formal_tmp_rhs(%struct.tree_node*) zeroext - -declare void @gimplify_and_add(%struct.tree_node*, %struct.tree_node**) - -declare %struct.tree_node* @get_initialized_tmp_var(%struct.tree_node*, %struct.tree_node**, %struct.tree_node**) - -declare %struct.tree_node* @get_formal_tmp_var(%struct.tree_node*, %struct.tree_node**) - -declare fastcc void @gimplify_init_ctor_preeval(%struct.tree_node**, %struct.tree_node**, %struct.tree_node**, %struct.gimplify_init_ctor_preeval_data*) - -declare i8 @type_contains_placeholder_p(%struct.tree_node*) zeroext - -declare i8 @is_gimple_mem_rhs(%struct.tree_node*) zeroext - -declare fastcc i32 @gimplify_modify_expr_rhs(%struct.tree_node**, %struct.tree_node**, %struct.tree_node**, %struct.tree_node**, %struct.tree_node**, i8 zeroext ) - -declare %struct.tree_node* @fold_indirect_ref(%struct.tree_node*) - -declare fastcc i32 @gimplify_compound_expr(%struct.tree_node**, %struct.tree_node**, i8 zeroext ) - -declare i8 @is_gimple_lvalue(%struct.tree_node*) zeroext - -declare void @categorize_ctor_elements(%struct.tree_node*, i64*, i64*, i64*, i8*) - -declare void @lhd_set_decl_assembler_name(%struct.tree_node*) - -declare i64 @int_size_in_bytes(%struct.tree_node*) - -declare i32 @can_move_by_pieces(i64, i32) - -declare i64 @count_type_elements(%struct.tree_node*) - -declare void @gimplify_stmt(%struct.tree_node**) - -declare %struct.tree_node* @get_base_address(%struct.tree_node*) - -declare fastcc void @gimplify_init_ctor_eval(%struct.tree_node*, %struct.tree_node*, %struct.tree_node**, i8 zeroext ) - -declare %struct.tree_node* @build_complex(%struct.tree_node*, %struct.tree_node*, %struct.tree_node*) - -declare i8 (%struct.tree_node*) zeroext * @rhs_predicate_for(%struct.tree_node*) - -declare %struct.tree_node* @build_vector(%struct.tree_node*, %struct.tree_node*) - -declare i8 @is_gimple_val(%struct.tree_node*) zeroext - -declare i8 @is_gimple_reg_type(%struct.tree_node*) zeroext - -declare fastcc i32 @gimplify_cond_expr(%struct.tree_node**, %struct.tree_node**, %struct.tree_node**, %struct.tree_node*, i32) - -declare fastcc i32 @gimplify_modify_expr(%struct.tree_node**, %struct.tree_node**, %struct.tree_node**, i8 zeroext ) - -declare %struct.tree_node* @tree_cons_stat(%struct.tree_node*, %struct.tree_node*, %struct.tree_node*) - -declare %struct.tree_node* @build_fold_addr_expr(%struct.tree_node*) - -declare %struct.tree_node* @build_function_call_expr(%struct.tree_node*, %struct.tree_node*) - -declare i8 @is_gimple_addressable(%struct.tree_node*) zeroext - -declare i8 @is_gimple_reg(%struct.tree_node*) zeroext - -declare %struct.tree_node* @make_ssa_name(%struct.tree_node*, %struct.tree_node*) - -declare i8 @tree_ssa_useless_type_conversion(%struct.tree_node*) zeroext - -declare fastcc i32 @gimplify_self_mod_expr(%struct.tree_node**, %struct.tree_node**, %struct.tree_node**, i8 zeroext ) - -declare fastcc i32 @gimplify_compound_lval(%struct.tree_node**, %struct.tree_node**, %struct.tree_node**, i32) - -declare %struct.tree_node* @get_callee_fndecl(%struct.tree_node*) - -declare %struct.tree_node* @fold_builtin(%struct.tree_node*, i8 zeroext ) - -declare void @error(i8*, ...) - -declare %struct.tree_node* @build_empty_stmt() - -declare i8 @fold_builtin_next_arg(%struct.tree_node*) zeroext - -declare fastcc i32 @gimplify_arg(%struct.tree_node**, %struct.tree_node**) - -declare i8 @is_gimple_call_addr(%struct.tree_node*) zeroext - -declare i32 @call_expr_flags(%struct.tree_node*) - -declare void @recalculate_side_effects(%struct.tree_node*) - -declare %struct.tree_node* @fold_convert(%struct.tree_node*, %struct.tree_node*) - -declare void @recompute_tree_invarant_for_addr_expr(%struct.tree_node*) - -declare i32 @gimplify_va_arg_expr(%struct.tree_node**, %struct.tree_node**, %struct.tree_node**) - -declare %struct.tree_node* @size_int_kind(i64, i32) - -declare %struct.tree_node* @size_binop(i32, %struct.tree_node*, %struct.tree_node*) - -declare %struct.tree_node* @build4_stat(i32, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*) - -declare void @gimplify_type_sizes(%struct.tree_node*, %struct.tree_node**) - -declare void @gimplify_one_sizepos(%struct.tree_node**, %struct.tree_node**) - -declare %struct.tree_node* @build_pointer_type(%struct.tree_node*) - -declare %struct.tree_node* @build_fold_indirect_ref(%struct.tree_node*) - -declare fastcc i32 @gimplify_bind_expr(%struct.tree_node**, %struct.tree_node*, %struct.tree_node**) - -declare fastcc void @gimplify_loop_expr(%struct.tree_node**, %struct.tree_node**) - -declare fastcc i32 @gimplify_switch_expr(%struct.tree_node**, %struct.tree_node**) - -declare %struct.tree_node* @decl_function_context(%struct.tree_node*) - -declare %struct.varray_head_tag* @varray_grow(%struct.varray_head_tag*, i32) - -declare fastcc void @gimplify_return_expr(%struct.tree_node*, %struct.tree_node**) - -declare fastcc i32 @gimplify_save_expr(%struct.tree_node**, %struct.tree_node**, %struct.tree_node**) - -declare fastcc i32 @gimplify_asm_expr(%struct.tree_node**, %struct.tree_node**, %struct.tree_node**) - -declare void @gimplify_to_stmt_list(%struct.tree_node**) - -declare fastcc i32 @gimplify_cleanup_point_expr(%struct.tree_node**, %struct.tree_node**) - -declare fastcc i32 @gimplify_target_expr(%struct.tree_node**, %struct.tree_node**, %struct.tree_node**) - -declare void @tsi_delink(%struct.tree_stmt_iterator*) - -declare void @tsi_link_before(%struct.tree_stmt_iterator*, %struct.tree_node*, i32) - -declare i8 @is_gimple_stmt(%struct.tree_node*) zeroext - -declare void @print_generic_expr(%struct.FILE*, %struct.tree_node*, i32) - -declare void @debug_tree(%struct.tree_node*) - -declare void @internal_error(i8*, ...) - -declare %struct.tree_node* @force_gimple_operand(%struct.tree_node*, %struct.tree_node**, i8 zeroext , %struct.tree_node*) - -declare i8 @is_gimple_reg_rhs(%struct.tree_node*) zeroext - -declare void @add_referenced_tmp_var(%struct.tree_node*) - -declare i8 @contains_placeholder_p(%struct.tree_node*) zeroext - -declare %struct.varray_head_tag* @varray_init(i32, i32, i8*) - -declare i32 @handled_component_p(%struct.tree_node*) - -declare void @varray_check_failed(%struct.varray_head_tag*, i32, i8*, i32, i8*) - -declare %struct.tree_node* @array_ref_low_bound(%struct.tree_node*) - -declare i8 @is_gimple_min_invariant(%struct.tree_node*) zeroext - -declare i8 @is_gimple_formal_tmp_reg(%struct.tree_node*) zeroext - -declare %struct.tree_node* @array_ref_element_size(%struct.tree_node*) - -declare %struct.tree_node* @component_ref_field_offset(%struct.tree_node*) - -declare i8 @is_gimple_min_lval(%struct.tree_node*) zeroext - -declare void @varray_underflow(%struct.varray_head_tag*, i8*, i32, i8*) - -declare i32 @list_length(%struct.tree_node*) - -declare i8 @parse_output_constraint(i8**, i32, i32, i32, i8*, i8*, i8*) zeroext - -declare i8* @xstrdup(i8*) - -declare %struct.tree_node* @build_string(i32, i8*) - -declare i8* @strchr(i8*, i32) - -declare %struct.tree_node* @build_tree_list_stat(%struct.tree_node*, %struct.tree_node*) - -declare %struct.tree_node* @chainon(%struct.tree_node*, %struct.tree_node*) - -declare i8 @parse_input_constraint(i8**, i32, i32, i32, i32, i8**, i8*, i8*) zeroext - -declare i8 @is_gimple_asm_val(%struct.tree_node*) zeroext - -declare void @gimplify_body(%struct.tree_node**, %struct.tree_node*, i8 zeroext ) - -declare void @timevar_push_1(i32) - -declare %struct.tree_node* @gimplify_parameters() - -declare %struct.tree_node* @expr_only(%struct.tree_node*) - -declare void @timevar_pop_1(i32) - -declare void @gimplify_function_tree(%struct.tree_node*) - -declare void @allocate_struct_function(%struct.tree_node*) - -declare %struct.tree_node* @make_tree_vec_stat(i32) - -declare %struct.tree_node* @tsi_split_statement_list_after(%struct.tree_stmt_iterator*) - -declare i8 @is_gimple_condexpr(%struct.tree_node*) zeroext - -declare %struct.tree_node* @invert_truthvalue(%struct.tree_node*) - -declare i8 @initializer_zerop(%struct.tree_node*) zeroext - -declare i32 @simple_cst_equal(%struct.tree_node*, %struct.tree_node*) - -declare i32 @aggregate_value_p(%struct.tree_node*, %struct.tree_node*) - -declare i32 @fwrite(i8*, i32, i32, %struct.FILE*) diff --git a/test/CodeGen/ARM/2007-05-03-BadPostIndexedLd.ll b/test/CodeGen/ARM/2007-05-03-BadPostIndexedLd.ll index c73b679..25ac52e 100644 --- a/test/CodeGen/ARM/2007-05-03-BadPostIndexedLd.ll +++ b/test/CodeGen/ARM/2007-05-03-BadPostIndexedLd.ll @@ -2,7 +2,7 @@ %struct.Connection = type { i32, [10 x i8], i32 } %struct.IntChunk = type { %struct.cppobjtype, i32, i32*, i32 } - %struct.Point = type { i8*, %struct.cppobjtype, i16 (%struct.Point*) signext *, i16 (%struct.Point*) signext *, double (%struct.Point*)*, double (%struct.Point*)* } + %struct.Point = type { i8*, %struct.cppobjtype, i16 (%struct.Point*) *, i16 (%struct.Point*) *, double (%struct.Point*)*, double (%struct.Point*)* } %struct.RefPoint = type { %struct.Point*, %struct.cppobjtype } %struct.ShortArray = type { %struct.cppobjtype, i32, i16* } %struct.TestObj = type { i8*, %struct.cppobjtype, i8, [32 x i8], i8*, i8**, i16, i16, i32, i32, i32, i32, float, double, %struct.cppobjtype, i32, i16*, i16**, i8**, i32, %struct.XyPoint, [3 x %struct.Connection], %struct.Point*, %struct.XyPoint*, i32, i8*, i8*, i16*, %struct.ShortArray, %struct.IntChunk, %struct.cppobjtype, %struct.cppobjtype, %struct.RefPoint, i32, %struct.cppobjtype, %struct.cppobjtype } diff --git a/test/CodeGen/ARM/2008-04-04-ScavengerAssert.ll b/test/CodeGen/ARM/2008-04-04-ScavengerAssert.ll index 234c7b6..6b39a76 100644 --- a/test/CodeGen/ARM/2008-04-04-ScavengerAssert.ll +++ b/test/CodeGen/ARM/2008-04-04-ScavengerAssert.ll @@ -46,7 +46,8 @@ bb17.i: ; preds = %cond_next119.i cond_true53.i: ; preds = %bb17.i ret { i16, %struct.rnode* }* null cond_false99.i: ; preds = %bb17.i - %tmp106.i = malloc %struct.ch_set ; <%struct.ch_set*> [#uses=1] + %malloccall = tail call i8* @malloc(i32 trunc (i64 mul nuw (i64 ptrtoint (i1** getelementptr (i1** null, i32 1) to i64), i64 2) to i32)) + %tmp106.i = bitcast i8* %malloccall to %struct.ch_set* br i1 false, label %bb126.i, label %cond_next119.i cond_next119.i: ; preds = %cond_false99.i, %bb42 %curr_ptr.0.reg2mem.0.i = phi %struct.ch_set* [ %tmp106.i, %cond_false99.i ], [ null, %bb42 ] ; <%struct.ch_set*> [#uses=2] @@ -58,3 +59,5 @@ bb126.i: ; preds = %cond_next119.i, %cond_false99.i bb78: ; preds = %entry ret { i16, %struct.rnode* }* null } + +declare noalias i8* @malloc(i32) diff --git a/test/CodeGen/ARM/2008-09-14-CoalescerBug.ll b/test/CodeGen/ARM/2008-09-14-CoalescerBug.ll deleted file mode 100644 index 5f9d9ae..0000000 --- a/test/CodeGen/ARM/2008-09-14-CoalescerBug.ll +++ /dev/null @@ -1,29 +0,0 @@ -; RUN: llc < %s -mtriple=arm-apple-darwin - -@"\01LC1" = external constant [288 x i8] ; <[288 x i8]*> [#uses=1] - -declare void @llvm.memcpy.i32(i8*, i8*, i32, i32) nounwind - -define i32 @main(i32 %argc, i8** %argv) nounwind { -entry: - br label %bb.i - -bb.i: ; preds = %bb.i, %entry - %i.01.i = phi i32 [ 0, %entry ], [ %indvar.next52, %bb.i ] ; [#uses=1] - %indvar.next52 = add i32 %i.01.i, 1 ; [#uses=2] - %exitcond53 = icmp eq i32 %indvar.next52, 15 ; [#uses=1] - br i1 %exitcond53, label %bb.i33.loopexit, label %bb.i - -bb.i33.loopexit: ; preds = %bb.i - %0 = malloc [347 x i8] ; <[347 x i8]*> [#uses=2] - %.sub = getelementptr [347 x i8]* %0, i32 0, i32 0 ; [#uses=1] - call void @llvm.memcpy.i32( i8* %.sub, i8* getelementptr ([288 x i8]* @"\01LC1", i32 0, i32 0), i32 287, i32 1 ) nounwind - br label %bb.i28 - -bb.i28: ; preds = %bb.i28, %bb.i33.loopexit - br i1 false, label %repeat_fasta.exit, label %bb.i28 - -repeat_fasta.exit: ; preds = %bb.i28 - free [347 x i8]* %0 - unreachable -} diff --git a/test/CodeGen/ARM/2009-08-21-PostRAKill3.ll b/test/CodeGen/ARM/2009-08-21-PostRAKill3.ll index 90a4a42..382038e 100644 --- a/test/CodeGen/ARM/2009-08-21-PostRAKill3.ll +++ b/test/CodeGen/ARM/2009-08-21-PostRAKill3.ll @@ -14,7 +14,8 @@ entry: br i1 %p, label %bb8, label %bb1 bb1: ; preds = %entry - %0 = malloc %struct.Village ; <%struct.Village*> [#uses=3] + %malloccall = tail call i8* @malloc(i32 ptrtoint (%struct.Village* getelementptr (%struct.Village* null, i32 1) to i32)) + %0 = bitcast i8* %malloccall to %struct.Village* %exp2 = call double @ldexp(double 1.000000e+00, i32 %level) nounwind ; [#uses=1] %.c = fptosi double %exp2 to i32 ; [#uses=1] store i32 %.c, i32* null @@ -29,3 +30,4 @@ bb8: ; preds = %entry } declare double @ldexp(double, i32) +declare noalias i8* @malloc(i32) diff --git a/test/CodeGen/ARM/2010-08-04-StackVariable.ll b/test/CodeGen/ARM/2010-08-04-StackVariable.ll index 25d38ed..6aeaa26 100644 --- a/test/CodeGen/ARM/2010-08-04-StackVariable.ll +++ b/test/CodeGen/ARM/2010-08-04-StackVariable.ll @@ -31,7 +31,7 @@ return: ; preds = %bb2 ret i32 %.0, !dbg !29 } -define linkonce_odr void @_ZN4SValC1Ev(%struct.SVal* %this) nounwind ssp align 2 { +define linkonce_odr void @_ZN4SValC1Ev(%struct.SVal* %this) nounwind ssp align 2 { entry: %"alloca point" = bitcast i32 0 to i32 ; [#uses=0] call void @llvm.dbg.value(metadata !{%struct.SVal* %this}, i64 0, metadata !31), !dbg !34 diff --git a/test/CodeGen/ARM/sxt_rot.ll b/test/CodeGen/ARM/sxt_rot.ll index 4752f17..355fee3 100644 --- a/test/CodeGen/ARM/sxt_rot.ll +++ b/test/CodeGen/ARM/sxt_rot.ll @@ -10,7 +10,7 @@ define i32 @test0(i8 %A) { ret i32 %B } -define i8 @test1(i32 %A) signext { +define signext i8 @test1(i32 %A) { %B = lshr i32 %A, 8 %C = shl i32 %A, 24 %D = or i32 %B, %C @@ -18,7 +18,7 @@ define i8 @test1(i32 %A) signext { ret i8 %E } -define i32 @test2(i32 %A, i32 %X) signext { +define signext i32 @test2(i32 %A, i32 %X) { %B = lshr i32 %A, 8 %C = shl i32 %A, 24 %D = or i32 %B, %C diff --git a/test/CodeGen/ARM/uxt_rot.ll b/test/CodeGen/ARM/uxt_rot.ll index 6307795..628c079 100644 --- a/test/CodeGen/ARM/uxt_rot.ll +++ b/test/CodeGen/ARM/uxt_rot.ll @@ -2,19 +2,19 @@ ; RUN: llc < %s -march=arm -mattr=+v6 | grep uxtab | count 1 ; RUN: llc < %s -march=arm -mattr=+v6 | grep uxth | count 1 -define i8 @test1(i32 %A.u) zeroext { +define zeroext i8 @test1(i32 %A.u) { %B.u = trunc i32 %A.u to i8 ret i8 %B.u } -define i32 @test2(i32 %A.u, i32 %B.u) zeroext { +define zeroext i32 @test2(i32 %A.u, i32 %B.u) { %C.u = trunc i32 %B.u to i8 %D.u = zext i8 %C.u to i32 %E.u = add i32 %A.u, %D.u ret i32 %E.u } -define i32 @test3(i32 %A.u) zeroext { +define zeroext i32 @test3(i32 %A.u) { %B.u = lshr i32 %A.u, 8 %C.u = shl i32 %A.u, 24 %D.u = or i32 %B.u, %C.u diff --git a/test/CodeGen/Alpha/2005-07-12-TwoMallocCalls.ll b/test/CodeGen/Alpha/2005-07-12-TwoMallocCalls.ll deleted file mode 100644 index 87d9928..0000000 --- a/test/CodeGen/Alpha/2005-07-12-TwoMallocCalls.ll +++ /dev/null @@ -1,17 +0,0 @@ -; There should be exactly two calls here (memset and malloc), no more. -; RUN: llc < %s -march=alpha | grep jsr | count 2 - -%typedef.bc_struct = type opaque -declare void @llvm.memset.i64(i8*, i8, i64, i32) - -define i1 @l12_l94_bc_divide_endif_2E_3_2E_ce(i32* %tmp.71.reload, i32 %scale2.1.3, i32 %extra.0, %typedef.bc_struct* %n1, %typedef.bc_struct* %n2, i32* %tmp.92.reload, i32 %tmp.94.reload, i32* %tmp.98.reload, i32 %tmp.100.reload, i8** %tmp.112.out, i32* %tmp.157.out, i8** %tmp.158.out) { -newFuncRoot: - %tmp.120 = add i32 %extra.0, 2 ; [#uses=1] - %tmp.122 = add i32 %tmp.120, %tmp.94.reload ; [#uses=1] - %tmp.123 = add i32 %tmp.122, %tmp.100.reload ; [#uses=2] - %tmp.112 = malloc i8, i32 %tmp.123 ; [#uses=1] - %tmp.137 = zext i32 %tmp.123 to i64 ; [#uses=1] - tail call void @llvm.memset.i64( i8* %tmp.112, i8 0, i64 %tmp.137, i32 0 ) - ret i1 true -} - diff --git a/test/CodeGen/Alpha/add.ll b/test/CodeGen/Alpha/add.ll index cd883f6..8a92695 100644 --- a/test/CodeGen/Alpha/add.ll +++ b/test/CodeGen/Alpha/add.ll @@ -17,19 +17,19 @@ ; RUN: grep {s8subq} %t.s | count 2 -define i32 @al(i32 signext %x.s, i32 signext %y.s) signext { +define signext i32 @al(i32 signext %x.s, i32 signext %y.s) { entry: %tmp.3.s = add i32 %y.s, %x.s ; [#uses=1] ret i32 %tmp.3.s } -define i32 @ali(i32 signext %x.s) signext { +define signext i32 @ali(i32 signext %x.s) { entry: %tmp.3.s = add i32 100, %x.s ; [#uses=1] ret i32 %tmp.3.s } -define i64 @aq(i64 signext %x.s, i64 signext %y.s) signext { +define signext i64 @aq(i64 signext %x.s, i64 signext %y.s) { entry: %tmp.3.s = add i64 %y.s, %x.s ; [#uses=1] ret i64 %tmp.3.s @@ -41,13 +41,13 @@ entry: ret i64 %tmp.3.s } -define i32 @sl(i32 signext %x.s, i32 signext %y.s) signext { +define signext i32 @sl(i32 signext %x.s, i32 signext %y.s) { entry: %tmp.3.s = sub i32 %y.s, %x.s ; [#uses=1] ret i32 %tmp.3.s } -define i32 @sli(i32 signext %x.s) signext { +define signext i32 @sli(i32 signext %x.s) { entry: %tmp.3.s = sub i32 %x.s, 100 ; [#uses=1] ret i32 %tmp.3.s @@ -65,14 +65,14 @@ entry: ret i64 %tmp.3.s } -define i32 @a4l(i32 signext %x.s, i32 signext %y.s) signext { +define signext i32 @a4l(i32 signext %x.s, i32 signext %y.s) { entry: %tmp.1.s = shl i32 %y.s, 2 ; [#uses=1] %tmp.3.s = add i32 %tmp.1.s, %x.s ; [#uses=1] ret i32 %tmp.3.s } -define i32 @a8l(i32 signext %x.s, i32 signext %y.s) signext { +define signext i32 @a8l(i32 signext %x.s, i32 signext %y.s) { entry: %tmp.1.s = shl i32 %y.s, 3 ; [#uses=1] %tmp.3.s = add i32 %tmp.1.s, %x.s ; [#uses=1] @@ -93,14 +93,14 @@ entry: ret i64 %tmp.3.s } -define i32 @a4li(i32 signext %y.s) signext { +define signext i32 @a4li(i32 signext %y.s) { entry: %tmp.1.s = shl i32 %y.s, 2 ; [#uses=1] %tmp.3.s = add i32 100, %tmp.1.s ; [#uses=1] ret i32 %tmp.3.s } -define i32 @a8li(i32 signext %y.s) signext { +define signext i32 @a8li(i32 signext %y.s) { entry: %tmp.1.s = shl i32 %y.s, 3 ; [#uses=1] %tmp.3.s = add i32 100, %tmp.1.s ; [#uses=1] @@ -121,14 +121,14 @@ entry: ret i64 %tmp.3.s } -define i32 @s4l(i32 signext %x.s, i32 signext %y.s) signext { +define signext i32 @s4l(i32 signext %x.s, i32 signext %y.s) { entry: %tmp.1.s = shl i32 %y.s, 2 ; [#uses=1] %tmp.3.s = sub i32 %tmp.1.s, %x.s ; [#uses=1] ret i32 %tmp.3.s } -define i32 @s8l(i32 signext %x.s, i32 signext %y.s) signext { +define signext i32 @s8l(i32 signext %x.s, i32 signext %y.s) { entry: %tmp.1.s = shl i32 %y.s, 3 ; [#uses=1] %tmp.3.s = sub i32 %tmp.1.s, %x.s ; [#uses=1] @@ -149,14 +149,14 @@ entry: ret i64 %tmp.3.s } -define i32 @s4li(i32 signext %y.s) signext { +define signext i32 @s4li(i32 signext %y.s) { entry: %tmp.1.s = shl i32 %y.s, 2 ; [#uses=1] %tmp.3.s = sub i32 %tmp.1.s, 100 ; [#uses=1] ret i32 %tmp.3.s } -define i32 @s8li(i32 signext %y.s) signext { +define signext i32 @s8li(i32 signext %y.s) { entry: %tmp.1.s = shl i32 %y.s, 3 ; [#uses=1] %tmp.3.s = sub i32 %tmp.1.s, 100 ; [#uses=1] diff --git a/test/CodeGen/Alpha/i32_sub_1.ll b/test/CodeGen/Alpha/i32_sub_1.ll index ffeafbd..35b1d08 100644 --- a/test/CodeGen/Alpha/i32_sub_1.ll +++ b/test/CodeGen/Alpha/i32_sub_1.ll @@ -2,7 +2,7 @@ ; RUN: llc < %s -march=alpha | grep -i {subl \$16,1,\$0} -define i32 @foo(i32 signext %x) signext { +define signext i32 @foo(i32 signext %x) { entry: %tmp.1 = add i32 %x, -1 ; [#uses=1] ret i32 %tmp.1 diff --git a/test/CodeGen/Alpha/zapnot.ll b/test/CodeGen/Alpha/zapnot.ll index d00984a..a47035e 100644 --- a/test/CodeGen/Alpha/zapnot.ll +++ b/test/CodeGen/Alpha/zapnot.ll @@ -2,7 +2,7 @@ ; RUN: llc < %s -march=alpha | grep zapnot -define i16 @foo(i64 %y) zeroext { +define zeroext i16 @foo(i64 %y) { entry: %tmp.1 = trunc i64 %y to i16 ; [#uses=1] ret i16 %tmp.1 diff --git a/test/CodeGen/CPP/llvm2cpp.ll b/test/CodeGen/CPP/llvm2cpp.ll deleted file mode 100644 index d0ba0cf..0000000 --- a/test/CodeGen/CPP/llvm2cpp.ll +++ /dev/null @@ -1,756 +0,0 @@ -; RUN: llvm-as < %s | llvm-dis > /dev/null -; RUN: llc < %s -march=cpp -cppgen=program -o - - -@X = global i32 4, align 16 ; [#uses=0] - -define i32* @test1012() align 32 { - %X = alloca i32, align 4 ; [#uses=1] - %Y = alloca i32, i32 42, align 16 ; [#uses=0] - %Z = alloca i32 ; [#uses=0] - ret i32* %X -} - -define i32* @test1013() { - %X = malloc i32, align 4 ; [#uses=1] - %Y = malloc i32, i32 42, align 16 ; [#uses=0] - %Z = malloc i32 ; [#uses=0] - ret i32* %X -} - -define void @void(i32, i32) { - add i32 0, 0 ; :3 [#uses=2] - sub i32 0, 4 ; :4 [#uses=2] - br label %5 - -;