summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorTanya Lattner <tonic@nondot.org>2008-03-01 09:15:35 +0000
committerTanya Lattner <tonic@nondot.org>2008-03-01 09:15:35 +0000
commitec9a35a6f9143cfa325e0413cc297c48f627973a (patch)
treec1b0621415acc20f94152c51174d53fae3dbc8cc /test
parentab3b77834c9232e4c13acb29afe1920b97c5a20b (diff)
downloadllvm-ec9a35a6f9143cfa325e0413cc297c48f627973a.tar.gz
llvm-ec9a35a6f9143cfa325e0413cc297c48f627973a.tar.bz2
llvm-ec9a35a6f9143cfa325e0413cc297c48f627973a.tar.xz
Remove llvm-upgrade and update test cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47793 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r--test/Transforms/ADCE/2002-05-22-PHITest.ll19
-rw-r--r--test/Transforms/ADCE/2002-05-23-ZeroArgPHITest.ll41
-rw-r--r--test/Transforms/ADCE/2002-05-28-Crash-distilled.ll20
-rw-r--r--test/Transforms/ADCE/2002-05-28-Crash.ll76
-rw-r--r--test/Transforms/ADCE/2002-07-17-AssertionFailure.ll12
-rw-r--r--test/Transforms/ADCE/2002-07-17-PHIAssertion.ll69
-rw-r--r--test/Transforms/ADCE/2002-07-29-Segfault.ll14
-rw-r--r--test/Transforms/ADCE/2003-01-22-PredecessorProblem.ll34
-rw-r--r--test/Transforms/ADCE/2003-04-25-PHIPostDominateProblem.ll46
-rw-r--r--test/Transforms/ADCE/2003-06-11-InvalidCFG.ll40
-rw-r--r--test/Transforms/ADCE/2003-06-24-BadSuccessor.ll89
-rw-r--r--test/Transforms/ADCE/2003-06-24-BasicFunctionality.ll79
-rw-r--r--test/Transforms/ADCE/2003-09-10-UnwindInstFail.ll27
-rw-r--r--test/Transforms/ADCE/2003-09-15-InfLoopCrash.ll11
-rw-r--r--test/Transforms/ADCE/2003-11-16-MissingPostDominanceInfo.ll25
-rw-r--r--test/Transforms/ADCE/2003-12-19-MergeReturn.llx33
-rw-r--r--test/Transforms/ADCE/2004-05-04-UnreachableBlock.llx20
-rw-r--r--test/Transforms/ADCE/2005-02-17-PHI-Invoke-Crash.ll61
-rw-r--r--test/Transforms/ADCE/adcetest.ll58
-rw-r--r--test/Transforms/ADCE/basictest.ll27
-rw-r--r--test/Transforms/ADCE/basictest1.ll150
-rw-r--r--test/Transforms/ADCE/basictest2.ll149
-rw-r--r--test/Transforms/ADCE/dead-phi-edge.ll20
-rw-r--r--test/Transforms/ADCE/unreachable-function.ll4
-rw-r--r--test/Transforms/ArgumentPromotion/aggregate-promote.ll34
-rw-r--r--test/Transforms/ArgumentPromotion/basictest.ll36
-rw-r--r--test/Transforms/ArgumentPromotion/chained.ll23
-rw-r--r--test/Transforms/ArgumentPromotion/control-flow.ll24
-rw-r--r--test/Transforms/ArgumentPromotion/control-flow2.ll28
-rw-r--r--test/Transforms/BlockPlacement/basictest.ll21
-rw-r--r--test/Transforms/CodeExtractor/2004-03-13-LoopExtractorCrash.ll38
-rw-r--r--test/Transforms/CodeExtractor/2004-03-14-DominanceProblem.ll41
-rw-r--r--test/Transforms/CodeExtractor/2004-03-14-NoSwitchSupport.ll37
-rw-r--r--test/Transforms/CodeExtractor/2004-03-17-MissedLiveIns.ll28
-rw-r--r--test/Transforms/CodeExtractor/2004-03-17-OutputMismatch.ll29
-rw-r--r--test/Transforms/CodeExtractor/2004-03-17-UpdatePHIsOutsideRegion.ll30
-rw-r--r--test/Transforms/CodeExtractor/2004-03-18-InvokeHandling.ll222
-rw-r--r--test/Transforms/CodeExtractor/2004-08-12-BlockExtractPHI.ll29
-rw-r--r--test/Transforms/CodeExtractor/2004-11-12-InvokeExtract.ll23
-rw-r--r--test/Transforms/CondProp/2006-08-14-SingleEntryPhiCrash.ll190
-rw-r--r--test/Transforms/CondProp/2006-11-01-PhiNodeCrash.ll561
-rw-r--r--test/Transforms/CondProp/basictest.ll40
-rw-r--r--test/Transforms/CondProp/phisimplify.ll70
-rw-r--r--test/Transforms/CondProp/phisimplify2.ll74
-rw-r--r--test/Transforms/ConstProp/2002-05-03-DivideByZeroException.ll15
-rw-r--r--test/Transforms/ConstProp/2002-05-03-NotOperator.ll17
-rw-r--r--test/Transforms/ConstProp/2002-09-03-SetCC-Bools.ll28
-rw-r--r--test/Transforms/ConstProp/2003-05-12-DivideError.ll14
-rw-r--r--test/Transforms/ConstProp/2005-01-28-SetCCGEP.ll17
-rw-r--r--test/Transforms/ConstProp/2006-11-30-vector-cast.ll11
-rw-r--r--test/Transforms/ConstProp/2006-12-01-TruncBoolBug.ll9
-rw-r--r--test/Transforms/ConstProp/2006-12-01-bool-casts.ll16
-rw-r--r--test/Transforms/ConstProp/basictest.ll26
-rw-r--r--test/Transforms/ConstProp/bitcast.ll5
-rw-r--r--test/Transforms/ConstProp/bswap.ll29
-rw-r--r--test/Transforms/ConstProp/calls.ll49
-rw-r--r--test/Transforms/ConstProp/float-to-ptr-cast.ll13
-rw-r--r--test/Transforms/ConstProp/logicaltest.ll35
-rw-r--r--test/Transforms/ConstProp/nottest.ll20
-rw-r--r--test/Transforms/ConstProp/phi.ll19
-rw-r--r--test/Transforms/ConstProp/remtest.ll27
-rw-r--r--test/Transforms/ConstantMerge/2002-09-23-CPR-Update.ll19
-rw-r--r--test/Transforms/ConstantMerge/2003-10-28-MergeExternalConstants.ll8
-rw-r--r--test/Transforms/ConstantMerge/2006-03-07-DontMergeDiffSections.ll21
-rw-r--r--test/Transforms/DeadArgElim/2006-06-27-struct-ret.ll14
-rw-r--r--test/Transforms/DeadArgElim/basictest.ll41
-rw-r--r--test/Transforms/DeadArgElim/dead_vaargs.ll14
-rw-r--r--test/Transforms/DeadArgElim/deadretval.ll23
-rw-r--r--test/Transforms/DeadArgElim/deadretval2.ll43
-rw-r--r--test/Transforms/DeadStoreElimination/2004-11-28-LiveStoreDeleted.ll20
-rw-r--r--test/Transforms/DeadStoreElimination/2004-12-28-PartialStore.ll16
-rw-r--r--test/Transforms/DeadStoreElimination/2005-11-30-vaarg.ll10
-rw-r--r--test/Transforms/DeadStoreElimination/2006-06-27-AST-Remove.ll1865
-rw-r--r--test/Transforms/DeadStoreElimination/PartialStore.ll17
-rw-r--r--test/Transforms/DeadStoreElimination/alloca.llx13
-rw-r--r--test/Transforms/DeadStoreElimination/context-sensitive.llx27
-rw-r--r--test/Transforms/DeadStoreElimination/free.llx12
-rw-r--r--test/Transforms/DeadStoreElimination/simple.llx13
-rw-r--r--test/Transforms/GCSE/2002-05-14-OperandSwap.ll23
-rw-r--r--test/Transforms/GCSE/2002-05-21-NoSharedDominator.ll15
-rw-r--r--test/Transforms/GCSE/2003-06-13-LoadStoreEliminate.ll10
-rw-r--r--test/Transforms/GCSE/gcsetests.ll93
-rw-r--r--test/Transforms/GCSE/vectorops.ll34
-rw-r--r--test/Transforms/GlobalDCE/2002-07-17-CastRef.ll15
-rw-r--r--test/Transforms/GlobalDCE/2002-07-17-ConstantRef.ll15
-rw-r--r--test/Transforms/GlobalDCE/2002-08-17-FunctionDGE.ll17
-rw-r--r--test/Transforms/GlobalDCE/2002-08-17-WorkListTest.ll18
-rw-r--r--test/Transforms/GlobalDCE/2002-09-12-Redeletion.ll16
-rw-r--r--test/Transforms/GlobalDCE/2003-07-01-SelfReference.ll14
-rw-r--r--test/Transforms/GlobalDCE/2003-10-09-PreserveWeakGlobals.ll4
-rw-r--r--test/Transforms/GlobalDCE/basicvariabletest.ll6
-rw-r--r--test/Transforms/GlobalOpt/2004-10-10-CastStoreOnce.llx22
-rw-r--r--test/Transforms/GlobalOpt/2005-06-15-LocalizeConstExprCrash.ll11
-rw-r--r--test/Transforms/GlobalOpt/2005-09-27-Crash.ll37
-rw-r--r--test/Transforms/GlobalOpt/2006-07-07-InlineAsmCrash.ll129
-rw-r--r--test/Transforms/GlobalOpt/2006-11-01-ShrinkGlobalPhiCrash.ll38
-rw-r--r--test/Transforms/GlobalOpt/basictest.llx12
-rw-r--r--test/Transforms/GlobalOpt/ctor-list-opt.ll124
-rw-r--r--test/Transforms/GlobalOpt/deadglobal.llx11
-rw-r--r--test/Transforms/GlobalOpt/globalsra-partial.llx26
-rw-r--r--test/Transforms/GlobalOpt/globalsra.llx28
-rw-r--r--test/Transforms/GlobalOpt/integer-bool.ll28
-rw-r--r--test/Transforms/GlobalOpt/iterate.llx15
-rw-r--r--test/Transforms/GlobalOpt/load-store-global.llx17
-rw-r--r--test/Transforms/GlobalOpt/malloc-promote-1.llx26
-rw-r--r--test/Transforms/GlobalOpt/malloc-promote-2.llx30
-rw-r--r--test/Transforms/GlobalOpt/malloc-promote-3.llx38
-rw-r--r--test/Transforms/GlobalOpt/memcpy.ll18
-rw-r--r--test/Transforms/GlobalOpt/memset.ll24
-rw-r--r--test/Transforms/GlobalOpt/phi-select.llx32
-rw-r--r--test/Transforms/GlobalOpt/storepointer-compare.llx37
-rw-r--r--test/Transforms/GlobalOpt/storepointer.llx25
-rw-r--r--test/Transforms/GlobalOpt/trivialstore.llx24
-rw-r--r--test/Transforms/GlobalOpt/undef-init.llx21
-rw-r--r--test/Transforms/IPConstantProp/deadarg.ll11
-rw-r--r--test/Transforms/IPConstantProp/recursion.ll18
-rw-r--r--test/Transforms/IPConstantProp/return-constant.ll25
-rw-r--r--test/Transforms/IndVarsSimplify/2002-09-09-PointerIndVar.ll21
-rw-r--r--test/Transforms/IndVarsSimplify/2003-04-16-ExprAnalysis.ll15
-rw-r--r--test/Transforms/IndVarsSimplify/2003-09-12-MultiplePred.ll21
-rw-r--r--test/Transforms/IndVarsSimplify/2003-09-23-NotAtTop.ll19
-rw-r--r--test/Transforms/IndVarsSimplify/2003-12-10-IndVarDeadCode.ll29
-rw-r--r--test/Transforms/IndVarsSimplify/2003-12-10-RemoveInstrCrash.llx25
-rw-r--r--test/Transforms/IndVarsSimplify/2003-12-15-Crash.llx33
-rw-r--r--test/Transforms/IndVarsSimplify/2003-12-21-IndVarSize.ll21
-rw-r--r--test/Transforms/IndVarsSimplify/2004-03-10-PHIInsertionBug.ll37
-rw-r--r--test/Transforms/IndVarsSimplify/2004-04-05-InvokeCastCrash.llx355
-rw-r--r--test/Transforms/IndVarsSimplify/2004-04-07-ScalarEvolutionCrash.llx35
-rw-r--r--test/Transforms/IndVarsSimplify/2005-02-11-InvokeCrash.ll31
-rw-r--r--test/Transforms/IndVarsSimplify/2005-02-17-TruncateExprCrash.ll40
-rw-r--r--test/Transforms/IndVarsSimplify/2005-02-26-ExitValueCompute.ll26
-rw-r--r--test/Transforms/IndVarsSimplify/2005-06-15-InstMoveCrash.ll51
-rw-r--r--test/Transforms/IndVarsSimplify/2005-11-18-Crash.ll23
-rw-r--r--test/Transforms/IndVarsSimplify/2006-03-31-NegativeStride.ll18
-rw-r--r--test/Transforms/IndVarsSimplify/2006-06-16-Indvar-LCSSA-Crash.ll35
-rw-r--r--test/Transforms/IndVarsSimplify/2006-09-20-LFTR-Crash.ll34
-rw-r--r--test/Transforms/IndVarsSimplify/2006-12-10-BitCast.ll27
-rw-r--r--test/Transforms/IndVarsSimplify/complex-scev.ll41
-rw-r--r--test/Transforms/IndVarsSimplify/exit_value_tests.llx167
-rw-r--r--test/Transforms/IndVarsSimplify/lftr_simple.llx29
-rw-r--r--test/Transforms/IndVarsSimplify/loop_evaluate_1.ll22
-rw-r--r--test/Transforms/IndVarsSimplify/pointer-indvars.ll23
-rw-r--r--test/Transforms/IndVarsSimplify/subtract.ll21
-rw-r--r--test/Transforms/IndVarsSimplify/tripcount_compute.llx134
-rw-r--r--test/Transforms/IndVarsSimplify/tripcount_infinite.llx44
-rw-r--r--test/Transforms/IndVarsSimplify/variable-stride-ivs.ll47
-rw-r--r--test/Transforms/Inline/2003-09-14-InlineValue.ll29
-rw-r--r--test/Transforms/Inline/2003-09-22-PHINodeInlineFail.ll19
-rw-r--r--test/Transforms/Inline/2003-09-22-PHINodesInExceptionDest.ll33
-rw-r--r--test/Transforms/Inline/2003-09-22-PHINodesInNormalInvokeDest.ll27
-rw-r--r--test/Transforms/Inline/2003-10-13-AllocaDominanceProblem.ll26
-rw-r--r--test/Transforms/Inline/2003-10-26-InlineInvokeExceptionDestPhi.ll21
-rw-r--r--test/Transforms/Inline/2004-04-15-InlineDeletesCall.ll21
-rw-r--r--test/Transforms/Inline/2004-04-20-InlineLinkOnce.llx15
-rw-r--r--test/Transforms/Inline/2004-10-17-InlineFunctionWithoutReturn.ll13
-rw-r--r--test/Transforms/Inline/2006-01-14-CallGraphUpdate.ll37
-rw-r--r--test/Transforms/Inline/2006-07-12-InlinePruneCGUpdate.ll147
-rw-r--r--test/Transforms/Inline/2006-11-09-InlineCGUpdate-2.ll183
-rw-r--r--test/Transforms/Inline/2006-11-09-InlineCGUpdate.ll254
-rw-r--r--test/Transforms/Inline/alloca_test.ll23
-rw-r--r--test/Transforms/Inline/basictest.ll15
-rw-r--r--test/Transforms/Inline/casts.ll25
-rw-r--r--test/Transforms/Inline/cfg_preserve_test.ll15
-rw-r--r--test/Transforms/Inline/dynamic_alloca_test.ll39
-rw-r--r--test/Transforms/Inline/inline-tail.ll21
-rw-r--r--test/Transforms/Inline/inline_cleanup.ll67
-rw-r--r--test/Transforms/Inline/inline_constprop.ll18
-rw-r--r--test/Transforms/Inline/inline_dce.ll27
-rw-r--r--test/Transforms/Inline/inline_prune.ll71
-rw-r--r--test/Transforms/Inline/invoke_test-1.ll27
-rw-r--r--test/Transforms/Inline/invoke_test-2.ll36
-rw-r--r--test/Transforms/Inline/invoke_test-3.ll40
-rw-r--r--test/Transforms/InstCombine/2002-03-11-InstCombineHang.ll12
-rw-r--r--test/Transforms/InstCombine/2002-05-14-TouchDeletedInst.ll948
-rw-r--r--test/Transforms/InstCombine/2002-08-02-CastTest.ll10
-rw-r--r--test/Transforms/InstCombine/2002-09-17-GetElementPtrCrash.ll16
-rw-r--r--test/Transforms/InstCombine/2002-12-05-MissedConstProp.ll17
-rw-r--r--test/Transforms/InstCombine/2003-05-26-CastMiscompile.ll11
-rw-r--r--test/Transforms/InstCombine/2003-05-27-ConstExprCrash.ll14
-rw-r--r--test/Transforms/InstCombine/2003-06-05-BranchInvertInfLoop.ll18
-rw-r--r--test/Transforms/InstCombine/2003-06-22-ConstantExprCrash.ll13
-rw-r--r--test/Transforms/InstCombine/2003-07-21-ExternalConstant.ll47
-rw-r--r--test/Transforms/InstCombine/2003-08-12-AllocaNonNull.ll22
-rw-r--r--test/Transforms/InstCombine/2003-09-09-VolatileLoadElim.ll10
-rw-r--r--test/Transforms/InstCombine/2003-10-23-InstcombineNullFail.ll15
-rw-r--r--test/Transforms/InstCombine/2003-10-29-CallSiteResolve.ll20
-rw-r--r--test/Transforms/InstCombine/2003-11-03-VarargsCallBug.ll16
-rw-r--r--test/Transforms/InstCombine/2003-11-13-ConstExprCastCall.ll10
-rw-r--r--test/Transforms/InstCombine/2004-01-13-InstCombineInvokePHI.ll30
-rw-r--r--test/Transforms/InstCombine/2004-02-23-ShiftShiftOverflow.ll22
-rw-r--r--test/Transforms/InstCombine/2004-03-13-InstCombineInfLoop.ll14
-rw-r--r--test/Transforms/InstCombine/2004-04-04-InstCombineReplaceAllUsesWith.ll14
-rw-r--r--test/Transforms/InstCombine/2004-05-07-UnsizedCastLoad.ll11
-rw-r--r--test/Transforms/InstCombine/2004-07-27-ConstantExprMul.ll11
-rw-r--r--test/Transforms/InstCombine/2004-08-09-RemInfLoop.llx9
-rw-r--r--test/Transforms/InstCombine/2004-08-10-BoolSetCC.ll9
-rw-r--r--test/Transforms/InstCombine/2004-09-20-BadLoadCombine.llx25
-rw-r--r--test/Transforms/InstCombine/2004-09-20-BadLoadCombine2.llx27
-rw-r--r--test/Transforms/InstCombine/2004-09-28-BadShiftAndSetCC.llx12
-rw-r--r--test/Transforms/InstCombine/2004-11-22-Missed-and-fold.ll12
-rw-r--r--test/Transforms/InstCombine/2004-11-27-SetCCForCastLargerAndConstant.ll174
-rw-r--r--test/Transforms/InstCombine/2004-12-08-InstCombineCrash.ll18
-rw-r--r--test/Transforms/InstCombine/2004-12-08-RemInfiniteLoop.ll9
-rw-r--r--test/Transforms/InstCombine/2005-03-04-ShiftOverflow.ll12
-rw-r--r--test/Transforms/InstCombine/2005-04-07-UDivSelectCrash.ll11
-rw-r--r--test/Transforms/InstCombine/2005-06-15-DivSelectCrash.ll15
-rw-r--r--test/Transforms/InstCombine/2005-06-15-ShiftSetCCCrash.ll11
-rw-r--r--test/Transforms/InstCombine/2005-06-16-RangeCrash.ll12
-rw-r--r--test/Transforms/InstCombine/2005-06-16-SetCCOrSetCCMiscompile.ll18
-rw-r--r--test/Transforms/InstCombine/2005-07-07-DeadPHILoop.ll17
-rw-r--r--test/Transforms/InstCombine/2006-02-07-SextZextCrash.ll37
-rw-r--r--test/Transforms/InstCombine/2006-02-13-DemandedMiscompile.ll11
-rw-r--r--test/Transforms/InstCombine/2006-02-28-Crash.ll12
-rw-r--r--test/Transforms/InstCombine/2006-03-30-ExtractElement.ll11
-rw-r--r--test/Transforms/InstCombine/2006-04-01-InfLoop.ll565
-rw-r--r--test/Transforms/InstCombine/2006-04-28-ShiftShiftLongLong.ll13
-rw-r--r--test/Transforms/InstCombine/2006-05-04-DemandedBitCrash.ll59
-rw-r--r--test/Transforms/InstCombine/2006-05-06-Infloop.ll783
-rw-r--r--test/Transforms/InstCombine/2006-06-28-infloop.ll31
-rw-r--r--test/Transforms/InstCombine/2006-09-11-EmptyStructCrash.ll57
-rw-r--r--test/Transforms/InstCombine/2006-09-15-CastToBool.ll20
-rw-r--r--test/Transforms/InstCombine/2006-10-19-SignedToUnsignedCastAndConst-2.ll12
-rw-r--r--test/Transforms/InstCombine/2006-10-19-SignedToUnsignedCastAndConst.ll12
-rw-r--r--test/Transforms/InstCombine/2006-10-20-mask.ll16
-rw-r--r--test/Transforms/InstCombine/2006-10-26-VectorReassoc.ll12
-rw-r--r--test/Transforms/InstCombine/2006-11-03-Memmove64.ll17
-rw-r--r--test/Transforms/InstCombine/2006-11-10-ashr-miscompile.ll10
-rw-r--r--test/Transforms/InstCombine/2006-11-27-XorBug.ll14
-rw-r--r--test/Transforms/InstCombine/2006-12-01-BadFPVectorXform.ll14
-rw-r--r--test/Transforms/InstCombine/2006-12-05-fp-to-int-ext.ll13
-rw-r--r--test/Transforms/InstCombine/2006-12-08-ICmp-Combining.ll25
-rw-r--r--test/Transforms/InstCombine/2006-12-08-Phi-ICmp-Op-Fold.ll71
-rw-r--r--test/Transforms/InstCombine/2006-12-08-Select-ICmp.ll70
-rw-r--r--test/Transforms/InstCombine/2006-12-10-ICmp-GEP-GEP.ll312
-rw-r--r--test/Transforms/InstCombine/2006-12-15-Range-Test.ll34
-rw-r--r--test/Transforms/InstCombine/2006-12-23-Select-Cmp-Cmp.ll36
-rw-r--r--test/Transforms/InstCombine/2007-02-07-PointerCast.ll26
-rw-r--r--test/Transforms/InstCombine/narrow.ll19
-rw-r--r--test/Transforms/InstCombine/not.ll57
-rw-r--r--test/Transforms/InstCombine/or.ll227
-rw-r--r--test/Transforms/InstCombine/phi.ll129
-rw-r--r--test/Transforms/InstCombine/rem.ll103
-rw-r--r--test/Transforms/InstCombine/select.ll260
-rw-r--r--test/Transforms/InstCombine/set.ll222
-rw-r--r--test/Transforms/InstCombine/setcc-cast-cast.ll58
-rw-r--r--test/Transforms/InstCombine/setcc-strength-reduce.ll39
-rw-r--r--test/Transforms/InstCombine/shift-sra.ll26
-rw-r--r--test/Transforms/InstCombine/shift.ll273
-rw-r--r--test/Transforms/InstCombine/shl-trunc.ll12
-rw-r--r--test/Transforms/InstCombine/signext.ll62
-rw-r--r--test/Transforms/InstCombine/sink_instruction.ll19
-rw-r--r--test/Transforms/InstCombine/store.ll23
-rw-r--r--test/Transforms/InstCombine/sub.ll181
-rw-r--r--test/Transforms/InstCombine/vec_insert_to_shuffle.ll26
-rw-r--r--test/Transforms/InstCombine/vec_narrow.ll12
-rw-r--r--test/Transforms/InstCombine/xor.ll266
-rw-r--r--test/Transforms/InstCombine/zeroext-and-reduce.ll11
-rw-r--r--test/Transforms/InstCombine/zext.ll11
258 files changed, 7573 insertions, 7456 deletions
diff --git a/test/Transforms/ADCE/2002-05-22-PHITest.ll b/test/Transforms/ADCE/2002-05-22-PHITest.ll
index cf9872e2e1..04f0051af8 100644
--- a/test/Transforms/ADCE/2002-05-22-PHITest.ll
+++ b/test/Transforms/ADCE/2002-05-22-PHITest.ll
@@ -1,13 +1,16 @@
; It is illegal to remove BB1 because it will mess up the PHI node!
;
-; RUN: llvm-upgrade < %s | llvm-as | opt -adce | llvm-dis | grep BB1
+; RUN: llvm-as < %s | opt -adce | llvm-dis | grep BB1
+define i32 @test(i1 %C, i32 %A, i32 %B) {
+; <label>:0
+ br i1 %C, label %BB1, label %BB2
-int "test"(bool %C, int %A, int %B) {
- br bool %C, label %BB1, label %BB2
-BB1:
- br label %BB2
-BB2:
- %R = phi int [%A, %0], [%B, %BB1]
- ret int %R
+BB1: ; preds = %0
+ br label %BB2
+
+BB2: ; preds = %BB1, %0
+ %R = phi i32 [ %A, %0 ], [ %B, %BB1 ] ; <i32> [#uses=1]
+ ret i32 %R
}
+
diff --git a/test/Transforms/ADCE/2002-05-23-ZeroArgPHITest.ll b/test/Transforms/ADCE/2002-05-23-ZeroArgPHITest.ll
index 999675b55a..911f8e678b 100644
--- a/test/Transforms/ADCE/2002-05-23-ZeroArgPHITest.ll
+++ b/test/Transforms/ADCE/2002-05-23-ZeroArgPHITest.ll
@@ -4,30 +4,29 @@
; removed even though there were uses still around. Now the uses are filled
; in with a dummy value before the PHI is deleted.
;
-; RUN: llvm-upgrade < %s | llvm-as | opt -adce
+; RUN: llvm-as < %s | opt -adce
-%node_t = type { double*, %node_t*, %node_t**, double**, double*, int, int }
+ %node_t = type { double*, %node_t*, %node_t**, double**, double*, i32, i32 }
-implementation ; Functions:
+define void @localize_local(%node_t* %nodelist) {
+bb0:
+ %nodelist.upgrd.1 = alloca %node_t* ; <%node_t**> [#uses=2]
+ store %node_t* %nodelist, %node_t** %nodelist.upgrd.1
+ br label %bb1
-void %localize_local(%node_t* %nodelist) {
-bb0: ;[#uses=0]
- %nodelist = alloca %node_t* ; <%node_t**> [#uses=2]
- store %node_t* %nodelist, %node_t** %nodelist
- br label %bb1
+bb1: ; preds = %bb0
+ %reg107 = load %node_t** %nodelist.upgrd.1 ; <%node_t*> [#uses=2]
+ %cond211 = icmp eq %node_t* %reg107, null ; <i1> [#uses=1]
+ br i1 %cond211, label %bb3, label %bb2
-bb1: ;[#uses=2]
- %reg107 = load %node_t** %nodelist ; <%node_t*> [#uses=2]
- %cond211 = seteq %node_t* %reg107, null ; <bool> [#uses=1]
- br bool %cond211, label %bb3, label %bb2
+bb2: ; preds = %bb2, %bb1
+ %reg109 = phi %node_t* [ %reg110, %bb2 ], [ %reg107, %bb1 ] ; <%node_t*> [#uses=1]
+ %reg212 = getelementptr %node_t* %reg109, i64 0, i32 1 ; <%node_t**> [#uses=1]
+ %reg110 = load %node_t** %reg212 ; <%node_t*> [#uses=2]
+ %cond213 = icmp ne %node_t* %reg110, null ; <i1> [#uses=1]
+ br i1 %cond213, label %bb2, label %bb3
-bb2: ;[#uses=3]
- %reg109 = phi %node_t* [ %reg110, %bb2 ], [ %reg107, %bb1 ] ; <%node_t*> [#uses=1]
- %reg212 = getelementptr %node_t* %reg109, long 0, uint 1 ; <%node_t**> [#uses=1]
- %reg110 = load %node_t** %reg212 ; <%node_t*> [#uses=2]
- %cond213 = setne %node_t* %reg110, null ; <bool> [#uses=1]
- br bool %cond213, label %bb2, label %bb3
-
-bb3: ;[#uses=2]
- ret void
+bb3: ; preds = %bb2, %bb1
+ ret void
}
+
diff --git a/test/Transforms/ADCE/2002-05-28-Crash-distilled.ll b/test/Transforms/ADCE/2002-05-28-Crash-distilled.ll
index 0d5adf907f..5d25ff1352 100644
--- a/test/Transforms/ADCE/2002-05-28-Crash-distilled.ll
+++ b/test/Transforms/ADCE/2002-05-28-Crash-distilled.ll
@@ -1,17 +1,17 @@
; This testcase is a distilled form of: 2002-05-28-Crash.ll
-; RUN: llvm-upgrade < %s | llvm-as | opt -adce
+; RUN: llvm-as < %s | opt -adce
-float "test"(int %i) {
- %F = cast int %i to float ; This BB is not dead
- %I = cast int %i to uint ; future dead inst
- br label %Loop
+define float @test(i32 %i) {
+ %F = sitofp i32 %i to float ; <float> [#uses=1]
+ %I = bitcast i32 %i to i32 ; <i32> [#uses=1]
+ br label %Loop
-Loop: ; This block is dead
- %B = cast uint %I to bool
- br bool %B, label %Out, label %Loop
+Loop: ; preds = %Loop, %0
+ %B = icmp ne i32 %I, 0 ; <i1> [#uses=1]
+ br i1 %B, label %Out, label %Loop
-Out:
- ret float %F
+Out: ; preds = %Loop
+ ret float %F
}
diff --git a/test/Transforms/ADCE/2002-05-28-Crash.ll b/test/Transforms/ADCE/2002-05-28-Crash.ll
index b6340d540b..27c7205203 100644
--- a/test/Transforms/ADCE/2002-05-28-Crash.ll
+++ b/test/Transforms/ADCE/2002-05-28-Crash.ll
@@ -11,46 +11,44 @@
; return !s;
;}
;
-; RUN: llvm-upgrade < %s | llvm-as | opt -adce
+; RUN: llvm-as < %s | opt -adce
-implementation ; Functions:
+define i32 @rx_bitset_empty(i32 %size, i32* %set) {
+bb1:
+ %reg110 = load i32* %set ; <i32> [#uses=2]
+ store i32 1, i32* %set
+ %cast112 = sext i32 %size to i64 ; <i64> [#uses=1]
+ %reg113 = add i64 %cast112, 31 ; <i64> [#uses=1]
+ %reg114 = lshr i64 %reg113, 5 ; <i64> [#uses=2]
+ %cast109 = trunc i64 %reg114 to i32 ; <i32> [#uses=1]
+ %reg129 = add i32 %cast109, -1 ; <i32> [#uses=1]
+ %reg114-idxcast = trunc i64 %reg114 to i32 ; <i32> [#uses=1]
+ %reg114-idxcast-offset = add i32 %reg114-idxcast, 1073741823 ; <i32> [#uses=1]
+ %reg114-idxcast-offset.upgrd.1 = zext i32 %reg114-idxcast-offset to i64 ; <i64> [#uses=1]
+ %reg124 = getelementptr i32* %set, i64 %reg114-idxcast-offset.upgrd.1 ; <i32*> [#uses=1]
+ %reg125 = load i32* %reg124 ; <i32> [#uses=1]
+ %cond232 = icmp ne i32 %reg125, 0 ; <i1> [#uses=1]
+ br i1 %cond232, label %bb3, label %bb2
-int %rx_bitset_empty(int %size, uint* %set) {
-bb1: ;[#uses=2]
- %reg110 = load uint* %set ; <uint> [#uses=2]
- store uint 1, uint* %set
- %cast112 = cast int %size to ulong ; <ulong> [#uses=1]
- %reg113 = add ulong %cast112, 31 ; <ulong> [#uses=1]
- %reg114 = shr ulong %reg113, ubyte 5 ; <ulong> [#uses=2]
- %cast109 = cast ulong %reg114 to int ; <int> [#uses=1]
- %reg129 = add int %cast109, -1 ; <int> [#uses=1]
- %reg114-idxcast = cast ulong %reg114 to uint ; <uint> [#uses=1]
- %reg114-idxcast-offset = add uint %reg114-idxcast, 1073741823 ; <uint> [#uses=1]
- %reg114-idxcast-offset = cast uint %reg114-idxcast-offset to long
- %reg124 = getelementptr uint* %set, long %reg114-idxcast-offset ; <uint*> [#uses=1]
- %reg125 = load uint* %reg124 ; <uint> [#uses=1]
- %cond232 = setne uint %reg125, 0 ; <bool> [#uses=1]
- br bool %cond232, label %bb3, label %bb2
-
-bb2: ;[#uses=3]
- %cann-indvar = phi int [ 0, %bb1 ], [ %add1-indvar, %bb2 ] ; <int> [#uses=2]
- %reg130-scale = mul int %cann-indvar, -1 ; <int> [#uses=1]
- %reg130 = add int %reg130-scale, %reg129 ; <int> [#uses=1]
- %add1-indvar = add int %cann-indvar, 1 ; <int> [#uses=1]
- %reg130-idxcast = cast int %reg130 to uint ; <uint> [#uses=1]
- %reg130-idxcast-offset = add uint %reg130-idxcast, 1073741823 ; <uint> [#uses=1]
- %reg130-idxcast-offset = cast uint %reg130-idxcast-offset to long
- %reg118 = getelementptr uint* %set, long %reg130-idxcast-offset ; <uint*> [#uses=1]
- %reg119 = load uint* %reg118 ; <uint> [#uses=1]
- %cond233 = seteq uint %reg119, 0 ; <bool> [#uses=1]
- br bool %cond233, label %bb2, label %bb3
-
-bb3: ;[#uses=2]
- store uint %reg110, uint* %set
- %cast126 = cast uint %reg110 to ulong ; <ulong> [#uses=1]
- %reg127 = add ulong %cast126, 18446744073709551615 ; <ulong> [#uses=1]
- %reg128 = shr ulong %reg127, ubyte 63 ; <ulong> [#uses=1]
- %cast120 = cast ulong %reg128 to int ; <int> [#uses=1]
- ret int %cast120
+bb2: ; preds = %bb2, %bb1
+ %cann-indvar = phi i32 [ 0, %bb1 ], [ %add1-indvar, %bb2 ] ; <i32> [#uses=2]
+ %reg130-scale = mul i32 %cann-indvar, -1 ; <i32> [#uses=1]
+ %reg130 = add i32 %reg130-scale, %reg129 ; <i32> [#uses=1]
+ %add1-indvar = add i32 %cann-indvar, 1 ; <i32> [#uses=1]
+ %reg130-idxcast = bitcast i32 %reg130 to i32 ; <i32> [#uses=1]
+ %reg130-idxcast-offset = add i32 %reg130-idxcast, 1073741823 ; <i32> [#uses=1]
+ %reg130-idxcast-offset.upgrd.2 = zext i32 %reg130-idxcast-offset to i64 ; <i64> [#uses=1]
+ %reg118 = getelementptr i32* %set, i64 %reg130-idxcast-offset.upgrd.2 ; <i32*> [#uses=1]
+ %reg119 = load i32* %reg118 ; <i32> [#uses=1]
+ %cond233 = icmp eq i32 %reg119, 0 ; <i1> [#uses=1]
+ br i1 %cond233, label %bb2, label %bb3
+bb3: ; preds = %bb2, %bb1
+ store i32 %reg110, i32* %set
+ %cast126 = zext i32 %reg110 to i64 ; <i64> [#uses=1]
+ %reg127 = add i64 %cast126, -1 ; <i64> [#uses=1]
+ %reg128 = lshr i64 %reg127, 63 ; <i64> [#uses=1]
+ %cast120 = trunc i64 %reg128 to i32 ; <i32> [#uses=1]
+ ret i32 %cast120
}
+
diff --git a/test/Transforms/ADCE/2002-07-17-AssertionFailure.ll b/test/Transforms/ADCE/2002-07-17-AssertionFailure.ll
index 61b140233d..fb4fe4a8d2 100644
--- a/test/Transforms/ADCE/2002-07-17-AssertionFailure.ll
+++ b/test/Transforms/ADCE/2002-07-17-AssertionFailure.ll
@@ -3,11 +3,11 @@
; block in this function, it would work fine, but that would be the part we
; have to fix now, wouldn't it....
;
-; RUN: llvm-upgrade < %s | llvm-as | opt -adce
+; RUN: llvm-as < %s | opt -adce
-void %foo(sbyte* %reg5481) {
- %cast611 = cast sbyte* %reg5481 to sbyte** ; <sbyte**> [#uses=1]
- %reg162 = load sbyte** %cast611 ; <sbyte*> [#uses=0]
- cast sbyte*%reg162 to int
- ret void
+define void @foo(i8* %reg5481) {
+ %cast611 = bitcast i8* %reg5481 to i8** ; <i8**> [#uses=1]
+ %reg162 = load i8** %cast611 ; <i8*> [#uses=1]
+ ptrtoint i8* %reg162 to i32 ; <i32>:1 [#uses=0]
+ ret void
}
diff --git a/test/Transforms/ADCE/2002-07-17-PHIAssertion.ll b/test/Transforms/ADCE/2002-07-17-PHIAssertion.ll
index 6d15fae8ef..42a7e4dcde 100644
--- a/test/Transforms/ADCE/2002-07-17-PHIAssertion.ll
+++ b/test/Transforms/ADCE/2002-07-17-PHIAssertion.ll
@@ -1,49 +1,48 @@
; This testcase was extracted from the gzip SPEC benchmark
;
-; RUN: llvm-upgrade < %s | llvm-as | opt -adce
+; RUN: llvm-as < %s | opt -adce
-%bk = external global uint ; <uint*> [#uses=2]
-%hufts = external global uint ; <uint*> [#uses=1]
+@bk = external global i32 ; <i32*> [#uses=2]
+@hufts = external global i32 ; <i32*> [#uses=1]
-implementation ; Functions:
+define i32 @inflate() {
+bb0:
+ br label %bb2
-int %inflate() {
-bb0: ;[#uses=1]
- br label %bb2
+bb2: ; preds = %bb6, %bb0
+ %reg128 = phi i32 [ %reg130, %bb6 ], [ 0, %bb0 ] ; <i32> [#uses=2]
+ br i1 true, label %bb4, label %bb3
-bb2: ;[#uses=2]
- %reg128 = phi uint [ %reg130, %bb6 ], [ 0, %bb0 ] ; <uint> [#uses=2]
- br bool true, label %bb4, label %bb3
+bb3: ; preds = %bb2
+ br label %UnifiedExitNode
-bb3: ;[#uses=2]
- br label %UnifiedExitNode
+bb4: ; preds = %bb2
+ %reg117 = load i32* @hufts ; <i32> [#uses=2]
+ %cond241 = icmp ule i32 %reg117, %reg128 ; <i1> [#uses=1]
+ br i1 %cond241, label %bb6, label %bb5
-bb4: ;[#uses=2]
- %reg117 = load uint* %hufts ; <uint> [#uses=2]
- %cond241 = setle uint %reg117, %reg128 ; <bool> [#uses=1]
- br bool %cond241, label %bb6, label %bb5
+bb5: ; preds = %bb4
+ br label %bb6
-bb5: ;[#uses=2]
- br label %bb6
+bb6: ; preds = %bb5, %bb4
+ %reg130 = phi i32 [ %reg117, %bb5 ], [ %reg128, %bb4 ] ; <i32> [#uses=1]
+ br i1 false, label %bb2, label %bb7
-bb6: ;[#uses=3]
- %reg130 = phi uint [ %reg117, %bb5 ], [ %reg128, %bb4 ] ; <uint> [#uses=1]
- br bool false, label %bb2, label %bb7
+bb7: ; preds = %bb6
+ %reg126 = load i32* @bk ; <i32> [#uses=1]
+ %cond247 = icmp ule i32 %reg126, 7 ; <i1> [#uses=1]
+ br i1 %cond247, label %bb9, label %bb8
-bb7: ;[#uses=1]
- %reg126 = load uint* %bk ; <uint> [#uses=1]
- %cond247 = setle uint %reg126, 7 ; <bool> [#uses=1]
- br bool %cond247, label %bb9, label %bb8
+bb8: ; preds = %bb8, %bb7
+ %reg119 = load i32* @bk ; <i32> [#uses=1]
+ %cond256 = icmp ugt i32 %reg119, 7 ; <i1> [#uses=1]
+ br i1 %cond256, label %bb8, label %bb9
-bb8: ;[#uses=2]
- %reg119 = load uint* %bk ; <uint> [#uses=1]
- %cond256 = setgt uint %reg119, 7 ; <bool> [#uses=1]
- br bool %cond256, label %bb8, label %bb9
+bb9: ; preds = %bb8, %bb7
+ br label %UnifiedExitNode
-bb9: ;[#uses=3]
- br label %UnifiedExitNode
-
-UnifiedExitNode: ;[#uses=2]
- %UnifiedRetVal = phi int [ 7, %bb3 ], [ 0, %bb9 ] ; <int> [#uses=1]
- ret int %UnifiedRetVal
+UnifiedExitNode: ; preds = %bb9, %bb3
+ %UnifiedRetVal = phi i32 [ 7, %bb3 ], [ 0, %bb9 ] ; <i32> [#uses=1]
+ ret i32 %UnifiedRetVal
}
+
diff --git a/test/Transforms/ADCE/2002-07-29-Segfault.ll b/test/Transforms/ADCE/2002-07-29-Segfault.ll
index 0c0e2afde4..1c65b3b544 100644
--- a/test/Transforms/ADCE/2002-07-29-Segfault.ll
+++ b/test/Transforms/ADCE/2002-07-29-Segfault.ll
@@ -1,9 +1,9 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -adce
+; RUN: llvm-as < %s | opt -adce
-void "test"()
-begin
- br label %BB3
+define void @test() {
+ br label %BB3
+
+BB3: ; preds = %BB3, %0
+ br label %BB3
+}
-BB3:
- br label %BB3
-end
diff --git a/test/Transforms/ADCE/2003-01-22-PredecessorProblem.ll b/test/Transforms/ADCE/2003-01-22-PredecessorProblem.ll
index d8c6448570..4ec9005607 100644
--- a/test/Transforms/ADCE/2003-01-22-PredecessorProblem.ll
+++ b/test/Transforms/ADCE/2003-01-22-PredecessorProblem.ll
@@ -1,25 +1,25 @@
; Testcase reduced from 197.parser by bugpoint
-; RUN: llvm-upgrade < %s | llvm-as | opt -adce
-implementation ; Functions:
+; RUN: llvm-as < %s | opt -adce
-void %conjunction_prune() {
-; <label>:0 ; No predecessors!
- br label %bb19
+define void @conjunction_prune() {
+; <label>:0
+ br label %bb19
-bb19: ; preds = %bb22, %bb23, %0
- %reg205 = phi sbyte* [ null, %bb22 ], [ null, %bb23 ], [ null, %0 ] ; <sbyte*> [#uses=1]
- br bool false, label %bb21, label %bb22
+bb19: ; preds = %bb23, %bb22, %0
+ %reg205 = phi i8* [ null, %bb22 ], [ null, %bb23 ], [ null, %0 ] ; <i8*> [#uses=1]
+ br i1 false, label %bb21, label %bb22
-bb21: ; preds = %bb19
- %cast455 = cast sbyte* %reg205 to sbyte** ; <sbyte**> [#uses=0]
- br label %bb22
+bb21: ; preds = %bb19
+ %cast455 = bitcast i8* %reg205 to i8** ; <i8**> [#uses=0]
+ br label %bb22
-bb22: ; preds = %bb21, %bb19
- br bool false, label %bb19, label %bb23
+bb22: ; preds = %bb21, %bb19
+ br i1 false, label %bb19, label %bb23
-bb23: ; preds = %bb22
- br bool false, label %bb19, label %bb28
+bb23: ; preds = %bb22
+ br i1 false, label %bb19, label %bb28
-bb28: ; preds = %bb23
- ret void
+bb28: ; preds = %bb23
+ ret void
}
+
diff --git a/test/Transforms/ADCE/2003-04-25-PHIPostDominateProblem.ll b/test/Transforms/ADCE/2003-04-25-PHIPostDominateProblem.ll
index 92d7cad770..603b14b537 100644
--- a/test/Transforms/ADCE/2003-04-25-PHIPostDominateProblem.ll
+++ b/test/Transforms/ADCE/2003-04-25-PHIPostDominateProblem.ll
@@ -2,36 +2,34 @@
; entries for it's postdominator. But I think this can only happen when the
; PHI node is dead, so we just avoid patching up dead PHI nodes.
-; RUN: llvm-upgrade < %s | llvm-as | opt -adce
+; RUN: llvm-as < %s | opt -adce
-target endian = little
-target pointersize = 32
+target datalayout = "e-p:32:32"
-implementation ; Functions:
+define void @dead_test8() {
+entry:
+ br label %loopentry
-void %dead_test8() {
-entry: ; No predecessors!
- br label %loopentry
+loopentry: ; preds = %endif, %entry
+ %k.1 = phi i32 [ %k.0, %endif ], [ 0, %entry ] ; <i32> [#uses=1]
+ br i1 false, label %no_exit, label %return
-loopentry: ; preds = %entry, %endif
- %k.1 = phi int [ %k.0, %endif ], [ 0, %entry ] ; <int> [#uses=1]
- br bool false, label %no_exit, label %return
+no_exit: ; preds = %loopentry
+ br i1 false, label %then, label %else
-no_exit: ; preds = %loopentry
- br bool false, label %then, label %else
+then: ; preds = %no_exit
+ br label %endif
-then: ; preds = %no_exit
- br label %endif
+else: ; preds = %no_exit
+ %dec = add i32 %k.1, -1 ; <i32> [#uses=1]
+ br label %endif
-else: ; preds = %no_exit
- %dec = add int %k.1, -1 ; <int> [#uses=1]
- br label %endif
+endif: ; preds = %else, %then
+ %k.0 = phi i32 [ %dec, %else ], [ 0, %then ] ; <i32> [#uses=1]
+ store i32 2, i32* null
+ br label %loopentry
-endif: ; preds = %else, %then
- %k.0 = phi int [ %dec, %else ], [ 0, %then ] ; <int> [#uses=1]
- store int 2, int* null
- br label %loopentry
-
-return: ; preds = %loopentry
- ret void
+return: ; preds = %loopentry
+ ret void
}
+
diff --git a/test/Transforms/ADCE/2003-06-11-InvalidCFG.ll b/test/Transforms/ADCE/2003-06-11-InvalidCFG.ll
index 590089d1c9..a9657a7a37 100644
--- a/test/Transforms/ADCE/2003-06-11-InvalidCFG.ll
+++ b/test/Transforms/ADCE/2003-06-11-InvalidCFG.ll
@@ -1,28 +1,28 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -adce -disable-output
-%G = external global int*
+; RUN: llvm-as < %s | opt -adce -disable-output
-implementation ; Functions:
+@G = external global i32* ; <i32**> [#uses=1]
-declare void %Fn(int*)
+declare void @Fn(i32*)
-int %main(int %argc.1, sbyte** %argv.1) {
-entry: ; No predecessors!
- br label %endif.42
+define i32 @main(i32 %argc.1, i8** %argv.1) {
+entry:
+ br label %endif.42
-endif.42: ; preds = %entry, %shortcirc_done.12, %then.66, %endif.42
- br bool false, label %endif.65, label %endif.42
-
-then.66: ; preds = %shortcirc_done.12
- call void %Fn( int* %tmp.2846)
- br label %endif.42
+endif.42: ; preds = %shortcirc_done.12, %then.66, %endif.42, %entry
+ br i1 false, label %endif.65, label %endif.42
-endif.65: ; preds = %endif.42
- %tmp.2846 = load int** %G
- br bool false, label %shortcirc_next.12, label %shortcirc_done.12
+then.66: ; preds = %shortcirc_done.12
+ call void @Fn( i32* %tmp.2846 )
+ br label %endif.42
-shortcirc_next.12: ; preds = %endif.65
- br label %shortcirc_done.12
+endif.65: ; preds = %endif.42
+ %tmp.2846 = load i32** @G ; <i32*> [#uses=1]
+ br i1 false, label %shortcirc_next.12, label %shortcirc_done.12
-shortcirc_done.12: ; preds = %endif.65, %shortcirc_next.12
- br bool false, label %then.66, label %endif.42
+shortcirc_next.12: ; preds = %endif.65
+ br label %shortcirc_done.12
+
+shortcirc_done.12: ; preds = %shortcirc_next.12, %endif.65
+ br i1 false, label %then.66, label %endif.42
}
+
diff --git a/test/Transforms/ADCE/2003-06-24-BadSuccessor.ll b/test/Transforms/ADCE/2003-06-24-BadSuccessor.ll
index 1a730194ff..e5dd0cc6d9 100644
--- a/test/Transforms/ADCE/2003-06-24-BadSuccessor.ll
+++ b/test/Transforms/ADCE/2003-06-24-BadSuccessor.ll
@@ -1,94 +1,91 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -adce -disable-output
+; RUN: llvm-as < %s | opt -adce -disable-output
+target datalayout = "e-p:32:32"
+ %struct..CppObjTypeDesc = type { i32, i16, i16 }
+ %struct..TypeToken = type { i32, i16, i16 }
-target endian = little
-target pointersize = 32
- %struct..CppObjTypeDesc = type { uint, ushort, ushort }
- %struct..TypeToken = type { uint, ushort, ushort }
-
-implementation ; Functions:
-
-uint %C_ReFaxToDb() {
-entry: ; No predecessors!
- br bool false, label %endif.0, label %then.0
+define i32 @C_ReFaxToDb() {
+entry:
+ br i1 false, label %endif.0, label %then.0
then.0: ; preds = %entry
- ret uint 0
+ ret i32 0
endif.0: ; preds = %entry
- br bool false, label %then.11, label %then.4
+ br i1 false, label %then.11, label %then.4
then.4: ; preds = %endif.0
- ret uint 0
+ ret i32 0
then.11: ; preds = %endif.0
- br bool false, label %loopentry.0, label %else.2
+ br i1 false, label %loopentry.0, label %else.2
-loopentry.0: ; preds = %then.11, %endif.14, %loopentry.1
- br bool false, label %endif.14, label %loopexit.0
+loopentry.0: ; preds = %loopentry.1, %endif.14, %then.11
+ br i1 false, label %endif.14, label %loopexit.0
endif.14: ; preds = %loopentry.0
- br bool false, label %loopentry.1, label %loopentry.0
+ br i1 false, label %loopentry.1, label %loopentry.0
-loopentry.1: ; preds = %endif.14, %then.53, %then.53, %then.53, %then.53, %then.53
- %SubArrays.10 = phi uint* [ %SubArrays.8, %then.53 ] , [ null, %endif.14 ] ; <uint*> [#uses=3]
- br bool false, label %no_exit.1, label %loopentry.0
+loopentry.1: ; preds = %then.53, %endif.14
+ %SubArrays.10 = phi i32* [ %SubArrays.8, %then.53 ], [ null, %endif.14 ] ; <i32*> [#uses=3]
+ br i1 false, label %no_exit.1, label %loopentry.0
no_exit.1: ; preds = %loopentry.1
- switch uint 0, label %label.17 [
- uint 2, label %label.11
- uint 19, label %label.10
+ switch i32 0, label %label.17 [
+ i32 2, label %label.11
+ i32 19, label %label.10
]
label.10: ; preds = %no_exit.1
- br bool false, label %then.43, label %endif.43
+ br i1 false, label %then.43, label %endif.43
then.43: ; preds = %label.10
- br bool false, label %then.44, label %endif.44
+ br i1 false, label %then.44, label %endif.44
then.44: ; preds = %then.43
- br bool false, label %shortcirc_next.4, label %endif.45
+ br i1 false, label %shortcirc_next.4, label %endif.45
shortcirc_next.4: ; preds = %then.44
- br bool false, label %no_exit.2, label %loopexit.2
+ br i1 false, label %no_exit.2, label %loopexit.2
no_exit.2: ; preds = %shortcirc_next.4
- %tmp.897 = getelementptr uint* %SubArrays.10, long 0 ; <uint*> [#uses=1]
- %tmp.899 = load uint* %tmp.897 ; <uint> [#uses=1]
- store uint %tmp.899, uint* null
- ret uint 0
+ %tmp.897 = getelementptr i32* %SubArrays.10, i64 0 ; <i32*> [#uses=1]
+ %tmp.899 = load i32* %tmp.897 ; <i32> [#uses=1]
+ store i32 %tmp.899, i32* null
+ ret i32 0
loopexit.2: ; preds = %shortcirc_next.4
- ret uint 0
+ ret i32 0
endif.45: ; preds = %then.44
- ret uint 0
+ ret i32 0
endif.44: ; preds = %then.43
- ret uint 0
+ ret i32 0
endif.43: ; preds = %label.10
- ret uint 0
+ ret i32 0
label.11: ; preds = %no_exit.1
- ret uint 0
+ ret i32 0
-label.17: ; preds = %no_exit.1, %no_exit.1, %no_exit.1, %no_exit.1, %no_exit.1, %no_exit.1
- br bool false, label %then.53, label %shortcirc_next.7
+label.17: ; preds = %no_exit.1
+ br i1 false, label %then.53, label %shortcirc_next.7
shortcirc_next.7: ; preds = %label.17
- br bool false, label %then.53, label %shortcirc_next.8
+ br i1 false, label %then.53, label %shortcirc_next.8
shortcirc_next.8: ; preds = %shortcirc_next.7
- ret uint 0
+ ret i32 0
then.53: ; preds = %shortcirc_next.7, %label.17
- %SubArrays.8 = phi uint* [ %SubArrays.10, %shortcirc_next.7 ], [ %SubArrays.10, %label.17 ] ; <uint*> [#uses=5]
- %tmp.1023 = load uint* null ; <uint> [#uses=1]
- switch uint %tmp.1023, label %loopentry.1 []
+ %SubArrays.8 = phi i32* [ %SubArrays.10, %shortcirc_next.7 ], [ %SubArrays.10, %label.17 ] ; <i32*> [#uses=1]
+ %tmp.1023 = load i32* null ; <i32> [#uses=1]
+ switch i32 %tmp.1023, label %loopentry.1 [
+ ]
loopexit.0: ; preds = %loopentry.0
- ret uint 0
+ ret i32 0
else.2: ; preds = %then.11
- ret uint 0
+ ret i32 0
}
diff --git a/test/Transforms/ADCE/2003-06-24-BasicFunctionality.ll b/test/Transforms/ADCE/2003-06-24-BasicFunctionality.ll
index ac62699863..9c6764d562 100644
--- a/test/Transforms/ADCE/2003-06-24-BasicFunctionality.ll
+++ b/test/Transforms/ADCE/2003-06-24-BasicFunctionality.ll
@@ -1,40 +1,41 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -adce -simplifycfg | llvm-dis | not grep then:
-
-void %dead_test8(int* %data.1, int %idx.1) {
-entry: ; No predecessors!
- %tmp.1 = load int* %data.1 ; <int> [#uses=2]
- %tmp.41 = setgt int %tmp.1, 0 ; <bool> [#uses=1]
- br bool %tmp.41, label %no_exit.preheader, label %return
-
-no_exit.preheader: ; preds = %entry
- %tmp.11 = getelementptr int* %data.1, long 1 ; <int*> [#uses=1]
- %tmp.22-idxcast = cast int %idx.1 to long ; <long> [#uses=1]
- %tmp.28 = getelementptr int* %data.1, long %tmp.22-idxcast ; <int*> [#uses=1]
- br label %no_exit
-
-no_exit: ; preds = %no_exit.preheader, %endif
- %k.1 = phi int [ %k.0, %endif ], [ 0, %no_exit.preheader ] ; <int> [#uses=3]
- %i.0 = phi int [ %inc.1, %endif ], [ 0, %no_exit.preheader ] ; <int> [#uses=1]
- %tmp.12 = load int* %tmp.11 ; <int> [#uses=1]
- %tmp.14 = sub int 0, %tmp.12 ; <int> [#uses=1]
- %tmp.161 = setne int %k.1, %tmp.14 ; <bool> [#uses=1]
- br bool %tmp.161, label %then, label %else
-
-then: ; preds = %no_exit
- %inc.0 = add int %k.1, 1 ; <int> [#uses=1]
- br label %endif
-
-else: ; preds = %no_exit
- %dec = add int %k.1, -1 ; <int> [#uses=1]
- br label %endif
-
-endif: ; preds = %else, %then
- %k.0 = phi int [ %dec, %else ], [ %inc.0, %then ] ; <int> [#uses=1]
- store int 2, int* %tmp.28
- %inc.1 = add int %i.0, 1 ; <int> [#uses=2]
- %tmp.4 = setlt int %inc.1, %tmp.1 ; <bool> [#uses=1]
- br bool %tmp.4, label %no_exit, label %return
-
-return: ; preds = %entry, %endif
- ret void
+; RUN: llvm-as < %s | opt -adce -simplifycfg | llvm-dis | not grep then:
+
+define void @dead_test8(i32* %data.1, i32 %idx.1) {
+entry:
+ %tmp.1 = load i32* %data.1 ; <i32> [#uses=2]
+ %tmp.41 = icmp sgt i32 %tmp.1, 0 ; <i1> [#uses=1]
+ br i1 %tmp.41, label %no_exit.preheader, label %return
+
+no_exit.preheader: ; preds = %entry
+ %tmp.11 = getelementptr i32* %data.1, i64 1 ; <i32*> [#uses=1]
+ %tmp.22-idxcast = sext i32 %idx.1 to i64 ; <i64> [#uses=1]
+ %tmp.28 = getelementptr i32* %data.1, i64 %tmp.22-idxcast ; <i32*> [#uses=1]
+ br label %no_exit
+
+no_exit: ; preds = %endif, %no_exit.preheader
+ %k.1 = phi i32 [ %k.0, %endif ], [ 0, %no_exit.preheader ] ; <i32> [#uses=3]
+ %i.0 = phi i32 [ %inc.1, %endif ], [ 0, %no_exit.preheader ] ; <i32> [#uses=1]
+ %tmp.12 = load i32* %tmp.11 ; <i32> [#uses=1]
+ %tmp.14 = sub i32 0, %tmp.12 ; <i32> [#uses=1]
+ %tmp.161 = icmp ne i32 %k.1, %tmp.14 ; <i1> [#uses=1]
+ br i1 %tmp.161, label %then, label %else
+
+then: ; preds = %no_exit
+ %inc.0 = add i32 %k.1, 1 ; <i32> [#uses=1]
+ br label %endif
+
+else: ; preds = %no_exit
+ %dec = add i32 %k.1, -1 ; <i32> [#uses=1]
+ br label %endif
+
+endif: ; preds = %else, %then
+ %k.0 = phi i32 [ %dec, %else ], [ %inc.0, %then ] ; <i32> [#uses=1]
+ store i32 2, i32* %tmp.28
+ %inc.1 = add i32 %i.0, 1 ; <i32> [#uses=2]
+ %tmp.4 = icmp slt i32 %inc.1, %tmp.1 ; <i1> [#uses=1]
+ br i1 %tmp.4, label %no_exit, label %return
+
+return: ; preds = %endif, %entry
+ ret void
}
+
diff --git a/test/Transforms/ADCE/2003-09-10-UnwindInstFail.ll b/test/Transforms/ADCE/2003-09-10-UnwindInstFail.ll
index a88e04155b..e6345c13eb 100644
--- a/test/Transforms/ADCE/2003-09-10-UnwindInstFail.ll
+++ b/test/Transforms/ADCE/2003-09-10-UnwindInstFail.ll
@@ -1,20 +1,19 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -adce -disable-output
+; RUN: llvm-as < %s | opt -adce -disable-output
-implementation ; Functions:
+define void @test() {
+ br i1 false, label %then, label %endif
-void %test() {
- br bool false, label %then, label %endif
+then: ; preds = %0
+ invoke void null( i8* null )
+ to label %invoke_cont unwind label %invoke_catch
-then:
- invoke void null( sbyte* null )
- to label %invoke_cont except label %invoke_catch
+invoke_catch: ; preds = %then
+ unwind
-invoke_catch:
- unwind
+invoke_cont: ; preds = %then
+ ret void
-invoke_cont:
- ret void
-
-endif:
- ret void
+endif: ; preds = %0
+ ret void
}
+
diff --git a/test/Transforms/ADCE/2003-09-15-InfLoopCrash.ll b/test/Transforms/ADCE/2003-09-15-InfLoopCrash.ll
index c61bd6d385..37e077f21c 100644
--- a/test/Transforms/ADCE/2003-09-15-InfLoopCrash.ll
+++ b/test/Transforms/ADCE/2003-09-15-InfLoopCrash.ll
@@ -1,8 +1,9 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -adce -disable-output
+; RUN: llvm-as < %s | opt -adce -disable-output
-int %main() {
- br label %loop
+define i32 @main() {
+ br label %loop
-loop:
- br label %loop
+loop: ; preds = %loop, %0
+ br label %loop
}
+
diff --git a/test/Transforms/ADCE/2003-11-16-MissingPostDominanceInfo.ll b/test/Transforms/ADCE/2003-11-16-MissingPostDominanceInfo.ll
index cf7b08835b..6e9b17ed31 100644
--- a/test/Transforms/ADCE/2003-11-16-MissingPostDominanceInfo.ll
+++ b/test/Transforms/ADCE/2003-11-16-MissingPostDominanceInfo.ll
@@ -1,17 +1,18 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -adce -simplifycfg | llvm-dis | grep call
-declare void %exit(int)
+; RUN: llvm-as < %s | opt -adce -simplifycfg | llvm-dis | grep call
+declare void @exit(i32)
-int %main(int %argc) {
- %C = seteq int %argc, 1
- br bool %C, label %Cond, label %Done
+define i32 @main(i32 %argc) {
+ %C = icmp eq i32 %argc, 1 ; <i1> [#uses=2]
+ br i1 %C, label %Cond, label %Done
-Cond:
- br bool %C, label %Loop, label %Done
+Cond: ; preds = %0
+ br i1 %C, label %Loop, label %Done
-Loop:
- call void %exit(int 0)
- br label %Loop
+Loop: ; preds = %Loop, %Cond
+ call void @exit( i32 0 )
+ br label %Loop
-Done:
- ret int 1
+Done: ; preds = %Cond, %0
+ ret i32 1
}
+
diff --git a/test/Transforms/ADCE/2003-12-19-MergeReturn.llx b/test/Transforms/ADCE/2003-12-19-MergeReturn.llx
index 6b8b547fc7..b2c294b1df 100644
--- a/test/Transforms/ADCE/2003-12-19-MergeReturn.llx
+++ b/test/Transforms/ADCE/2003-12-19-MergeReturn.llx
@@ -1,28 +1,27 @@
; This testcase was failing because without merging the return blocks, ADCE
; didn't know that it could get rid of the then.0 block.
-; RUN: llvm-upgrade < %s | llvm-as | opt -adce | llvm-dis | not grep load
+; RUN: llvm-as < %s | opt -adce | llvm-dis | not grep load
-implementation ; Functions:
-
-void %main(uint %argc, sbyte** %argv) {
+define void @main(i32 %argc, i8** %argv) {
entry:
- call void %__main( )
- %tmp.1 = setle uint %argc, 5 ; <bool> [#uses=1]
- br bool %tmp.1, label %then.0, label %return
+ call void @__main( )
+ %tmp.1 = icmp ule i32 %argc, 5 ; <i1> [#uses=1]
+ br i1 %tmp.1, label %then.0, label %return
-then.0: ; preds = %entry
- %tmp.8 = load sbyte** %argv ; <sbyte*> [#uses=1]
- %tmp.10 = load sbyte* %tmp.8 ; <sbyte> [#uses=1]
- %tmp.11 = seteq sbyte %tmp.10, 98 ; <bool> [#uses=1]
- br bool %tmp.11, label %then.1, label %return
+then.0: ; preds = %entry
+ %tmp.8 = load i8** %argv ; <i8*> [#uses=1]
+ %tmp.10 = load i8* %tmp.8 ; <i8> [#uses=1]
+ %tmp.11 = icmp eq i8 %tmp.10, 98 ; <i1> [#uses=1]
+ br i1 %tmp.11, label %then.1, label %return
-then.1: ; preds = %then.0
- ret void
+then.1: ; preds = %then.0
+ ret void
-return: ; preds = %entry, %then.0
- ret void
+return: ; preds = %then.0, %entry
+ ret void
}
-declare void %__main()
+declare void @__main()
+
diff --git a/test/Transforms/ADCE/2004-05-04-UnreachableBlock.llx b/test/Transforms/ADCE/2004-05-04-UnreachableBlock.llx
index 56f2b2b002..87a1550e9d 100644
--- a/test/Transforms/ADCE/2004-05-04-UnreachableBlock.llx
+++ b/test/Transforms/ADCE/2004-05-04-UnreachableBlock.llx
@@ -1,16 +1,16 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -adce -disable-output
+; RUN: llvm-as < %s | opt -adce -disable-output
-void %test() {
+define void @test() {
entry:
- br label %UnifiedReturnBlock
+ br label %UnifiedReturnBlock
-UnifiedReturnBlock:
- ret void
+UnifiedReturnBlock: ; preds = %invoke_catch.0, %entry
+ ret void
-invoke_catch.0: ; No predecessors!
- br bool false, label %UnifiedUnwindBlock, label %UnifiedReturnBlock
-
-UnifiedUnwindBlock: ; preds = %invoke_catch.0
- unwind
+invoke_catch.0: ; No predecessors!
+ br i1 false, label %UnifiedUnwindBlock, label %UnifiedReturnBlock
+UnifiedUnwindBlock: ; preds = %invoke_catch.0
+ unwind
}
+
diff --git a/test/Transforms/ADCE/2005-02-17-PHI-Invoke-Crash.ll b/test/Transforms/ADCE/2005-02-17-PHI-Invoke-Crash.ll
index b7965f0878..8ddbbbe2c5 100644
--- a/test/Transforms/ADCE/2005-02-17-PHI-Invoke-Crash.ll
+++ b/test/Transforms/ADCE/2005-02-17-PHI-Invoke-Crash.ll
@@ -1,44 +1,45 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -adce -disable-output
+; RUN: llvm-as < %s | opt -adce -disable-output
-implementation ; Functions:
+declare void @strlen()
-declare void %strlen()
-declare void %_ZN10QByteArray6resizeEi()
-declare void %q_atomic_decrement()
+declare void @_ZN10QByteArray6resizeEi()
-void %_ZNK10QByteArray13leftJustifiedEicb() {
+declare void @q_atomic_decrement()
+
+define void @_ZNK10QByteArray13leftJustifiedEicb() {
entry:
- invoke void %strlen( )
- to label %tmp.3.i.noexc unwind label %invoke_catch.0
+ invoke void @strlen( )
+ to label %tmp.3.i.noexc unwind label %invoke_catch.0
-tmp.3.i.noexc: ; preds = %entry
- br bool false, label %then.0, label %else.0
+tmp.3.i.noexc: ; preds = %entry
+ br i1 false, label %then.0, label %else.0
-invoke_catch.0: ; preds = %entry
- invoke void %q_atomic_decrement( )
- to label %tmp.1.i.i183.noexc unwind label %terminate
+invoke_catch.0: ; preds = %entry
+ invoke void @q_atomic_decrement( )
+ to label %tmp.1.i.i183.noexc unwind label %terminate
-tmp.1.i.i183.noexc: ; preds = %invoke_catch.0
- unwind
+tmp.1.i.i183.noexc: ; preds = %invoke_catch.0
+ unwind
-then.0: ; preds = %tmp.3.i.noexc
- invoke void %_ZN10QByteArray6resizeEi( )
- to label %invoke_cont.1 unwind label %invoke_catch.1
+then.0: ; preds = %tmp.3.i.noexc
+ invoke void @_ZN10QByteArray6resizeEi( )
+ to label %invoke_cont.1 unwind label %invoke_catch.1
-invoke_catch.1: ; preds = %then.0
- invoke void %q_atomic_decrement( )
- to label %tmp.1.i.i162.noexc unwind label %terminate
+invoke_catch.1: ; preds = %then.0
+ invoke void @q_atomic_decrement( )
+ to label %tmp.1.i.i162.noexc unwind label %terminate
-tmp.1.i.i162.noexc: ; preds = %invoke_catch.1
- ret void
+tmp.1.i.i162.noexc: ; preds = %invoke_catch.1
+ ret void
-invoke_cont.1: ; preds = %then.0
- ret void
+invoke_cont.1: ; preds = %then.0
+ ret void
-else.0: ; preds = %tmp.3.i.noexc
- ret void
+else.0: ; preds = %tmp.3.i.noexc
+ ret void
-terminate: ; preds = %invoke_catch.1, %invoke_catch.0
- %dbg.0.1 = phi { }* [ null, %invoke_catch.1 ], [ null, %invoke_catch.0 ] ; <{ }*> [#uses=1]
- unreachable
+terminate: ; preds = %invoke_catch.1, %invoke_catch.0
+ %dbg.0.1 = phi { }* [ null, %invoke_catch.1 ], [ null, %invoke_catch.0 ] ; <{ }*> [#uses=0]
+ unreachable
}
+
diff --git a/test/Transforms/ADCE/adcetest.ll b/test/Transforms/ADCE/adcetest.ll
index f0d78433af..cb14eea9b3 100644
--- a/test/Transforms/ADCE/adcetest.ll
+++ b/test/Transforms/ADCE/adcetest.ll
@@ -1,34 +1,36 @@
; This is the test case taken from Appel's book that illustrates a hard case
; that SCCP gets right, and when followed by ADCE, is completely eliminated
;
-; RUN: llvm-upgrade < %s | llvm-as | opt -sccp -adce -simplifycfg | llvm-dis | not grep br
+; RUN: llvm-as < %s | opt -sccp -adce -simplifycfg | llvm-dis | not grep br
-int "test function"(int %i0, int %j0) {
+define i32 @"test function"(i32 %i0, i32 %j0) {
BB1:
- br label %BB2
-BB2:
- %j2 = phi int [%j4, %BB7], [1, %BB1]
- %k2 = phi int [%k4, %BB7], [0, %BB1]
- %kcond = setlt int %k2, 100
- br bool %kcond, label %BB3, label %BB4
-
-BB3:
- %jcond = setlt int %j2, 20
- br bool %jcond, label %BB5, label %BB6
-
-BB4:
- ret int %j2
-
-BB5:
- %k3 = add int %k2, 1
- br label %BB7
-
-BB6:
- %k5 = add int %k2, 1
- br label %BB7
-
-BB7:
- %j4 = phi int [1, %BB5], [%k2, %BB6]
- %k4 = phi int [%k3, %BB5], [%k5, %BB6]
- br label %BB2
+ br label %BB2
+
+BB2: ; preds = %BB7, %BB1
+ %j2 = phi i32 [ %j4, %BB7 ], [ 1, %BB1 ] ; <i32> [#uses=2]
+ %k2 = phi i32 [ %k4, %BB7 ], [ 0, %BB1 ] ; <i32> [#uses=4]
+ %kcond = icmp slt i32 %k2, 100 ; <i1> [#uses=1]
+ br i1 %kcond, label %BB3, label %BB4
+
+BB3: ; preds = %BB2
+ %jcond = icmp slt i32 %j2, 20 ; <i1> [#uses=1]
+ br i1 %jcond, label %BB5, label %BB6
+
+BB4: ; preds = %BB2
+ ret i32 %j2
+
+BB5: ; preds = %BB3
+ %k3 = add i32 %k2, 1 ; <i32> [#uses=1]
+ br label %BB7
+
+BB6: ; preds = %BB3
+ %k5 = add i32 %k2, 1 ; <i32> [#uses=1]
+ br label %BB7
+
+BB7: ; preds = %BB6, %BB5
+ %j4 = phi i32 [ 1, %BB5 ], [ %k2, %BB6 ] ; <i32> [#uses=1]
+ %k4 = phi i32 [ %k3, %BB5 ], [ %k5, %BB6 ] ; <i32> [#uses=1]
+ br label %BB2
}
+
diff --git a/test/Transforms/ADCE/basictest.ll b/test/Transforms/ADCE/basictest.ll
index 6be744ef5e..22ff0f753b 100644
--- a/test/Transforms/ADCE/basictest.ll
+++ b/test/Transforms/ADCE/basictest.ll
@@ -1,14 +1,19 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -adce -simplifycfg | llvm-dis
+; RUN: llvm-as < %s | opt -adce -simplifycfg | llvm-dis
-int "Test"(int %A, int %B) {
+define i32 @Test(i32 %A, i32 %B) {
BB1:
- br label %BB4
-BB2:
- br label %BB3
-BB3:
- %ret = phi int [%X, %BB4], [%B, %BB2]
- ret int %ret
-BB4:
- %X = phi int [%A, %BB1]
- br label %BB3
+ br label %BB4
+
+BB2: ; No predecessors!
+ br label %BB3
+
+BB3: ; preds = %BB4, %BB2
+ %ret = phi i32 [ %X, %BB4 ], [ %B, %BB2 ] ; <i32> [#uses=1]
+ ret i32 %ret
+
+BB4: ; preds = %BB1
+ %X = phi i32 [ %A, %BB1 ] ; <i32> [#uses=1]
+ br label %BB3
}
+
+
diff --git a/test/Transforms/ADCE/basictest1.ll b/test/Transforms/ADCE/basictest1.ll
index 7d511e8f70..29f40deb9c 100644
--- a/test/Transforms/ADCE/basictest1.ll
+++ b/test/Transforms/ADCE/basictest1.ll
@@ -1,101 +1,97 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -adce -simplifycfg | llvm-dis
-
-%FILE = type { int, ubyte*, ubyte*, ubyte, ubyte, uint, uint, uint }
- %spec_fd_t = type { int, int, int, ubyte* }
-%__iob = uninitialized global [20 x %FILE] ; <[20 x %FILE]*> [#uses=1]
-%dbglvl = global int 4 ; <int*> [#uses=3]
-%spec_fd = uninitialized global [3 x %spec_fd_t] ; <[3 x %spec_fd_t]*> [#uses=4]
-%.LC9 = internal global [34 x sbyte] c"spec_read: fd=%d, > MAX_SPEC_FD!\0A\00" ; <[34 x sbyte]*> [#uses=1]
-%.LC10 = internal global [4 x sbyte] c"EOF\00" ; <[4 x sbyte]*> [#uses=1]
-%.LC11 = internal global [4 x sbyte] c"%d\0A\00" ; <[4 x sbyte]*> [#uses=1]
-%.LC12 = internal global [17 x sbyte] c"spec_getc: %d = \00" ; <[17 x sbyte]*> [#uses=1]
+; RUN: llvm-as < %s | opt -adce -simplifycfg | llvm-dis
+%FILE = type { i32, i8*, i8*, i8, i8, i32, i32, i32 }
+ %spec_fd_t = type { i32, i32, i32, i8* }
+@__iob = external global [20 x %FILE] ; <[20 x %FILE]*> [#uses=1]
+@dbglvl = global i32 4 ; <i32*> [#uses=3]
+@spec_fd = external global [3 x %spec_fd_t] ; <[3 x %spec_fd_t]*> [#uses=4]
+@.LC9 = internal global [34 x i8] c"spec_read: fd=%d, > MAX_SPEC_FD!\0A\00" ; <[34 x i8]*> [#uses=1]
+@.LC10 = internal global [4 x i8] c"EOF\00" ; <[4 x i8]*> [#uses=1]
+@.LC11 = internal global [4 x i8] c"%d\0A\00" ; <[4 x i8]*> [#uses=1]
+@.LC12 = internal global [17 x i8] c"spec_getc: %d = \00" ; <[17 x i8]*> [#uses=1]
-implementation ; Functions:
+declare i32 @fprintf(%FILE*, i8*, ...)
-declare int "fprintf"(%FILE*, sbyte*, ...)
+declare void @exit(i32)
-declare void "exit"(int)
+declare i32 @remove(i8*)
-declare int "remove"(sbyte*)
+declare i32 @fputc(i32, %FILE*)
-declare int "fputc"(int, %FILE*)
+declare i32 @fwrite(i8*, i32, i32, %FILE*)
-declare uint "fwrite"(sbyte*, uint, uint, %FILE*)
+declare void @perror(i8*)
-declare void "perror"(sbyte*)
+define i32 @spec_getc(i32 %fd) {
+ %reg109 = load i32* @dbglvl ; <i32> [#uses=1]
+ %cond266 = icmp sle i32 %reg109, 4 ; <i1> [#uses=1]
+ br i1 %cond266, label %bb3, label %bb2
-int "spec_getc"(int %fd) {
-; <label>:0 ;[#uses=0]
- %reg109 = load int* %dbglvl ; <int> [#uses=1]
- %cond266 = setle int %reg109, 4 ; <bool> [#uses=1]
- br bool %cond266, label %bb3, label %bb2
-
-bb2: ;[#uses=1]
- %cast273 = getelementptr [17 x sbyte]* %.LC12, long 0, long 0 ; <sbyte*> [#uses=0]
+bb2: ; preds = %0
+ %cast273 = getelementptr [17 x i8]* @.LC12, i64 0, i64 0 ; <i8*> [#uses=0]
br label %bb3
-bb3: ;[#uses=2]
- %cond267 = setle int %fd, 3 ; <bool> [#uses=1]
- br bool %cond267, label %bb5, label %bb4
+bb3: ; preds = %bb2, %0
+ %cond267 = icmp sle i32 %fd, 3 ; <i1> [#uses=1]
+ br i1 %cond267, label %bb5, label %bb4
-bb4: ;[#uses=2]
- %reg111 = getelementptr [20 x %FILE]* %__iob, long 0, long 1, uint 3 ; <ubyte*> [#uses=1]
- %cast274 = getelementptr [34 x sbyte]* %.LC9, long 0, long 0 ; <sbyte*> [#uses=0]
- %cast282 = cast ubyte* %reg111 to %FILE* ; <%FILE*> [#uses=0]
- call void %exit( int 1 )
+bb4: ; preds = %bb3
+ %reg111 = getelementptr [20 x %FILE]* @__iob, i64 0, i64 1, i32 3 ; <i8*> [#uses=1]
+ %cast274 = getelementptr [34 x i8]* @.LC9, i64 0, i64 0 ; <i8*> [#uses=0]
+ %cast282 = bitcast i8* %reg111 to %FILE* ; <%FILE*> [#uses=0]
+ call void @exit( i32 1 )
br label %UnifiedExitNode
-bb5: ;[#uses=1]
- %reg107-idxcast1 = cast int %fd to long ; <long> [#uses=2]
- %reg107-idxcast2 = cast int %fd to long ; <long> [#uses=1]
- %reg1311 = getelementptr [3 x %spec_fd_t]* %spec_fd, long 0, long %reg107-idxcast2 ; <%spec_fd_t*> [#uses=1]
- %idx1 = getelementptr [3 x %spec_fd_t]* %spec_fd, long 0, long %reg107-idxcast1, uint 2 ; <int> [#uses=3]
- %reg1321 = load int* %idx1
- %idx2 = getelementptr %spec_fd_t* %reg1311, long 0, uint 1 ; <int> [#uses=1]
- %reg1331 = load int* %idx2
- %cond270 = setlt int %reg1321, %reg1331 ; <bool> [#uses=1]
- br bool %cond270, label %bb9, label %bb6
-
-bb6: ;[#uses=1]
- %reg134 = load int* %dbglvl ; <int> [#uses=1]
- %cond271 = setle int %reg134, 4 ; <bool> [#uses=1]
- br bool %cond271, label %bb8, label %bb7
-
-bb7: ;[#uses=1]
- %cast277 = getelementptr [4 x sbyte]* %.LC10, long 0, long 0 ; <sbyte*> [#uses=0]
+bb5: ; preds = %bb3
+ %reg107-idxcast1 = sext i32 %fd to i64 ; <i64> [#uses=2]
+ %reg107-idxcast2 = sext i32 %fd to i64 ; <i64> [#uses=1]
+ %reg1311 = getelementptr [3 x %spec_fd_t]* @spec_fd, i64 0, i64 %reg107-idxcast2 ; <%spec_fd_t*> [#uses=1]
+ %idx1 = getelementptr [3 x %spec_fd_t]* @spec_fd, i64 0, i64 %reg107-idxcast1, i32 2 ; <i32*> [#uses=1]
+ %reg1321 = load i32* %idx1 ; <i32> [#uses=3]
+ %idx2 = getelementptr %spec_fd_t* %reg1311, i64 0, i32 1 ; <i32*> [#uses=1]
+ %reg1331 = load i32* %idx2 ; <i32> [#uses=1]
+ %cond270 = icmp slt i32 %reg1321, %reg1331 ; <i1> [#uses=1]
+ br i1 %cond270, label %bb9, label %bb6
+
+bb6: ; preds = %bb5
+ %reg134 = load i32* @dbglvl ; <i32> [#uses=1]
+ %cond271 = icmp sle i32 %reg134, 4 ; <i1> [#uses=1]
+ br i1 %cond271, label %bb8, label %bb7
+
+bb7: ; preds = %bb6
+ %cast277 = getelementptr [4 x i8]* @.LC10, i64 0, i64 0 ; <i8*> [#uses=0]
br label %bb8
-bb8: ;[#uses=3]
+bb8: ; preds = %bb7, %bb6
br label %UnifiedExitNode
-bb9: ;[#uses=1]
- %reg107-idxcast3 = cast int %fd to long ; <long> [#uses=1]
- %idx3 = getelementptr [3 x %spec_fd_t]* %spec_fd, long 0, long %reg107-idxcast3, uint 3 ; <ubyte*> [#uses=1]
- %reg1601 = load ubyte** %idx3
- %reg132-idxcast1 = cast int %reg1321 to long ; <long> [#uses=1]
- %idx4 = getelementptr ubyte* %reg1601, long %reg132-idxcast1 ; <ubyte> [#uses=2]
- %reg1621 = load ubyte* %idx4
- %cast108 = cast ubyte %reg1621 to long ; <long> [#uses=0]
- %reg157 = add int %reg1321, 1 ; <int> [#uses=1]
- %idx5 = getelementptr [3 x %spec_fd_t]* %spec_fd, long 0, long %reg107-idxcast1, uint 2
- store int %reg157, int* %idx5
- %reg163 = load int* %dbglvl ; <int> [#uses=1]
- %cond272 = setle int %reg163, 4 ; <bool> [#uses=1]
- br bool %cond272, label %bb11, label %bb10
-
-bb10: ;[#uses=1]
- %cast279 = getelementptr [4 x sbyte]* %.LC11, long 0, long 0 ; <sbyte*> [#uses=0]
+bb9: ; preds = %bb5
+ %reg107-idxcast3 = sext i32 %fd to i64 ; <i64> [#uses=1]
+ %idx3 = getelementptr [3 x %spec_fd_t]* @spec_fd, i64 0, i64 %reg107-idxcast3, i32 3 ; <i8**> [#uses=1]
+ %reg1601 = load i8** %idx3 ; <i8*> [#uses=1]
+ %reg132-idxcast1 = sext i32 %reg1321 to i64 ; <i64> [#uses=1]
+ %idx4 = getelementptr i8* %reg1601, i64 %reg132-idxcast1 ; <i8*> [#uses=1]
+ %reg1621 = load i8* %idx4 ; <i8> [#uses=2]
+ %cast108 = zext i8 %reg1621 to i64 ; <i64> [#uses=0]
+ %reg157 = add i32 %reg1321, 1 ; <i32> [#uses=1]
+ %idx5 = getelementptr [3 x %spec_fd_t]* @spec_fd, i64 0, i64 %reg107-idxcast1, i32 2 ; <i32*> [#uses=1]
+ store i32 %reg157, i32* %idx5
+ %reg163 = load i32* @dbglvl ; <i32> [#uses=1]
+ %cond272 = icmp sle i32 %reg163, 4 ; <i1> [#uses=1]
+ br i1 %cond272, label %bb11, label %bb10
+
+bb10: ; preds = %bb9
+ %cast279 = getelementptr [4 x i8]* @.LC11, i64 0, i64 0 ; <i8*> [#uses=0]
br label %bb11
-bb11: ;[#uses=3]
- %cast291 = cast ubyte %reg1621 to int ; <int> [#uses=1]
+bb11: ; preds = %bb10, %bb9
+ %cast291 = zext i8 %reg1621 to i32 ; <i32> [#uses=1]
br label %UnifiedExitNode
-UnifiedExitNode: ;[#uses=3]
- %UnifiedRetVal = phi int [ 42, %bb4 ], [ -1, %bb8 ], [ %cast291, %bb11 ] ; <int> [#uses=1]
- ret int %UnifiedRetVal
+UnifiedExitNode: ; preds = %bb11, %bb8, %bb4
+ %UnifiedRetVal = phi i32 [ 42, %bb4 ], [ -1, %bb8 ], [ %cast291, %bb11 ] ; <i32> [#uses=1]
+ ret i32 %UnifiedRetVal
}
-declare int "puts"(sbyte*)
+declare i32 @puts(i8*)
-declare int "printf"(sbyte*, ...)
+declare i32 @printf(i8*, ...)
diff --git a/test/Transforms/ADCE/basictest2.ll b/test/Transforms/ADCE/basictest2.ll
index 75b1d952b6..120e23352d 100644
--- a/test/Transforms/ADCE/basictest2.ll
+++ b/test/Transforms/ADCE/basictest2.ll
@@ -1,102 +1,97 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -adce -simplifycfg | llvm-dis
+; RUN: llvm-as < %s | opt -adce -simplifycfg | llvm-dis
+ %FILE = type { i32, i8*, i8*, i8, i8, i32, i32, i32 }
+ %spec_fd_t = type { i32, i32, i32, i8* }
+@__iob = external global [20 x %FILE] ; <[20 x %FILE]*> [#uses=1]
+@dbglvl = global i32 4 ; <i32*> [#uses=3]
+@spec_fd = external global [3 x %spec_fd_t] ; <[3 x %spec_fd_t]*> [#uses=4]
+@.LC9 = internal global [34 x i8] c"spec_read: fd=%d, > MAX_SPEC_FD!\0A\00" ; <[34 x i8]*> [#uses=1]
+@.LC10 = internal global [4 x i8] c"EOF\00" ; <[4 x i8]*> [#uses=1]
+@.LC11 = internal global [4 x i8] c"%d\0A\00" ; <[4 x i8]*> [#uses=1]
+@.LC12 = internal global [17 x i8] c"spec_getc: %d = \00" ; <[17 x i8]*> [#uses=1]
-%FILE = type { int, ubyte*, ubyte*, ubyte, ubyte, uint, uint, uint }
- %spec_fd_t = type { int, int, int, ubyte* }
-%__iob = uninitialized global [20 x %FILE] ; <[20 x %FILE]*> [#uses=1]
-%dbglvl = global int 4 ; <int*> [#uses=3]
-%spec_fd = uninitialized global [3 x %spec_fd_t] ; <[3 x %spec_fd_t]*> [#uses=4]
-%.LC9 = internal global [34 x sbyte] c"spec_read: fd=%d, > MAX_SPEC_FD!\0A\00" ; <[34 x sbyte]*> [#uses=1]
-%.LC10 = internal global [4 x sbyte] c"EOF\00" ; <[4 x sbyte]*> [#uses=1]
-%.LC11 = internal global [4 x sbyte] c"%d\0A\00" ; <[4 x sbyte]*> [#uses=1]
-%.LC12 = internal global [17 x sbyte] c"spec_getc: %d = \00" ; <[17 x sbyte]*> [#uses=1]
+declare i32 @fprintf(%FILE*, i8*, ...)
-implementation ; Functions:
+declare void @exit(i32)
-declare int "fprintf"(%FILE*, sbyte*, ...)
+declare i32 @remove(i8*)
-declare void "exit"(int)
+declare i32 @fputc(i32, %FILE*)
-declare int "remove"(sbyte*)
+declare i32 @fwrite(i8*, i32, i32, %FILE*)
-declare int "fputc"(int, %FILE*)
+declare void @perror(i8*)
-declare uint "fwrite"(sbyte*, uint, uint, %FILE*)
+define i32 @spec_getc(i32 %fd) {
+ %reg109 = load i32* @dbglvl ; <i32> [#uses=1]
+ %cond266 = icmp sle i32 %reg109, 4 ; <i1> [#uses=1]
+ br i1 %cond266, label %bb3, label %bb2
-declare void "perror"(sbyte*)
-
-int "spec_getc"(int %fd) {
-; <label>:0 ;[#uses=0]
- %reg109 = load int* %dbglvl ; <int> [#uses=1]
- %cond266 = setle int %reg109, 4 ; <bool> [#uses=1]
- br bool %cond266, label %bb3, label %bb2
-
-bb2: ;[#uses=1]
- %cast273 = getelementptr [17 x sbyte]* %.LC12, long 0, long 0 ; <sbyte*> [#uses=0]
+bb2: ; preds = %0
+ %cast273 = getelementptr [17 x i8]* @.LC12, i64 0, i64 0 ; <i8*> [#uses=0]
br label %bb3
-bb3: ;[#uses=2]
- %cond267 = setle int %fd, 3 ; <bool> [#uses=1]
-; br bool %cond267, label %bb5, label %bb4
+bb3: ; preds = %bb2, %0
+ %cond267 = icmp sle i32 %fd, 3 ; <i1> [#uses=0]
br label %bb5
-bb4: ;[#uses=2]
- %reg111 = getelementptr [20 x %FILE]* %__iob, long 0, long 1, uint 3 ; <ubyte*> [#uses=1]
- %cast274 = getelementptr [34 x sbyte]* %.LC9, long 0, long 0 ; <sbyte*> [#uses=0]
- %cast282 = cast ubyte* %reg111 to %FILE* ; <%FILE*> [#uses=0]
- call void %exit( int 1 )
+bb4: ; No predecessors!
+ %reg111 = getelementptr [20 x %FILE]* @__iob, i64 0, i64 1, i32 3 ; <i8*> [#uses=1]
+ %cast274 = getelementptr [34 x i8]* @.LC9, i64 0, i64 0 ; <i8*> [#uses=0]
+ %cast282 = bitcast i8* %reg111 to %FILE* ; <%FILE*> [#uses=0]
+ call void @exit( i32 1 )
br label %UnifiedExitNode
-bb5: ;[#uses=1]
- %reg107-idxcast1 = cast int %fd to long ; <long> [#uses=2]
- %reg107-idxcast2 = cast int %fd to long ; <long> [#uses=1]
- %reg1311 = getelementptr [3 x %spec_fd_t]* %spec_fd, long 0, long %reg107-idxcast2 ; <%spec_fd_t*> [#uses=1]
- %idx1 = getelementptr [3 x %spec_fd_t]* %spec_fd, long 0, long %reg107-idxcast1, uint 2 ; <int> [#uses=3]
- %reg1321 = load int* %idx1
- %idx2 = getelementptr %spec_fd_t* %reg1311, long 0, uint 1 ; <int> [#uses=1]
- %reg1331 = load int* %idx2
- %cond270 = setlt int %reg1321, %reg1331 ; <bool> [#uses=1]
- br bool %cond270, label %bb9, label %bb6
-
-bb6: ;[#uses=1]
- %reg134 = load int* %dbglvl ; <int> [#uses=1]
- %cond271 = setle int %reg134, 4 ; <bool> [#uses=1]
- br bool %cond271, label %bb8, label %bb7
-
-bb7: ;[#uses=1]
- %cast277 = getelementptr [4 x sbyte]* %.LC10, long 0, long 0 ; <sbyte*> [#uses=0]
+bb5: ; preds = %bb3
+ %reg107-idxcast1 = sext i32 %fd to i64 ; <i64> [#uses=2]
+ %reg107-idxcast2 = sext i32 %fd to i64 ; <i64> [#uses=1]
+ %reg1311 = getelementptr [3 x %spec_fd_t]* @spec_fd, i64 0, i64 %reg107-idxcast2 ; <%spec_fd_t*> [#uses=1]
+ %idx1 = getelementptr [3 x %spec_fd_t]* @spec_fd, i64 0, i64 %reg107-idxcast1, i32 2 ; <i32*> [#uses=1]
+ %reg1321 = load i32* %idx1 ; <i32> [#uses=3]
+ %idx2 = getelementptr %spec_fd_t* %reg1311, i64 0, i32 1 ; <i32*> [#uses=1]
+ %reg1331 = load i32* %idx2 ; <i32> [#uses=1]
+ %cond270 = icmp slt i32 %reg1321, %reg1331 ; <i1> [#uses=1]
+ br i1 %cond270, label %bb9, label %bb6
+
+bb6: ; preds = %bb5
+ %reg134 = load i32* @dbglvl ; <i32> [#uses=1]
+ %cond271 = icmp sle i32 %reg134, 4 ; <i1> [#uses=1]
+ br i1 %cond271, label %bb8, label %bb7
+
+bb7: ; preds = %bb6
+ %cast277 = getelementptr [4 x i8]* @.LC10, i64 0, i64 0 ; <i8*> [#uses=0]
br label %bb8
-bb8: ;[#uses=3]
+bb8: ; preds = %bb7, %bb6
br label %UnifiedExitNode
-bb9: ;[#uses=1]
- %reg107-idxcast3 = cast int %fd to long ; <uint> [#uses=1]
- %idx3 = getelementptr [3 x %spec_fd_t]* %spec_fd, long 0, long %reg107-idxcast3, uint 3 ; <ubyte*> [#uses=1]
- %reg1601 = load ubyte** %idx3
- %reg132-idxcast1 = cast int %reg1321 to long ; <long> [#uses=1]
- %idx4 = getelementptr ubyte* %reg1601, long %reg132-idxcast1 ; <ubyte> [#uses=2]
- %reg1621 = load ubyte* %idx4
- %cast108 = cast ubyte %reg1621 to long ; <long> [#uses=0]
- %reg157 = add int %reg1321, 1 ; <int> [#uses=1]
- %idx5 = getelementptr [3 x %spec_fd_t]* %spec_fd, long 0, long %reg107-idxcast1, uint 2
- store int %reg157, int* %idx5
- %reg163 = load int* %dbglvl ; <int> [#uses=1]
- %cond272 = setle int %reg163, 4 ; <bool> [#uses=1]
- br bool %cond272, label %bb11, label %bb10
-
-bb10: ;[#uses=1]
- %cast279 = getelementptr [4 x sbyte]* %.LC11, long 0, long 0 ; <sbyte*> [#uses=0]
+bb9: ; preds = %bb5
+ %reg107-idxcast3 = sext i32 %fd to i64 ; <i64> [#uses=1]
+ %idx3 = getelementptr [3 x %spec_fd_t]* @spec_fd, i64 0, i64 %reg107-idxcast3, i32 3 ; <i8**> [#uses=1]
+ %reg1601 = load i8** %idx3 ; <i8*> [#uses=1]
+ %reg132-idxcast1 = sext i32 %reg1321 to i64 ; <i64> [#uses=1]
+ %idx4 = getelementptr i8* %reg1601, i64 %reg132-idxcast1 ; <i8*> [#uses=1]
+ %reg1621 = load i8* %idx4 ; <i8> [#uses=2]
+ %cast108 = zext i8 %reg1621 to i64 ; <i64> [#uses=0]
+ %reg157 = add i32 %reg1321, 1 ; <i32> [#uses=1]
+ %idx5 = getelementptr [3 x %spec_fd_t]* @spec_fd, i64 0, i64 %reg107-idxcast1, i32 2 ; <i32*> [#uses=1]
+ store i32 %reg157, i32* %idx5
+ %reg163 = load i32* @dbglvl ; <i32> [#uses=1]
+ %cond272 = icmp sle i32 %reg163, 4 ; <i1> [#uses=1]
+ br i1 %cond272, label %bb11, label %bb10
+
+bb10: ; preds = %bb9
+ %cast279 = getelementptr [4 x i8]* @.LC11, i64 0, i64 0 ; <i8*> [#uses=0]
br label %bb11
-bb11: ;[#uses=3]
- %cast291 = cast ubyte %reg1621 to int ; <int> [#uses=1]
+bb11: ; preds = %bb10, %bb9
+ %cast291 = zext i8 %reg1621 to i32 ; <i32> [#uses=1]
br label %UnifiedExitNode
-UnifiedExitNode: ;[#uses=3]
- %UnifiedRetVal = phi int [ 42, %bb4 ], [ -1, %bb8 ], [ %cast291, %bb11 ] ; <int> [#uses=1]
- ret int %UnifiedRetVal
+UnifiedExitNode: ; preds = %bb11, %bb8, %bb4
+ %UnifiedRetVal = phi i32 [ 42, %bb4 ], [ -1, %bb8 ], [ %cast291, %bb11 ] ; <i32> [#uses=1]
+ ret i32 %UnifiedRetVal
}
-declare int "puts"(sbyte*)
+declare i32 @puts(i8*)
-declare int "printf"(sbyte*, ...)
+declare i32 @printf(i8*, ...)
diff --git a/test/Transforms/ADCE/dead-phi-edge.ll b/test/Transforms/ADCE/dead-phi-edge.ll
index a0c0705f33..844560181a 100644
--- a/test/Transforms/ADCE/dead-phi-edge.ll
+++ b/test/Transforms/ADCE/dead-phi-edge.ll
@@ -1,15 +1,17 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -adce | llvm-dis | not grep call
+; RUN: llvm-as < %s | opt -adce | llvm-dis | not grep call
; The call is not live just because the PHI uses the call retval!
-int %test(int %X) {
- br label %Done
+define i32 @test(i32 %X) {
+; <label>:0
+ br label %Done
-DeadBlock:
- %Y = call int %test(int 0)
- br label %Done
+DeadBlock: ; No predecessors!
+ %Y = call i32 @test( i32 0 ) ; <i32> [#uses=1]
+ br label %Done
-Done:
- %Z = phi int [%X, %0], [%Y, %DeadBlock]
- ret int %Z
+Done: ; preds = %DeadBlock, %0
+ %Z = phi i32 [ %X, %0 ], [ %Y, %DeadBlock ] ; <i32> [#uses=1]
+ ret i32 %Z
}
+
diff --git a/test/Transforms/ADCE/unreachable-function.ll b/test/Transforms/ADCE/unreachable-function.ll
index 0c10253300..86c55f5916 100644
--- a/test/Transforms/ADCE/unreachable-function.ll
+++ b/test/Transforms/ADCE/unreachable-function.ll
@@ -1,5 +1,5 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -adce -disable-output
+; RUN: llvm-as < %s | opt -adce -disable-output
-void %test() {
+define void @test() {
unreachable
}
diff --git a/test/Transforms/ArgumentPromotion/aggregate-promote.ll b/test/Transforms/ArgumentPromotion/aggregate-promote.ll
index 19cbb6df2d..a74813f15f 100644
--- a/test/Transforms/ArgumentPromotion/aggregate-promote.ll
+++ b/test/Transforms/ArgumentPromotion/aggregate-promote.ll
@@ -1,21 +1,23 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -argpromotion -instcombine | not grep load
+; RUN: llvm-as < %s | opt -argpromotion -instcombine | not grep load
-%QuadTy = type {int, int, int, int}
+%QuadTy = type { i32, i32, i32, i32 }
+@G = constant %QuadTy {
+ i32 0,
+ i32 0,
+ i32 17,
+ i32 25 } ; <%QuadTy*> [#uses=1]
-%G = constant %QuadTy {int 0, int 0, int 17, int 25 }
-
-implementation
-
-internal int %test(%QuadTy* %P) {
- %A = getelementptr %QuadTy* %P, long 0, uint 3
- %B = getelementptr %QuadTy* %P, long 0, uint 2
- %a = load int* %A
- %b = load int* %B
- %V = add int %a, %b
- ret int %V
+define internal i32 @test(%QuadTy* %P) {
+ %A = getelementptr %QuadTy* %P, i64 0, i32 3 ; <i32*> [#uses=1]
+ %B = getelementptr %QuadTy* %P, i64 0, i32 2 ; <i32*> [#uses=1]
+ %a = load i32* %A ; <i32> [#uses=1]
+ %b = load i32* %B ; <i32> [#uses=1]
+ %V = add i32 %a, %b ; <i32> [#uses=1]
+ ret i32 %V
}
-int %caller() {
- %V = call int %test(%QuadTy* %G)
- ret int %V
+define i32 @caller() {
+ %V = call i32 @test( %QuadTy* @G ) ; <i32> [#uses=1]
+ ret i32 %V
}
+
diff --git a/test/Transforms/ArgumentPromotion/basictest.ll b/test/Transforms/ArgumentPromotion/basictest.ll
index 474202727a..99697f4c40 100644
--- a/test/Transforms/ArgumentPromotion/basictest.ll
+++ b/test/Transforms/ArgumentPromotion/basictest.ll
@@ -1,24 +1,22 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -argpromotion -mem2reg | llvm-dis | not grep alloca
-
-implementation
-
-internal int %test(int *%X, int* %Y) {
- %A = load int* %X
- %B = load int* %Y
- %C = add int %A, %B
- ret int %C
+; RUN: llvm-as < %s | opt -argpromotion -mem2reg | llvm-dis | not grep alloca
+define internal i32 @test(i32* %X, i32* %Y) {
+ %A = load i32* %X ; <i32> [#uses=1]
+ %B = load i32* %Y ; <i32> [#uses=1]
+ %C = add i32 %A, %B ; <i32> [#uses=1]
+ ret i32 %C
}
-internal int %caller(int* %B) {
- %A = alloca int
- store int 1, int* %A
- %C = call int %test(int* %A, int* %B)
- ret int %C
+define internal i32 @caller(i32* %B) {
+ %A = alloca i32 ; <i32*> [#uses=2]
+ store i32 1, i32* %A
+ %C = call i32 @test( i32* %A, i32* %B ) ; <i32> [#uses=1]
+ ret i32 %C
}
-int %callercaller() {
- %B = alloca int
- store int 2, int* %B
- %X = call int %caller(int* %B)
- ret int %X
+define i32 @callercaller() {
+ %B = alloca i32 ; <i32*> [#uses=2]
+ store i32 2, i32* %B
+ %X = call i32 @caller( i32* %B ) ; <i32> [#uses=1]
+ ret i32 %X
}
+
diff --git a/test/Transforms/ArgumentPromotion/chained.ll b/test/Transforms/ArgumentPromotion/chained.ll
index d6055e2768..de5f6e5270 100644
--- a/test/Transforms/ArgumentPromotion/chained.ll
+++ b/test/Transforms/ArgumentPromotion/chained.ll
@@ -1,17 +1,16 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -argpromotion -instcombine | llvm-dis | not grep load
+; RUN: llvm-as < %s | opt -argpromotion -instcombine | llvm-dis | not grep load
-%G1 = constant int 0
-%G2 = constant int* %G1
+@G1 = constant i32 0 ; <i32*> [#uses=1]
+@G2 = constant i32* @G1 ; <i32**> [#uses=1]
-implementation
-
-internal int %test(int **%X) {
- %Y = load int** %X
- %X = load int* %Y
- ret int %X
+define internal i32 @test(i32** %X) {
+ %Y = load i32** %X ; <i32*> [#uses=1]
+ %X.upgrd.1 = load i32* %Y ; <i32> [#uses=1]
+ ret i32 %X.upgrd.1
}
-int %caller(int** %P) {
- %X = call int %test(int** %G2)
- ret int %X
+define i32 @caller(i32** %P) {
+ %X = call i32 @test( i32** @G2 ) ; <i32> [#uses=1]
+ ret i32 %X
}
+
diff --git a/test/Transforms/ArgumentPromotion/control-flow.ll b/test/Transforms/ArgumentPromotion/control-flow.ll
index 8e47ac94d6..bb72e08b17 100644
--- a/test/Transforms/ArgumentPromotion/control-flow.ll
+++ b/test/Transforms/ArgumentPromotion/control-flow.ll
@@ -1,19 +1,19 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -argpromotion | llvm-dis | \
+; RUN: llvm-as < %s | opt -argpromotion | llvm-dis | \
; RUN: not grep {load int\* null}
-implementation
+define internal i32 @callee(i1 %C, i32* %P) {
+ br i1 %C, label %T, label %F
-internal int %callee(bool %C, int* %P) {
- br bool %C, label %T, label %F
-T:
- ret int 17
-F:
- %X = load int* %P
- ret int %X
+T: ; preds = %0
+ ret i32 17
+
+F: ; preds = %0
+ %X = load i32* %P ; <i32> [#uses=1]
+ ret i32 %X
}
-int %foo() {
- %X = call int %callee(bool true, int* null)
- ret int %X
+define i32 @foo() {
+ %X = call i32 @callee( i1 true, i32* null ) ; <i32> [#uses=1]
+ ret i32 %X
}
diff --git a/test/Transforms/ArgumentPromotion/control-flow2.ll b/test/Transforms/ArgumentPromotion/control-flow2.ll
index 93b02a798a..5875013856 100644
--- a/test/Transforms/ArgumentPromotion/control-flow2.ll
+++ b/test/Transforms/ArgumentPromotion/control-flow2.ll
@@ -1,21 +1,21 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -argpromotion | llvm-dis | \
+; RUN: llvm-as < %s | opt -argpromotion | llvm-dis | \
; RUN: grep {load i32\\* %A}
-implementation
+define internal i32 @callee(i1 %C, i32* %P) {
+ br i1 %C, label %T, label %F
-internal int %callee(bool %C, int* %P) {
- br bool %C, label %T, label %F
-T:
- ret int 17
-F:
- %X = load int* %P
- ret int %X
+T: ; preds = %0
+ ret i32 17
+
+F: ; preds = %0
+ %X = load i32* %P ; <i32> [#uses=1]
+ ret i32 %X
}
-int %foo() {
- %A = alloca int
- store int 17, int* %A
- %X = call int %callee(bool false, int* %A)
- ret int %X
+define i32 @foo() {
+ %A = alloca i32 ; <i32*> [#uses=2]
+ store i32 17, i32* %A
+ %X = call i32 @callee( i1 false, i32* %A ) ; <i32> [#uses=1]
+ ret i32 %X
}
diff --git a/test/Transforms/BlockPlacement/basictest.ll b/test/Transforms/BlockPlacement/basictest.ll
index 4dafa4f095..c93d129ff2 100644
--- a/test/Transforms/BlockPlacement/basictest.ll
+++ b/test/Transforms/BlockPlacement/basictest.ll
@@ -1,12 +1,15 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -block-placement -disable-output -print
+; RUN: llvm-as < %s | opt -block-placement -disable-output -print
-int %test() {
+define i32 @test() {
+ br i1 true, label %X, label %Y
- br bool true, label %X, label %Y
-A:
- ret int 0
-X:
- br label %A
-Y:
- br label %A
+A: ; preds = %Y, %X
+ ret i32 0
+
+X: ; preds = %0
+ br label %A
+
+Y: ; preds = %0
+ br label %A
}
+
diff --git a/test/Transforms/CodeExtractor/2004-03-13-LoopExtractorCrash.ll b/test/Transforms/CodeExtractor/2004-03-13-LoopExtractorCrash.ll
index 3100d649ba..aba35642e4 100644
--- a/test/Transforms/CodeExtractor/2004-03-13-LoopExtractorCrash.ll
+++ b/test/Transforms/CodeExtractor/2004-03-13-LoopExtractorCrash.ll
@@ -1,26 +1,26 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -loop-extract -disable-output
+; RUN: llvm-as < %s | opt -loop-extract -disable-output
-void %solve() {
+define void @solve() {
entry:
br label %loopentry.0
-loopentry.0: ; preds = %entry, %endif.0
- br bool false, label %no_exit.0, label %loopexit.0
+loopentry.0: ; preds = %endif.0, %entry
+ br i1 false, label %no_exit.0, label %loopexit.0
no_exit.0: ; preds = %loopentry.0
- br bool false, label %then.0, label %endif.0
+ br i1 false, label %then.0, label %endif.0
then.0: ; preds = %no_exit.0
- br bool false, label %shortcirc_done, label %shortcirc_next
+ br i1 false, label %shortcirc_done, label %shortcirc_next
shortcirc_next: ; preds = %then.0
br label %shortcirc_done
-shortcirc_done: ; preds = %then.0, %shortcirc_next
- br bool false, label %then.1, label %endif.1
+shortcirc_done: ; preds = %shortcirc_next, %then.0
+ br i1 false, label %then.1, label %endif.1
then.1: ; preds = %shortcirc_done
- br bool false, label %cond_true, label %cond_false
+ br i1 false, label %cond_true, label %cond_false
cond_true: ; preds = %then.1
br label %cond_continue
@@ -28,23 +28,23 @@ cond_true: ; preds = %then.1
cond_false: ; preds = %then.1
br label %cond_continue
-cond_continue: ; preds = %cond_true, %cond_false
+cond_continue: ; preds = %cond_false, %cond_true
br label %return
after_ret.0: ; No predecessors!
br label %endif.1
-endif.1: ; preds = %shortcirc_done, %after_ret.0
+endif.1: ; preds = %after_ret.0, %shortcirc_done
br label %endif.0
-endif.0: ; preds = %no_exit.0, %endif.1
+endif.0: ; preds = %endif.1, %no_exit.0
br label %loopentry.0
loopexit.0: ; preds = %loopentry.0
- br bool false, label %then.2, label %endif.2
+ br i1 false, label %then.2, label %endif.2
then.2: ; preds = %loopexit.0
- br bool false, label %then.3, label %endif.3
+ br i1 false, label %then.3, label %endif.3
then.3: ; preds = %then.2
br label %return
@@ -52,14 +52,14 @@ then.3: ; preds = %then.2
after_ret.1: ; No predecessors!
br label %endif.3
-endif.3: ; preds = %then.2, %after_ret.1
+endif.3: ; preds = %after_ret.1, %then.2
br label %endif.2
-endif.2: ; preds = %loopexit.0, %endif.3
+endif.2: ; preds = %endif.3, %loopexit.0
br label %loopentry.1
-loopentry.1: ; preds = %endif.2, %no_exit.1
- br bool false, label %no_exit.1, label %loopexit.1
+loopentry.1: ; preds = %no_exit.1, %endif.2
+ br i1 false, label %no_exit.1, label %loopexit.1
no_exit.1: ; preds = %loopentry.1
br label %loopentry.1
@@ -70,6 +70,6 @@ loopexit.1: ; preds = %loopentry.1
after_ret.2: ; No predecessors!
br label %return
-return: ; preds = %cond_continue, %then.3, %loopexit.1, %after_ret.2
+return: ; preds = %after_ret.2, %loopexit.1, %then.3, %cond_continue
ret void
}
diff --git a/test/Transforms/CodeExtractor/2004-03-14-DominanceProblem.ll b/test/Transforms/CodeExtractor/2004-03-14-DominanceProblem.ll
index 186466dc9b..a41430d45d 100644
--- a/test/Transforms/CodeExtractor/2004-03-14-DominanceProblem.ll
+++ b/test/Transforms/CodeExtractor/2004-03-14-DominanceProblem.ll
@@ -1,34 +1,33 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -loop-extract -disable-output
+; RUN: llvm-as < %s | opt -loop-extract -disable-output
; This testcase is failing the loop extractor because not all exit blocks
; are dominated by all of the live-outs.
-implementation ; Functions:
-
-int %ab(int %alpha, int %beta) {
+define i32 @ab(i32 %alpha, i32 %beta) {
entry:
- br label %loopentry.1.preheader
+ br label %loopentry.1.preheader
-loopentry.1.preheader: ; preds = %then.1
- br label %loopentry.1
+loopentry.1.preheader: ; preds = %entry
+ br label %loopentry.1
-loopentry.1: ; preds = %loopentry.1.preheader, %no_exit.1
- br bool false, label %no_exit.1, label %loopexit.0.loopexit1
+loopentry.1: ; preds = %no_exit.1, %loopentry.1.preheader
+ br i1 false, label %no_exit.1, label %loopexit.0.loopexit1
-no_exit.1: ; preds = %loopentry.1
- %tmp.53 = load int* null ; <int> [#uses=1]
- br bool false, label %shortcirc_next.2, label %loopentry.1
+no_exit.1: ; preds = %loopentry.1
+ %tmp.53 = load i32* null ; <i32> [#uses=1]
+ br i1 false, label %shortcirc_next.2, label %loopentry.1
-shortcirc_next.2: ; preds = %no_exit.1
- %tmp.563 = call int %wins( int 0, int %tmp.53, int 3 ) ; <int> [#uses=0]
- ret int 0
+shortcirc_next.2: ; preds = %no_exit.1
+ %tmp.563 = call i32 @wins( i32 0, i32 %tmp.53, i32 3 ) ; <i32> [#uses=0]
+ ret i32 0
-loopexit.0.loopexit1: ; preds = %loopentry.1
- br label %loopexit.0
+loopexit.0.loopexit1: ; preds = %loopentry.1
+ br label %loopexit.0
-loopexit.0: ; preds = %loopexit.0.loopexit, %loopexit.0.loopexit1
- ret int 0
+loopexit.0: ; preds = %loopexit.0.loopexit1
+ ret i32 0
}
-declare int %wins(int, int, int)
+declare i32 @wins(i32, i32, i32)
+
+declare i16 @ab_code()
-declare ushort %ab_code()
diff --git a/test/Transforms/CodeExtractor/2004-03-14-NoSwitchSupport.ll b/test/Transforms/CodeExtractor/2004-03-14-NoSwitchSupport.ll
index 3efcea56ac..ded821b702 100644
--- a/test/Transforms/CodeExtractor/2004-03-14-NoSwitchSupport.ll
+++ b/test/Transforms/CodeExtractor/2004-03-14-NoSwitchSupport.ll
@@ -1,27 +1,28 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -loop-extract-single -disable-output
+; RUN: llvm-as < %s | opt -loop-extract-single -disable-output
-void %ab() {
+define void @ab() {
entry:
- br label %codeReplTail
+ br label %codeReplTail
-then.1: ; preds = %codeReplTail
- br label %loopentry.1
+then.1: ; preds = %codeReplTail
+ br label %loopentry.1
-loopentry.1: ; preds = %loopentry.1.preheader, %no_exit.1
- br bool false, label %no_exit.1, label %loopexit.0.loopexit1
+loopentry.1: ; preds = %no_exit.1, %then.1
+ br i1 false, label %no_exit.1, label %loopexit.0.loopexit1
-no_exit.1: ; preds = %loopentry.1
- br label %loopentry.1
+no_exit.1: ; preds = %loopentry.1
+ br label %loopentry.1
-loopexit.0.loopexit: ; preds = %codeReplTail
- ret void
+loopexit.0.loopexit: ; preds = %codeReplTail
+ ret void
-loopexit.0.loopexit1: ; preds = %loopentry.1
- ret void
+loopexit.0.loopexit1: ; preds = %loopentry.1
+ ret void
-codeReplTail: ; preds = %codeRepl, %codeReplTail
- switch ushort 0, label %codeReplTail [
- ushort 0, label %loopexit.0.loopexit
- ushort 1, label %then.1
- ]
+codeReplTail: ; preds = %codeReplTail, %entry
+ switch i16 0, label %codeReplTail [
+ i16 0, label %loopexit.0.loopexit
+ i16 1, label %then.1
+ ]
}
+
diff --git a/test/Transforms/CodeExtractor/2004-03-17-MissedLiveIns.ll b/test/Transforms/CodeExtractor/2004-03-17-MissedLiveIns.ll
index 67756b5ab5..e2030e2db9 100644
--- a/test/Transforms/CodeExtractor/2004-03-17-MissedLiveIns.ll
+++ b/test/Transforms/CodeExtractor/2004-03-17-MissedLiveIns.ll
@@ -1,11 +1,11 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -loop-extract -disable-output
+; RUN: llvm-as < %s | opt -loop-extract -disable-output
-void %sendMTFValues() {
+define void @sendMTFValues() {
entry:
- br bool false, label %then.1, label %endif.1
+ br i1 false, label %then.1, label %endif.1
then.1: ; preds = %entry
- br bool false, label %loopentry.6.preheader, label %else.0
+ br i1 false, label %loopentry.6.preheader, label %else.0
endif.1: ; preds = %entry
ret void
@@ -14,34 +14,34 @@ else.0: ; preds = %then.1
ret void
loopentry.6.preheader: ; preds = %then.1
- br bool false, label %endif.7.preheader, label %loopexit.9
+ br i1 false, label %endif.7.preheader, label %loopexit.9
endif.7.preheader: ; preds = %loopentry.6.preheader
- %tmp.183 = add int 0, -1 ; <int> [#uses=1]
+ %tmp.183 = add i32 0, -1 ; <i32> [#uses=1]
br label %endif.7
-endif.7: ; preds = %endif.7.preheader, %loopexit.15
- br bool false, label %loopentry.10, label %loopentry.12
+endif.7: ; preds = %loopexit.15, %endif.7.preheader
+ br i1 false, label %loopentry.10, label %loopentry.12
loopentry.10: ; preds = %endif.7
br label %loopentry.12
-loopentry.12: ; preds = %endif.7, %loopentry.10
- %ge.2.1 = phi int [ 0, %loopentry.10 ], [ %tmp.183, %endif.7 ] ; <int> [#uses=0]
- br bool false, label %loopexit.14, label %no_exit.11
+loopentry.12: ; preds = %loopentry.10, %endif.7
+ %ge.2.1 = phi i32 [ 0, %loopentry.10 ], [ %tmp.183, %endif.7 ] ; <i32> [#uses=0]
+ br i1 false, label %loopexit.14, label %no_exit.11
no_exit.11: ; preds = %loopentry.12
ret void
loopexit.14: ; preds = %loopentry.12
- br bool false, label %loopexit.15, label %no_exit.14
+ br i1 false, label %loopexit.15, label %no_exit.14
no_exit.14: ; preds = %loopexit.14
ret void
loopexit.15: ; preds = %loopexit.14
- br bool false, label %endif.7, label %loopexit.9
+ br i1 false, label %endif.7, label %loopexit.9
-loopexit.9: ; preds = %loopentry.6.preheader, %loopexit.15
+loopexit.9: ; preds = %loopexit.15, %loopentry.6.preheader
ret void
}
diff --git a/test/Transforms/CodeExtractor/2004-03-17-OutputMismatch.ll b/test/Transforms/CodeExtractor/2004-03-17-OutputMismatch.ll
index 23ca986bc7..9f4b273a61 100644
--- a/test/Transforms/CodeExtractor/2004-03-17-OutputMismatch.ll
+++ b/test/Transforms/CodeExtractor/2004-03-17-OutputMismatch.ll
@@ -1,21 +1,20 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -loop-extract -disable-output
+; RUN: llvm-as < %s | opt -loop-extract -disable-output
- %struct.node_t = type { double*, %struct.node_t*, %struct.node_t**, double**, double*, int, int }
- %struct.table_t = type { [1 x %struct.node_t**], [1 x %struct.node_t**] }
+%struct.node_t = type { double*, %struct.node_t*, %struct.node_t**, double**, double*, i32, i32 }
+%struct.table_t = type { [1 x %struct.node_t**], [1 x %struct.node_t**] }
-implementation ; Functions:
-
-void %make_tables() {
+define void @make_tables() {
entry:
- %tmp.0.i = malloc %struct.node_t ; <%struct.node_t*> [#uses=1]
- br bool false, label %no_exit.i, label %loopexit.i
+ %tmp.0.i = malloc %struct.node_t ; <%struct.node_t*> [#uses=1]
+ br i1 false, label %no_exit.i, label %loopexit.i
-no_exit.i: ; preds = %entry, %no_exit.i
- %prev_node.0.i.1 = phi %struct.node_t* [ %tmp.16.i, %no_exit.i ], [ %tmp.0.i, %entry ] ; <%struct.node_t*> [#uses=0]
- %tmp.16.i = malloc %struct.node_t ; <%struct.node_t*> [#uses=2]
- br bool false, label %no_exit.i, label %loopexit.i
+no_exit.i: ; preds = %no_exit.i, %entry
+ %prev_node.0.i.1 = phi %struct.node_t* [ %tmp.16.i, %no_exit.i ], [ %tmp.0.i, %entry ] ; <%struct.node_t*> [#uses=0]
+ %tmp.16.i = malloc %struct.node_t ; <%struct.node_t*> [#uses=2]
+ br i1 false, label %no_exit.i, label %loopexit.i
-loopexit.i: ; preds = %entry, %no_exit.i
- %cur_node.0.i.0 = phi %struct.node_t* [ null, %entry ], [ %tmp.16.i, %no_exit.i ] ; <%struct.node_t*> [#uses=0]
- ret void
+loopexit.i: ; preds = %no_exit.i, %entry
+ %cur_node.0.i.0 = phi %struct.node_t* [ null, %entry ], [ %tmp.16.i, %no_exit.i ] ; <%struct.node_t*> [#uses=0]
+ ret void
}
+
diff --git a/test/Transforms/CodeExtractor/2004-03-17-UpdatePHIsOutsideRegion.ll b/test/Transforms/CodeExtractor/2004-03-17-UpdatePHIsOutsideRegion.ll
index 0ff309191a..b1b0324bca 100644
--- a/test/Transforms/CodeExtractor/2004-03-17-UpdatePHIsOutsideRegion.ll
+++ b/test/Transforms/CodeExtractor/2004-03-17-UpdatePHIsOutsideRegion.ll
@@ -1,23 +1,23 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -loop-extract -disable-output
+; RUN: llvm-as < %s | opt -loop-extract -disable-output
-
-void %maketree() {
+define void @maketree() {
entry:
- br bool false, label %no_exit.1, label %loopexit.0
+ br i1 false, label %no_exit.1, label %loopexit.0
-no_exit.1: ; preds = %entry, %expandbox.entry, %endif
- br bool false, label %endif, label %expandbox.entry
+no_exit.1: ; preds = %endif, %expandbox.entry, %entry
+ br i1 false, label %endif, label %expandbox.entry
-expandbox.entry: ; preds = %no_exit.1
- br bool false, label %loopexit.1, label %no_exit.1
+expandbox.entry: ; preds = %no_exit.1
+ br i1 false, label %loopexit.1, label %no_exit.1
-endif: ; preds = %no_exit.1
- br bool false, label %loopexit.1, label %no_exit.1
+endif: ; preds = %no_exit.1
+ br i1 false, label %loopexit.1, label %no_exit.1
-loopexit.1: ; preds = %expandbox.entry, %endif
- %ic.i.0.0.4 = phi int [ 0, %expandbox.entry ], [ 0, %endif ] ; <int> [#uses=0]
- ret void
+loopexit.1: ; preds = %endif, %expandbox.entry
+ %ic.i.0.0.4 = phi i32 [ 0, %expandbox.entry ], [ 0, %endif ] ; <i32> [#uses=0]
+ ret void
-loopexit.0: ; preds = %entry
- ret void
+loopexit.0: ; preds = %entry
+ ret void
}
+
diff --git a/test/Transforms/CodeExtractor/2004-03-18-InvokeHandling.ll b/test/Transforms/CodeExtractor/2004-03-18-InvokeHandling.ll
index 70d1e0aa8c..48e5a768e0 100644
--- a/test/Transforms/CodeExtractor/2004-03-18-InvokeHandling.ll
+++ b/test/Transforms/CodeExtractor/2004-03-18-InvokeHandling.ll
@@ -1,97 +1,95 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -loop-extract -disable-output
+; RUN: llvm-as < %s | opt -loop-extract -disable-output
-implementation ; Functions:
+declare i32 @_IO_getc()
-declare int %_IO_getc()
+declare void @__errno_location()
-declare void %__errno_location()
-
-void %yylex() {
+define void @yylex() {
entry:
- switch uint 0, label %label.126 [
- uint 0, label %return
- uint 61, label %combine
- uint 33, label %combine
- uint 94, label %combine
- uint 37, label %combine
- uint 47, label %combine
- uint 42, label %combine
- uint 62, label %combine
- uint 60, label %combine
- uint 58, label %combine
- uint 124, label %combine
- uint 38, label %combine
- uint 45, label %combine
- uint 43, label %combine
- uint 34, label %string_constant
- uint 39, label %char_constant
- uint 46, label %loopexit.2
- uint 57, label %loopexit.2
- uint 56, label %loopexit.2
- uint 55, label %loopexit.2
- uint 54, label %loopexit.2
- uint 53, label %loopexit.2
- uint 52, label %loopexit.2
- uint 51, label %loopexit.2
- uint 50, label %loopexit.2
- uint 49, label %loopexit.2
- uint 48, label %loopexit.2
- uint 95, label %letter
- uint 122, label %letter
- uint 121, label %letter
- uint 120, label %letter
- uint 119, label %letter
- uint 118, label %letter
- uint 117, label %letter
- uint 116, label %letter
- uint 115, label %letter
- uint 114, label %letter
- uint 113, label %letter
- uint 112, label %letter
- uint 111, label %letter
- uint 110, label %letter
- uint 109, label %letter
- uint 108, label %letter
- uint 107, label %letter
- uint 106, label %letter
- uint 105, label %letter
- uint 104, label %letter
- uint 103, label %letter
- uint 102, label %letter
- uint 101, label %letter
- uint 100, label %letter
- uint 99, label %letter
- uint 98, label %letter
- uint 97, label %letter
- uint 90, label %letter
- uint 89, label %letter
- uint 88, label %letter
- uint 87, label %letter
- uint 86, label %letter
- uint 85, label %letter
- uint 84, label %letter
- uint 83, label %letter
- uint 82, label %letter
- uint 81, label %letter
- uint 80, label %letter
- uint 79, label %letter
- uint 78, label %letter
- uint 77, label %letter
- uint 75, label %letter
- uint 74, label %letter
- uint 73, label %letter
- uint 72, label %letter
- uint 71, label %letter
- uint 70, label %letter
- uint 69, label %letter
- uint 68, label %letter
- uint 67, label %letter
- uint 66, label %letter
- uint 65, label %letter
- uint 64, label %label.13
- uint 76, label %label.12
- uint 36, label %label.11
- uint 4294967295, label %label.10
+ switch i32 0, label %label.126 [
+ i32 0, label %return
+ i32 61, label %combine
+ i32 33, label %combine
+ i32 94, label %combine
+ i32 37, label %combine
+ i32 47, label %combine
+ i32 42, label %combine
+ i32 62, label %combine
+ i32 60, label %combine
+ i32 58, label %combine
+ i32 124, label %combine
+ i32 38, label %combine
+ i32 45, label %combine
+ i32 43, label %combine
+ i32 34, label %string_constant
+ i32 39, label %char_constant
+ i32 46, label %loopexit.2
+ i32 57, label %loopexit.2
+ i32 56, label %loopexit.2
+ i32 55, label %loopexit.2
+ i32 54, label %loopexit.2
+ i32 53, label %loopexit.2
+ i32 52, label %loopexit.2
+ i32 51, label %loopexit.2
+ i32 50, label %loopexit.2
+ i32 49, label %loopexit.2
+ i32 48, label %loopexit.2
+ i32 95, label %letter
+ i32 122, label %letter
+ i32 121, label %letter
+ i32 120, label %letter
+ i32 119, label %letter
+ i32 118, label %letter
+ i32 117, label %letter
+ i32 116, label %letter
+ i32 115, label %letter
+ i32 114, label %letter
+ i32 113, label %letter
+ i32 112, label %letter
+ i32 111, label %letter
+ i32 110, label %letter
+ i32 109, label %letter
+ i32 108, label %letter
+ i32 107, label %letter
+ i32 106, label %letter
+ i32 105, label %letter
+ i32 104, label %letter
+ i32 103, label %letter
+ i32 102, label %letter
+ i32 101, label %letter
+ i32 100, label %letter
+ i32 99, label %letter
+ i32 98, label %letter
+ i32 97, label %letter
+ i32 90, label %letter
+ i32 89, label %letter
+ i32 88, label %letter
+ i32 87, label %letter
+ i32 86, label %letter
+ i32 85, label %letter
+ i32 84, label %letter
+ i32 83, label %letter
+ i32 82, label %letter
+ i32 81, label %letter
+ i32 80, label %letter
+ i32 79, label %letter
+ i32 78, label %letter
+ i32 77, label %letter
+ i32 75, label %letter
+ i32 74, label %letter
+ i32 73, label %letter
+ i32 72, label %letter
+ i32 71, label %letter
+ i32 70, label %letter
+ i32 69, label %letter
+ i32 68, label %letter
+ i32 67, label %letter
+ i32 66, label %letter
+ i32 65, label %letter
+ i32 64, label %label.13
+ i32 76, label %label.12
+ i32 36, label %label.11
+ i32 -1, label %label.10
]
label.10: ; preds = %entry
@@ -110,15 +108,15 @@ letter: ; preds = %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entr
ret void
loopexit.2: ; preds = %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry
- switch int 0, label %shortcirc_next.14 [
- int 48, label %then.20
- int 46, label %endif.38
+ switch i32 0, label %shortcirc_next.14 [
+ i32 48, label %then.20
+ i32 46, label %endif.38
]
then.20: ; preds = %loopexit.2
- switch int 0, label %else.4 [
- int 120, label %then.21
- int 88, label %then.21
+ switch i32 0, label %else.4 [
+ i32 120, label %then.21
+ i32 88, label %then.21
]
then.21: ; preds = %then.20, %then.20
@@ -131,23 +129,23 @@ shortcirc_next.14: ; preds = %loopexit.2
ret void
endif.38: ; preds = %loopexit.2
- br bool false, label %then.40, label %then.39
+ br i1 false, label %then.40, label %then.39
then.39: ; preds = %endif.38
ret void
then.40: ; preds = %endif.38
- invoke void %__errno_location( )
+ invoke void @__errno_location( )
to label %switchexit.2 unwind label %LongJmpBlkPre
loopentry.6: ; preds = %endif.52
- switch uint 0, label %switchexit.2 [
- uint 73, label %label.82
- uint 105, label %label.82
- uint 76, label %label.80
- uint 108, label %label.80
- uint 70, label %label.78
- uint 102, label %label.78
+ switch i32 0, label %switchexit.2 [
+ i32 73, label %label.82
+ i32 105, label %label.82
+ i32 76, label %label.80
+ i32 108, label %label.80
+ i32 70, label %label.78
+ i32 102, label %label.78
]
label.78: ; preds = %loopentry.6, %loopentry.6
@@ -157,21 +155,21 @@ label.80: ; preds = %loopentry.6, %loopentry.6
ret void
label.82: ; preds = %loopentry.6, %loopentry.6
- %c.0.15.5 = phi int [ %tmp.79417, %loopentry.6 ], [ %tmp.79417, %loopentry.6 ] ; <int> [#uses=0]
+ %c.0.15.5 = phi i32 [ %tmp.79417, %loopentry.6 ], [ %tmp.79417, %loopentry.6 ] ; <i32> [#uses=0]
ret void
-switchexit.2: ; preds = %then.40, %loopentry.6
- br bool false, label %endif.51, label %loopexit.6
+switchexit.2: ; preds = %loopentry.6, %then.40
+ br i1 false, label %endif.51, label %loopexit.6
endif.51: ; preds = %switchexit.2
- br bool false, label %endif.52, label %then.52
+ br i1 false, label %endif.52, label %then.52
then.52: ; preds = %endif.51
ret void
endif.52: ; preds = %endif.51
- %tmp.79417 = invoke int %_IO_getc( )
- to label %loopentry.6 unwind label %LongJmpBlkPre ; <int> [#uses=2]
+ %tmp.79417 = invoke i32 @_IO_getc( )
+ to label %loopentry.6 unwind label %LongJmpBlkPre ; <i32> [#uses=2]
loopexit.6: ; preds = %switchexit.2
ret void
@@ -191,6 +189,6 @@ label.126: ; preds = %entry
return: ; preds = %entry
ret void
-LongJmpBlkPre: ; preds = %then.40, %endif.52
+LongJmpBlkPre: ; preds = %endif.52, %then.40
ret void
}
diff --git a/test/Transforms/CodeExtractor/2004-08-12-BlockExtractPHI.ll b/test/Transforms/CodeExtractor/2004-08-12-BlockExtractPHI.ll
index c9c23d48e5..0ab5498b04 100644
--- a/test/Transforms/CodeExtractor/2004-08-12-BlockExtractPHI.ll
+++ b/test/Transforms/CodeExtractor/2004-08-12-BlockExtractPHI.ll
@@ -1,27 +1,26 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -extract-blocks -disable-output
+; RUN: llvm-as < %s | opt -extract-blocks -disable-output
-implementation
-
-void %test1() {
+define void @test1() {
no_exit.0.i:
- br bool false, label %yylex.entry, label %yylex.entry
+ br i1 false, label %yylex.entry, label %yylex.entry
-yylex.entry:
- %tmp.1027 = phi int [ 0, %no_exit.0.i ], [ 0, %no_exit.0.i ]
- ret void
+yylex.entry: ; preds = %no_exit.0.i, %no_exit.0.i
+ %tmp.1027 = phi i32 [ 0, %no_exit.0.i ], [ 0, %no_exit.0.i ] ; <i32> [#uses=0]
+ ret void
}
-void %test2() {
+define void @test2() {
no_exit.0.i:
- switch uint 0, label %yylex.entry [
- uint 0, label %yylex.entry
- uint 1, label %foo
+ switch i32 0, label %yylex.entry [
+ i32 0, label %yylex.entry
+ i32 1, label %foo
]
-yylex.entry:
- %tmp.1027 = phi int [ 0, %no_exit.0.i ], [ 0, %no_exit.0.i ]
+yylex.entry: ; preds = %no_exit.0.i, %no_exit.0.i
+ %tmp.1027 = phi i32 [ 0, %no_exit.0.i ], [ 0, %no_exit.0.i ] ; <i32> [#uses=0]
ret void
-foo:
+
+foo: ; preds = %no_exit.0.i
ret void
}
diff --git a/test/Transforms/CodeExtractor/2004-11-12-InvokeExtract.ll b/test/Transforms/CodeExtractor/2004-11-12-InvokeExtract.ll
index 4ada2aeb28..8cd6094826 100644
--- a/test/Transforms/CodeExtractor/2004-11-12-InvokeExtract.ll
+++ b/test/Transforms/CodeExtractor/2004-11-12-InvokeExtract.ll
@@ -1,10 +1,15 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -extract-blocks -disable-output
-int %foo() {
- br label %EB
-EB:
- %V = invoke int %foo() to label %Cont unwind label %Unw
-Cont:
- ret int %V
-Unw:
- unwind
+; RUN: llvm-as < %s | opt -extract-blocks -disable-output
+define i32 @foo() {
+ br label %EB
+
+EB: ; preds = %0
+ %V = invoke i32 @foo( )
+ to label %Cont unwind label %Unw ; <i32> [#uses=1]
+
+Cont: ; preds = %EB
+ ret i32 %V
+
+Unw: ; preds = %EB
+ unwind
}
+
diff --git a/test/Transforms/CondProp/2006-08-14-SingleEntryPhiCrash.ll b/test/Transforms/CondProp/2006-08-14-SingleEntryPhiCrash.ll
index e029831390..fa083799b9 100644
--- a/test/Transforms/CondProp/2006-08-14-SingleEntryPhiCrash.ll
+++ b/test/Transforms/CondProp/2006-08-14-SingleEntryPhiCrash.ll
@@ -1,20 +1,16 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -condprop -disable-output
+; RUN: llvm-as < %s | opt -condprop -disable-output
; PR877
-
-target endian = big
-target pointersize = 32
+target datalayout = "E-p:32:32"
target triple = "powerpc-apple-darwin9.0.0d1"
- "struct.kc::impl_Ccode_option" = type { "struct.kc::impl_abstract_phylum" }
- "struct.kc::impl_ID" = type { "struct.kc::impl_abstract_phylum", "struct.kc::impl_Ccode_option"*, "struct.kc::impl_casestring__Str"*, int, "struct.kc::impl_casestring__Str"* }
- "struct.kc::impl_abstract_phylum" = type { int (...)** }
- "struct.kc::impl_casestring__Str" = type { "struct.kc::impl_abstract_phylum", sbyte* }
- "struct.kc::impl_elem_patternrepresentation" = type { "struct.kc::impl_abstract_phylum", int, "struct.kc::impl_casestring__Str"*, "struct.kc::impl_ID"* }
- "struct.kc::impl_outmostpatterns" = type { "struct.kc::impl_Ccode_option", "struct.kc::impl_elem_patternrepresentation"*, "struct.kc::impl_outmostpatterns"* }
- "struct.kc::impl_patternrepresentations" = type { "struct.kc::impl_Ccode_option", "struct.kc::impl_outmostpatterns"*, "struct.kc::impl_patternrepresentations"* }
-
-implementation ; Functions:
-
-void %_ZN2kc16compare_patternsEPNS_26impl_patternrepresentationES1_PNS_27impl_patternrepresentationsE() {
+ %"struct.kc::impl_Ccode_option" = type { %"struct.kc::impl_abstract_phylum" }
+ %"struct.kc::impl_ID" = type { %"struct.kc::impl_abstract_phylum", %"struct.kc::impl_Ccode_option"*, %"struct.kc::impl_casestring__Str"*, i32, %"struct.kc::impl_casestring__Str"* }
+ %"struct.kc::impl_abstract_phylum" = type { i32 (...)** }
+ %"struct.kc::impl_casestring__Str" = type { %"struct.kc::impl_abstract_phylum", i8* }
+ %"struct.kc::impl_elem_patternrepresentation" = type { %"struct.kc::impl_abstract_phylum", i32, %"struct.kc::impl_casestring__Str"*, %"struct.kc::impl_ID"* }
+ %"struct.kc::impl_outmostpatterns" = type { %"struct.kc::impl_Ccode_option", %"struct.kc::impl_elem_patternrepresentation"*, %"struct.kc::impl_outmostpatterns"* }
+ %"struct.kc::impl_patternrepresentations" = type { %"struct.kc::impl_Ccode_option", %"struct.kc::impl_outmostpatterns"*, %"struct.kc::impl_patternrepresentations"* }
+
+define void @_ZN2kc16compare_patternsEPNS_26impl_patternrepresentationES1_PNS_27impl_patternrepresentationsE() {
entry:
br label %bb1269.outer.outer.outer.outer
@@ -22,55 +18,55 @@ cond_true: ; preds = %cond_true1298
br label %bb1269.outer69
cond_false: ; preds = %cond_true1298
- br bool false, label %cond_next, label %bb51
+ br i1 false, label %cond_next, label %bb51
cond_next: ; preds = %cond_false
- br bool false, label %bb52, label %bb51
+ br i1 false, label %bb52, label %bb51
bb51: ; preds = %cond_next, %cond_false
br label %bb52
bb52: ; preds = %bb51, %cond_next
- br bool false, label %cond_false82, label %cond_true55
+ br i1 false, label %cond_false82, label %cond_true55
cond_true55: ; preds = %bb52
- br bool false, label %UnifiedReturnBlock, label %cond_true57
+ br i1 false, label %UnifiedReturnBlock, label %cond_true57
cond_true57: ; preds = %cond_true55
br label %UnifiedReturnBlock
cond_false82: ; preds = %bb52
- br bool false, label %cond_next97, label %bb113
+ br i1 false, label %cond_next97, label %bb113
cond_next97: ; preds = %cond_false82
- br bool false, label %bb114, label %bb113
+ br i1 false, label %bb114, label %bb113
bb113: ; preds = %cond_next97, %cond_false82
br label %bb114
bb114: ; preds = %bb113, %cond_next97
- br bool false, label %cond_false151, label %cond_true117
+ br i1 false, label %cond_false151, label %cond_true117
cond_true117: ; preds = %bb114
- br bool false, label %UnifiedReturnBlock, label %cond_true120
+ br i1 false, label %UnifiedReturnBlock, label %cond_true120
cond_true120: ; preds = %cond_true117
br label %UnifiedReturnBlock
cond_false151: ; preds = %bb114
- br bool false, label %cond_next166, label %bb182
+ br i1 false, label %cond_next166, label %bb182
cond_next166: ; preds = %cond_false151
- br bool false, label %bb183, label %bb182
+ br i1 false, label %bb183, label %bb182
bb182: ; preds = %cond_next166, %cond_false151
br label %bb183
bb183: ; preds = %bb182, %cond_next166
- br bool false, label %cond_false256, label %cond_true186
+ br i1 false, label %cond_false256, label %cond_true186
cond_true186: ; preds = %bb183
- br bool false, label %cond_true207, label %cond_false214
+ br i1 false, label %cond_true207, label %cond_false214
cond_true207: ; preds = %cond_true186
br label %bb1269.outer38.backedge
@@ -79,7 +75,7 @@ bb1269.outer38.backedge: ; preds = %cond_true545, %cond_true432, %cond_true320,
br label %bb1269.outer38
cond_false214: ; preds = %cond_true186
- br bool false, label %cond_true228, label %cond_false235
+ br i1 false, label %cond_true228, label %cond_false235
cond_true228: ; preds = %cond_false214
br label %bb1269.outer21.backedge
@@ -88,115 +84,115 @@ bb1269.outer21.backedge: ; preds = %cond_true566, %cond_true453, %cond_true341,
br label %bb1269.outer21
cond_false235: ; preds = %cond_false214
- br bool false, label %UnifiedReturnBlock, label %cond_false250
+ br i1 false, label %UnifiedReturnBlock, label %cond_false250
cond_false250: ; preds = %cond_false235
br label %UnifiedUnreachableBlock
cond_false256: ; preds = %bb183
- br bool false, label %cond_next271, label %bb287
+ br i1 false, label %cond_next271, label %bb287
cond_next271: ; preds = %cond_false256
- br bool false, label %bb288, label %bb287
+ br i1 false, label %bb288, label %bb287
bb287: ; preds = %cond_next271, %cond_false256
br label %bb288
bb288: ; preds = %bb287, %cond_next271
- br bool false, label %cond_false369, label %cond_true291
+ br i1 false, label %cond_false369, label %cond_true291
cond_true291: ; preds = %bb288
- br bool false, label %cond_true320, label %cond_false327
+ br i1 false, label %cond_true320, label %cond_false327
cond_true320: ; preds = %cond_true291
br label %bb1269.outer38.backedge
cond_false327: ; preds = %cond_true291
- br bool false, label %cond_true341, label %cond_false348
+ br i1 false, label %cond_true341, label %cond_false348
cond_true341: ; preds = %cond_false327
br label %bb1269.outer21.backedge
cond_false348: ; preds = %cond_false327
- br bool false, label %UnifiedReturnBlock, label %cond_false363
+ br i1 false, label %UnifiedReturnBlock, label %cond_false363
cond_false363: ; preds = %cond_false348
br label %UnifiedUnreachableBlock
cond_false369: ; preds = %bb288
- br bool false, label %cond_next384, label %bb400
+ br i1 false, label %cond_next384, label %bb400
cond_next384: ; preds = %cond_false369
- br bool false, label %bb401, label %bb400
+ br i1 false, label %bb401, label %bb400
bb400: ; preds = %cond_next384, %cond_false369
br label %bb401
bb401: ; preds = %bb400, %cond_next384
- br bool false, label %cond_false481, label %cond_true404
+ br i1 false, label %cond_false481, label %cond_true404
cond_true404: ; preds = %bb401
- br bool false, label %cond_true432, label %cond_false439
+ br i1 false, label %cond_true432, label %cond_false439
cond_true432: ; preds = %cond_true404
br label %bb1269.outer38.backedge
cond_false439: ; preds = %cond_true404
- br bool false, label %cond_true453, label %cond_false460
+ br i1 false, label %cond_true453, label %cond_false460
cond_true453: ; preds = %cond_false439
br label %bb1269.outer21.backedge
cond_false460: ; preds = %cond_false439
- br bool false, label %UnifiedReturnBlock, label %cond_false475
+ br i1 false, label %UnifiedReturnBlock, label %cond_false475
cond_false475: ; preds = %cond_false460
br label %UnifiedUnreachableBlock
cond_false481: ; preds = %bb401
- br bool false, label %cond_next496, label %bb512
+ br i1 false, label %cond_next496, label %bb512
cond_next496: ; preds = %cond_false481
- br bool false, label %bb513, label %bb512
+ br i1 false, label %bb513, label %bb512
bb512: ; preds = %cond_next496, %cond_false481
br label %bb513
bb513: ; preds = %bb512, %cond_next496
- br bool false, label %cond_false594, label %cond_true516
+ br i1 false, label %cond_false594, label %cond_true516
cond_true516: ; preds = %bb513
- br bool false, label %cond_true545, label %cond_false552
+ br i1 false, label %cond_true545, label %cond_false552
cond_true545: ; preds = %cond_true516
br label %bb1269.outer38.backedge
cond_false552: ; preds = %cond_true516
- br bool false, label %cond_true566, label %cond_false573
+ br i1 false, label %cond_true566, label %cond_false573
cond_true566: ; preds = %cond_false552
br label %bb1269.outer21.backedge
cond_false573: ; preds = %cond_false552
- br bool false, label %UnifiedReturnBlock, label %cond_false588
+ br i1 false, label %UnifiedReturnBlock, label %cond_false588
cond_false588: ; preds = %cond_false573
br label %UnifiedUnreachableBlock
cond_false594: ; preds = %bb513
- br bool false, label %cond_next609, label %bb625
+ br i1 false, label %cond_next609, label %bb625
cond_next609: ; preds = %cond_false594
- br bool false, label %bb626, label %bb625
+ br i1 false, label %bb626, label %bb625
bb625: ; preds = %cond_next609, %cond_false594
br label %bb626
bb626: ; preds = %bb625, %cond_next609
- br bool false, label %cond_false707, label %cond_true629
+ br i1 false, label %cond_false707, label %cond_true629
cond_true629: ; preds = %bb626
- br bool false, label %cond_true658, label %cond_false665
+ br i1 false, label %cond_true658, label %cond_false665
cond_true658: ; preds = %cond_true629
br label %bb1269.outer2.backedge
@@ -205,31 +201,31 @@ bb1269.outer2.backedge: ; preds = %cond_true679, %cond_true658
br label %bb1269.outer2
cond_false665: ; preds = %cond_true629
- br bool false, label %cond_true679, label %cond_false686
+ br i1 false, label %cond_true679, label %cond_false686
cond_true679: ; preds = %cond_false665
br label %bb1269.outer2.backedge
cond_false686: ; preds = %cond_false665
- br bool false, label %UnifiedReturnBlock, label %cond_false701
+ br i1 false, label %UnifiedReturnBlock, label %cond_false701
cond_false701: ; preds = %cond_false686
br label %UnifiedUnreachableBlock
cond_false707: ; preds = %bb626
- br bool false, label %cond_next722, label %bb738
+ br i1 false, label %cond_next722, label %bb738
cond_next722: ; preds = %cond_false707
- br bool false, label %bb739, label %bb738
+ br i1 false, label %bb739, label %bb738
bb738: ; preds = %cond_next722, %cond_false707
br label %bb739
bb739: ; preds = %bb738, %cond_next722
- br bool false, label %cond_false820, label %cond_true742
+ br i1 false, label %cond_false820, label %cond_true742
cond_true742: ; preds = %bb739
- br bool false, label %cond_true771, label %cond_false778
+ br i1 false, label %cond_true771, label %cond_false778
cond_true771: ; preds = %cond_true742
br label %bb1269.outer.backedge
@@ -238,31 +234,31 @@ bb1269.outer.backedge: ; preds = %cond_true792, %cond_true771
br label %bb1269.outer
cond_false778: ; preds = %cond_true742
- br bool false, label %cond_true792, label %cond_false799
+ br i1 false, label %cond_true792, label %cond_false799
cond_true792: ; preds = %cond_false778
br label %bb1269.outer.backedge
cond_false799: ; preds = %cond_false778
- br bool false, label %UnifiedReturnBlock, label %cond_false814
+ br i1 false, label %UnifiedReturnBlock, label %cond_false814
cond_false814: ; preds = %cond_false799
br label %UnifiedUnreachableBlock
cond_false820: ; preds = %bb739
- br bool false, label %cond_next835, label %bb851
+ br i1 false, label %cond_next835, label %bb851
cond_next835: ; preds = %cond_false820
- br bool false, label %bb852, label %bb851
+ br i1 false, label %bb852, label %bb851
bb851: ; preds = %cond_next835, %cond_false820
br label %bb852
bb852: ; preds = %bb851, %cond_next835
- br bool false, label %cond_false933, label %cond_true855
+ br i1 false, label %cond_false933, label %cond_true855
cond_true855: ; preds = %bb852
- br bool false, label %cond_true884, label %cond_false891
+ br i1 false, label %cond_true884, label %cond_false891
cond_true884: ; preds = %cond_true855
br label %bb1269.outer.outer.backedge
@@ -271,31 +267,31 @@ bb1269.outer.outer.backedge: ; preds = %cond_true905, %cond_true884
br label %bb1269.outer.outer
cond_false891: ; preds = %cond_true855
- br bool false, label %cond_true905, label %cond_false912
+ br i1 false, label %cond_true905, label %cond_false912
cond_true905: ; preds = %cond_false891
br label %bb1269.outer.outer.backedge
cond_false912: ; preds = %cond_false891
- br bool false, label %UnifiedReturnBlock, label %cond_false927
+ br i1 false, label %UnifiedReturnBlock, label %cond_false927
cond_false927: ; preds = %cond_false912
br label %UnifiedUnreachableBlock
cond_false933: ; preds = %bb852
- br bool false, label %cond_next948, label %bb964
+ br i1 false, label %cond_next948, label %bb964
cond_next948: ; preds = %cond_false933
- br bool false, label %bb965, label %bb964
+ br i1 false, label %bb965, label %bb964
bb964: ; preds = %cond_next948, %cond_false933
br label %bb965
bb965: ; preds = %bb964, %cond_next948
- br bool false, label %cond_false1046, label %cond_true968
+ br i1 false, label %cond_false1046, label %cond_true968
cond_true968: ; preds = %bb965
- br bool false, label %cond_true997, label %cond_false1004
+ br i1 false, label %cond_true997, label %cond_false1004
cond_true997: ; preds = %cond_true968
br label %bb1269.outer.outer.outer.backedge
@@ -304,32 +300,32 @@ bb1269.outer.outer.outer.backedge: ; preds = %cond_true1018, %cond_true997
br label %bb1269.outer.outer.outer
cond_false1004: ; preds = %cond_true968
- br bool false, label %cond_true1018, label %cond_false1025
+ br i1 false, label %cond_true1018, label %cond_false1025
cond_true1018: ; preds = %cond_false1004
br label %bb1269.outer.outer.outer.backedge
cond_false1025: ; preds = %cond_false1004
- br bool false, label %UnifiedReturnBlock, label %cond_false1040
+ br i1 false, label %UnifiedReturnBlock, label %cond_false1040
cond_false1040: ; preds = %cond_false1025
br label %UnifiedUnreachableBlock
cond_false1046: ; preds = %bb965
- br bool false, label %cond_next1061, label %bb1077
+ br i1 false, label %cond_next1061, label %bb1077
cond_next1061: ; preds = %cond_false1046
- br bool false, label %bb1078, label %bb1077
+ br i1 false, label %bb1078, label %bb1077
bb1077: ; preds = %cond_next1061, %cond_false1046
br label %bb1078
bb1078: ; preds = %bb1077, %cond_next1061
- %tmp1080 = phi bool [ true, %bb1077 ], [ false, %cond_next1061 ] ; <bool> [#uses=1]
- br bool %tmp1080, label %cond_false1159, label %cond_true1081
+ %tmp1080 = phi i1 [ true, %bb1077 ], [ false, %cond_next1061 ] ; <i1> [#uses=1]
+ br i1 %tmp1080, label %cond_false1159, label %cond_true1081
cond_true1081: ; preds = %bb1078
- br bool false, label %cond_true1110, label %cond_false1117
+ br i1 false, label %cond_true1110, label %cond_false1117
cond_true1110: ; preds = %cond_true1081
br label %bb1269.outer.outer.outer.outer.backedge
@@ -338,32 +334,32 @@ bb1269.outer.outer.outer.outer.backedge: ; preds = %cond_true1131, %cond_true11
br label %bb1269.outer.outer.outer.outer
cond_false1117: ; preds = %cond_true1081
- br bool false, label %cond_true1131, label %cond_false1138
+ br i1 false, label %cond_true1131, label %cond_false1138
cond_true1131: ; preds = %cond_false1117
br label %bb1269.outer.outer.outer.outer.backedge
cond_false1138: ; preds = %cond_false1117
- br bool false, label %UnifiedReturnBlock, label %cond_false1153
+ br i1 false, label %UnifiedReturnBlock, label %cond_false1153
cond_false1153: ; preds = %cond_false1138
br label %UnifiedUnreachableBlock
cond_false1159: ; preds = %bb1078
- %tmp.i119.lcssa35.lcssa.lcssa.lcssa.lcssa.lcssa = phi "struct.kc::impl_elem_patternrepresentation"* [ null, %bb1078 ] ; <"struct.kc::impl_elem_patternrepresentation"*> [#uses=0]
- br bool false, label %UnifiedReturnBlock, label %cond_false1174
+ %tmp.i119.lcssa35.lcssa.lcssa.lcssa.lcssa.lcssa = phi %"struct.kc::impl_elem_patternrepresentation"* [ null, %bb1078 ] ; <%"struct.kc::impl_elem_patternrepresentation"*> [#uses=0]
+ br i1 false, label %UnifiedReturnBlock, label %cond_false1174
cond_false1174: ; preds = %cond_false1159
- br bool false, label %UnifiedReturnBlock, label %cond_false1189
+ br i1 false, label %UnifiedReturnBlock, label %cond_false1189
cond_false1189: ; preds = %cond_false1174
- br bool false, label %UnifiedReturnBlock, label %cond_false1204
+ br i1 false, label %UnifiedReturnBlock, label %cond_false1204
cond_false1204: ; preds = %cond_false1189
- br bool false, label %UnifiedReturnBlock, label %cond_false1219
+ br i1 false, label %UnifiedReturnBlock, label %cond_false1219
cond_false1219: ; preds = %cond_false1204
- br bool false, label %UnifiedReturnBlock, label %cond_true1222
+ br i1 false, label %UnifiedReturnBlock, label %cond_true1222
cond_true1222: ; preds = %cond_false1219
br label %UnifiedReturnBlock
@@ -396,22 +392,22 @@ bb1269.outer69: ; preds = %bb1269.outer54, %cond_true
br label %bb1269
bb1269: ; preds = %bb1269.outer69
- br bool false, label %cond_next1281, label %bb1294
+ br i1 false, label %cond_next1281, label %bb1294
cond_next1281: ; preds = %bb1269
- br bool false, label %cond_true1298, label %bb1294
+ br i1 false, label %cond_true1298, label %bb1294
bb1294: ; preds = %cond_next1281, %bb1269
- br bool false, label %cond_true1331, label %cond_next1313
+ br i1 false, label %cond_true1331, label %cond_next1313
cond_true1298: ; preds = %cond_next1281
- br bool false, label %cond_false, label %cond_true
+ br i1 false, label %cond_false, label %cond_true
cond_next1313: ; preds = %bb1294
- br bool false, label %cond_true1331, label %cond_next1355
+ br i1 false, label %cond_true1331, label %cond_next1355
cond_true1331: ; preds = %cond_next1313, %bb1294
- br bool false, label %cond_false1346, label %cond_true1342
+ br i1 false, label %cond_false1346, label %cond_true1342
cond_true1342: ; preds = %cond_true1331
br label %cond_next1350
@@ -423,37 +419,37 @@ cond_next1350: ; preds = %cond_false1346, %cond_true1342
br label %bb.i
bb.i: ; preds = %bb.i, %cond_next1350
- br bool false, label %_ZN2kc18impl_abstract_list8freelistEv.exit, label %bb.i
+ br i1 false, label %_ZN2kc18impl_abstract_list8freelistEv.exit, label %bb.i
_ZN2kc18impl_abstract_list8freelistEv.exit: ; preds = %bb.i
br label %cond_next1355
cond_next1355: ; preds = %_ZN2kc18impl_abstract_list8freelistEv.exit, %cond_next1313
- br bool false, label %cond_next1363, label %bb1388
+ br i1 false, label %cond_next1363, label %bb1388
cond_next1363: ; preds = %cond_next1355
- br bool false, label %UnifiedReturnBlock, label %cond_true1366
+ br i1 false, label %UnifiedReturnBlock, label %cond_true1366
cond_true1366: ; preds = %cond_next1363
br label %UnifiedReturnBlock
bb1388: ; preds = %cond_next1355
- br bool false, label %UnifiedReturnBlock, label %bb1414.preheader
+ br i1 false, label %UnifiedReturnBlock, label %bb1414.preheader
bb1414.preheader: ; preds = %bb1388
br label %bb1414
bb1414: ; preds = %cond_true1426, %bb1414.preheader
- br bool false, label %cond_true1426, label %bb1429
+ br i1 false, label %cond_true1426, label %bb1429
cond_true1426: ; preds = %bb1414
br label %bb1414
bb1429: ; preds = %bb1414
- br bool false, label %cond_true1431, label %UnifiedReturnBlock
+ br i1 false, label %cond_true1431, label %UnifiedReturnBlock
cond_true1431: ; preds = %bb1429
- br bool false, label %UnifiedReturnBlock, label %cond_true1434
+ br i1 false, label %UnifiedReturnBlock, label %cond_true1434
cond_true1434: ; preds = %cond_true1431
br label %UnifiedReturnBlock
diff --git a/test/Transforms/CondProp/2006-11-01-PhiNodeCrash.ll b/test/Transforms/CondProp/2006-11-01-PhiNodeCrash.ll
index 5221319f9a..573ee6cadd 100644
--- a/test/Transforms/CondProp/2006-11-01-PhiNodeCrash.ll
+++ b/test/Transforms/CondProp/2006-11-01-PhiNodeCrash.ll
@@ -1,224 +1,221 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -condprop -disable-output
+; RUN: llvm-as < %s | opt -condprop -disable-output
; PR979
+
target datalayout = "e-p:32:32"
-target endian = little
-target pointersize = 32
target triple = "i686-pc-linux-gnu"
deplibs = [ "c", "crtend" ]
- %struct.IO_APIC_reg_00 = type { uint }
- %struct.Qdisc = type { int (%struct.sk_buff*, %struct.Qdisc*)*, %struct.sk_buff* (%struct.Qdisc*)*, uint, %struct.Qdisc_ops*, %struct.Qdisc*, uint, %struct.bluez_skb_cb, %struct.sk_buff_head, %struct.net_device*, %struct.tc_stats, int (%struct.sk_buff*, %struct.Qdisc*)*, %struct.Qdisc*, [1 x sbyte] }
- %struct.Qdisc_class_ops = type { int (%struct.Qdisc*, uint, %struct.Qdisc*, %struct.Qdisc**)*, %struct.Qdisc* (%struct.Qdisc*, uint)*, uint (%struct.Qdisc*, uint)*, void (%struct.Qdisc*, uint)*, int (%struct.Qdisc*, uint, uint, %struct._agp_version**, uint*)*, int (%struct.Qdisc*, uint)*, void (%struct.Qdisc*, %struct.qdisc_walker*)*, %struct.tcf_proto** (%struct.Qdisc*, uint)*, uint (%struct.Qdisc*, uint, uint)*, void (%struct.Qdisc*, uint)*, int (%struct.Qdisc*, uint, %struct.sk_buff*, %struct.tcmsg*)* }
- %struct.Qdisc_ops = type { %struct.Qdisc_ops*, %struct.Qdisc_class_ops*, [16 x sbyte], int, int (%struct.sk_buff*, %struct.Qdisc*)*, %struct.sk_buff* (%struct.Qdisc*)*, int (%struct.sk_buff*, %struct.Qdisc*)*, uint (%struct.Qdisc*)*, int (%struct.Qdisc*, %struct._agp_version*)*, void (%struct.Qdisc*)*, void (%struct.Qdisc*)*, int (%struct.Qdisc*, %struct._agp_version*)*, int (%struct.Qdisc*, %struct.sk_buff*)* }
- %struct.ViceFid = type { uint, uint, uint }
- %struct.__wait_queue = type { uint, %struct.task_struct*, %struct.list_head }
+ %struct.IO_APIC_reg_00 = type { i32 }
+ %struct.Qdisc = type { i32 (%struct.sk_buff*, %struct.Qdisc*)*, %struct.sk_buff* (%struct.Qdisc*)*, i32, %struct.Qdisc_ops*, %struct.Qdisc*, i32, %struct.IO_APIC_reg_00, %struct.sk_buff_head, %struct.net_device*, %struct.tc_stats, i32 (%struct.sk_buff*, %struct.Qdisc*)*, %struct.Qdisc*, [1 x i8] }
+ %struct.Qdisc_class_ops = type { i32 (%struct.Qdisc*, i32, %struct.Qdisc*, %struct.Qdisc**)*, %struct.Qdisc* (%struct.Qdisc*, i32)*, i32 (%struct.Qdisc*, i32)*, void (%struct.Qdisc*, i32)*, i32 (%struct.Qdisc*, i32, i32, %struct._agp_version**, i32*)*, i32 (%struct.Qdisc*, i32)*, void (%struct.Qdisc*, %struct.qdisc_walker*)*, %struct.tcf_proto** (%struct.Qdisc*, i32)*, i32 (%struct.Qdisc*, i32, i32)*, void (%struct.Qdisc*, i32)*, i32 (%struct.Qdisc*, i32, %struct.sk_buff*, %struct.tcmsg*)* }
+ %struct.Qdisc_ops = type { %struct.Qdisc_ops*, %struct.Qdisc_class_ops*, [16 x i8], i32, i32 (%struct.sk_buff*, %struct.Qdisc*)*, %struct.sk_buff* (%struct.Qdisc*)*, i32 (%struct.sk_buff*, %struct.Qdisc*)*, i32 (%struct.Qdisc*)*, i32 (%struct.Qdisc*, %struct._agp_version*)*, void (%struct.Qdisc*)*, void (%struct.Qdisc*)*, i32 (%struct.Qdisc*, %struct._agp_version*)*, i32 (%struct.Qdisc*, %struct.sk_buff*)* }
+ %struct.ViceFid = type { i32, i32, i32 }
+ %struct.__wait_queue = type { i32, %struct.task_struct*, %struct.list_head }
%struct.__wait_queue_head = type { %struct.IO_APIC_reg_00, %struct.list_head }
- %struct._agp_version = type { ushort, ushort }
- %struct._drm_i810_overlay_t = type { uint, uint }
- %struct.address_space = type { %struct.list_head, %struct.list_head, %struct.list_head, uint, %struct.address_space_operations*, %struct.inode*, %struct.vm_area_struct*, %struct.vm_area_struct*, %struct.IO_APIC_reg_00, int }
- %struct.address_space_operations = type { int (%struct.page*)*, int (%struct.file*, %struct.page*)*, int (%struct.page*)*, int (%struct.file*, %struct.page*, uint, uint)*, int (%struct.file*, %struct.page*, uint, uint)*, int (%struct.address_space*, int)*, int (%struct.page*, uint)*, int (%struct.page*, int)*, int (int, %struct.inode*, %struct.kiobuf*, uint, int)*, int (int, %struct.file*, %struct.kiobuf*, uint, int)*, void (%struct.page*)* }
- %struct.audio_buf_info = type { int, int, int, int }
- %struct.autofs_packet_hdr = type { int, int }
- %struct.block_device = type { %struct.list_head, %struct.bluez_skb_cb, %struct.inode*, ushort, int, %struct.block_device_operations*, %struct.semaphore, %struct.list_head }
- %struct.block_device_operations = type { int (%struct.inode*, %struct.file*)*, int (%struct.inode*, %struct.file*)*, int (%struct.inode*, %struct.file*, uint, uint)*, int (ushort)*, int (ushort)*, %struct.module* }
- %struct.bluez_skb_cb = type { int }
- %struct.buffer_head = type { %struct.buffer_head*, uint, ushort, ushort, ushort, %struct.bluez_skb_cb, ushort, uint, uint, %struct.buffer_head*, %struct.buffer_head*, %struct.buffer_head*, %struct.buffer_head*, %struct.buffer_head**, sbyte*, %struct.page*, void (%struct.buffer_head*, int)*, sbyte*, uint, %struct.__wait_queue_head, %struct.list_head }
- %struct.char_device = type { %struct.list_head, %struct.bluez_skb_cb, ushort, %struct.bluez_skb_cb, %struct.semaphore }
- %struct.completion = type { uint, %struct.__wait_queue_head }
- %struct.cramfs_info = type { uint, uint, uint, uint }
- %struct.dentry = type { %struct.bluez_skb_cb, uint, %struct.inode*, %struct.dentry*, %struct.list_head, %struct.list_head, %struct.list_head, %struct.list_head, %struct.list_head, int, %struct.qstr, uint, %struct.dentry_operations*, %struct.super_block*, uint, sbyte*, [16 x ubyte] }
- %struct.dentry_operations = type { int (%struct.dentry*, int)*, int (%struct.dentry*, %struct.qstr*)*, int (%struct.dentry*, %struct.qstr*, %struct.qstr*)*, int (%struct.dentry*)*, void (%struct.dentry*)*, void (%struct.dentry*, %struct.inode*)* }
- %struct.dev_mc_list = type { %struct.dev_mc_list*, [8 x ubyte], ubyte, int, int }
- %struct.dnotify_struct = type { %struct.dnotify_struct*, uint, int, %struct.file*, %struct.files_struct* }
- %struct.dquot = type { %struct.list_head, %struct.list_head, %struct.list_head, %struct.__wait_queue_head, %struct.__wait_queue_head, int, int, %struct.super_block*, uint, ushort, long, short, short, uint, %struct.mem_dqblk }
- %struct.dquot_operations = type { void (%struct.inode*, int)*, void (%struct.inode*)*, int (%struct.inode*, ulong, int)*, int (%struct.inode*, uint)*, void (%struct.inode*, ulong)*, void (%struct.inode*, uint)*, int (%struct.inode*, %struct.iattr*)*, int (%struct.dquot*)* }
- %struct.drm_clip_rect = type { ushort, ushort, ushort, ushort }
- %struct.drm_ctx_priv_map = type { uint, sbyte* }
- %struct.drm_mga_indices = type { int, uint, uint, int }
- %struct.dst_entry = type { %struct.dst_entry*, %struct.bluez_skb_cb, int, %struct.net_device*, int, int, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, int, %struct.neighbour*, %struct.hh_cache*, int (%struct.sk_buff*)*, int (%struct.sk_buff*)*, %struct.dst_ops*, [0 x sbyte] }
- %struct.dst_ops = type { ushort, ushort, uint, int ()*, %struct.dst_entry* (%struct.dst_entry*, uint)*, %struct.dst_entry* (%struct.dst_entry*, %struct.sk_buff*)*, void (%struct.dst_entry*)*, %struct.dst_entry* (%struct.dst_entry*)*, void (%struct.sk_buff*)*, int, %struct.bluez_skb_cb, %struct.kmem_cache_s* }
- %struct.e820entry = type { ulong, ulong, uint }
- %struct.exec_domain = type { sbyte*, void (int, %struct.pt_regs*)*, ubyte, ubyte, uint*, uint*, %struct.map_segment*, %struct.map_segment*, %struct.map_segment*, %struct.map_segment*, %struct.module*, %struct.exec_domain* }
- %struct.ext2_inode_info = type { [15 x uint], uint, uint, ubyte, ubyte, uint, uint, uint, uint, uint, uint, uint, uint, uint, int }
- %struct.ext3_inode_info = type { [15 x uint], uint, uint, uint, uint, uint, uint, uint, uint, uint, %struct.list_head, long, %struct.rw_semaphore }
- %struct.fasync_struct = type { int, int, %struct.fasync_struct*, %struct.file* }
- %struct.file = type { %struct.list_head, %struct.dentry*, %struct.vfsmount*, %struct.file_operations*, %struct.bluez_skb_cb, uint, ushort, long, uint, uint, uint, uint, uint, %struct.drm_mga_indices, uint, uint, int, uint, sbyte*, %struct.kiobuf*, int }
- %struct.file_lock = type { %struct.file_lock*, %struct.list_head, %struct.list_head, %struct.files_struct*, uint, %struct.__wait_queue_head, %struct.file*, ubyte, ubyte, long, long, void (%struct.file_lock*)*, void (%struct.file_lock*)*, void (%struct.file_lock*)*, %struct.fasync_struct*, uint, { %struct.nfs_lock_info } }
- %struct.file_operations = type { %struct.module*, long (%struct.file*, long, int)*, int (%struct.file*, sbyte*, uint, long*)*, int (%struct.file*, sbyte*, uint, long*)*, int (%struct.file*, sbyte*, int (sbyte*, sbyte*, int, long, uint, uint)*)*, uint (%struct.file*, %struct.poll_table_struct*)*, int (%struct.inode*, %struct.file*, uint, uint)*, int (%struct.file*, %struct.vm_area_struct*)*, int (%struct.inode*, %struct.file*)*, int (%struct.file*)*, int (%struct.inode*, %struct.file*)*, int (%struct.file*, %struct.dentry*, int)*, int (int, %struct.file*, int)*, int (%struct.file*, int, %struct.file_lock*)*, int (%struct.file*, %struct.iovec*, uint, long*)*, int (%struct.file*, %struct.iovec*, uint, long*)*, int (%struct.file*, %struct.page*, int, uint, long*, int)*, uint (%struct.file*, uint, uint, uint, uint)* }
- %struct.file_system_type = type { sbyte*, int, %struct.super_block* (%struct.super_block*, sbyte*, int)*, %struct.module*, %struct.file_system_type*, %struct.list_head }
- %struct.files_struct = type { %struct.bluez_skb_cb, %typedef.rwlock_t, int, int, int, %struct.file**, %typedef.__kernel_fd_set*, %typedef.__kernel_fd_set*, %typedef.__kernel_fd_set, %typedef.__kernel_fd_set, [32 x %struct.file*] }
- %struct.fs_disk_quota = type { sbyte, sbyte, ushort, uint, ulong, ulong, ulong, ulong, ulong, ulong, int, int, ushort, ushort, int, ulong, ulong, ulong, int, ushort, short, [8 x sbyte] }
- %struct.fs_quota_stat = type { sbyte, ushort, sbyte, %struct.e820entry, %struct.e820entry, uint, int, int, int, ushort, ushort }
- %struct.fs_struct = type { %struct.bluez_skb_cb, %typedef.rwlock_t, int, %struct.dentry*, %struct.dentry*, %struct.dentry*, %struct.vfsmount*, %struct.vfsmount*, %struct.vfsmount* }
- %struct.hh_cache = type { %struct.hh_cache*, %struct.bluez_skb_cb, ushort, int, int (%struct.sk_buff*)*, %typedef.rwlock_t, [32 x uint] }
- %struct.i387_fxsave_struct = type { ushort, ushort, ushort, ushort, int, int, int, int, int, int, [32 x int], [32 x int], [56 x int] }
- %struct.iattr = type { uint, ushort, uint, uint, long, int, int, int, uint }
- %struct.if_dqblk = type { ulong, ulong, ulong, ulong, ulong, ulong, ulong, ulong, uint }
- %struct.if_dqinfo = type { ulong, ulong, uint, uint }
- %struct.ifmap = type { uint, uint, ushort, ubyte, ubyte, ubyte }
- %struct.ifreq = type { { [16 x sbyte] }, %typedef.dvd_authinfo }
- %struct.inode = type { %struct.list_head, %struct.list_head, %struct.list_head, %struct.list_head, %struct.list_head, uint, %struct.bluez_skb_cb, ushort, ushort, ushort, uint, uint, ushort, long, int, int, int, uint, uint, uint, uint, ushort, %struct.semaphore, %struct.rw_semaphore, %struct.semaphore, %struct.inode_operations*, %struct.file_operations*, %struct.super_block*, %struct.__wait_queue_head, %struct.file_lock*, %struct.address_space*, %struct.address_space, [2 x %struct.dquot*], %struct.list_head, %struct.pipe_inode_info*, %struct.block_device*, %struct.char_device*, uint, %struct.dnotify_struct*, uint, uint, ubyte, %struct.bluez_skb_cb, uint, uint, { %struct.ext2_inode_info, %struct.ext3_inode_info, %struct.msdos_inode_info, %struct.iso_inode_info, %struct.nfs_inode_info, %struct._drm_i810_overlay_t, %struct.shmem_inode_info, %struct.proc_inode_info, %struct.socket, %struct.usbdev_inode_info, sbyte* } }
- %struct.inode_operations = type { int (%struct.inode*, %struct.dentry*, int)*, %struct.dentry* (%struct.inode*, %struct.dentry*)*, int (%struct.dentry*, %struct.inode*, %struct.dentry*)*, int (%struct.inode*, %struct.dentry*)*, int (%struct.inode*, %struct.dentry*, sbyte*)*, int (%struct.inode*, %struct.dentry*, int)*, int (%struct.inode*, %struct.dentry*)*, int (%struct.inode*, %struct.dentry*, int, int)*, int (%struct.inode*, %struct.dentry*, %struct.inode*, %struct.dentry*)*, int (%struct.dentry*, sbyte*, int)*, int (%struct.dentry*, %struct.nameidata*)*, void (%struct.inode*)*, int (%struct.inode*, int)*, int (%struct.dentry*)*, int (%struct.dentry*, %struct.iattr*)*, int (%struct.dentry*, %struct.iattr*)*, int (%struct.dentry*, sbyte*, sbyte*, uint, int)*, int (%struct.dentry*, sbyte*, sbyte*, uint)*, int (%struct.dentry*, sbyte*, uint)*, int (%struct.dentry*, sbyte*)* }
- %struct.iovec = type { sbyte*, uint }
- %struct.ip_options = type { uint, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, [0 x ubyte] }
- %struct.isapnp_dma = type { ubyte, ubyte, %struct.isapnp_resources*, %struct.isapnp_dma* }
- %struct.isapnp_irq = type { ushort, ubyte, ubyte, %struct.isapnp_resources*, %struct.isapnp_irq* }
- %struct.isapnp_mem = type { uint, uint, uint, uint, ubyte, ubyte, %struct.isapnp_resources*, %struct.isapnp_mem* }
- %struct.isapnp_mem32 = type { [17 x ubyte], %struct.isapnp_resources*, %struct.isapnp_mem32* }
- %struct.isapnp_port = type { ushort, ushort, ubyte, ubyte, ubyte, ubyte, %struct.isapnp_resources*, %struct.isapnp_port* }
- %struct.isapnp_resources = type { ushort, ushort, %struct.isapnp_port*, %struct.isapnp_irq*, %struct.isapnp_dma*, %struct.isapnp_mem*, %struct.isapnp_mem32*, %struct.pci_dev*, %struct.isapnp_resources*, %struct.isapnp_resources* }
- %struct.iso_inode_info = type { uint, ubyte, [3 x ubyte], uint, int }
+ %struct._agp_version = type { i16, i16 }
+ %struct._drm_i810_overlay_t = type { i32, i32 }
+ %struct.address_space = type { %struct.list_head, %struct.list_head, %struct.list_head, i32, %struct.address_space_operations*, %struct.inode*, %struct.vm_area_struct*, %struct.vm_area_struct*, %struct.IO_APIC_reg_00, i32 }
+ %struct.address_space_operations = type { i32 (%struct.page*)*, i32 (%struct.file*, %struct.page*)*, i32 (%struct.page*)*, i32 (%struct.file*, %struct.page*, i32, i32)*, i32 (%struct.file*, %struct.page*, i32, i32)*, i32 (%struct.address_space*, i32)*, i32 (%struct.page*, i32)*, i32 (%struct.page*, i32)*, i32 (i32, %struct.inode*, %struct.kiobuf*, i32, i32)*, i32 (i32, %struct.file*, %struct.kiobuf*, i32, i32)*, void (%struct.page*)* }
+ %struct.audio_buf_info = type { i32, i32, i32, i32 }
+ %struct.autofs_packet_hdr = type { i32, i32 }
+ %struct.block_device = type { %struct.list_head, %struct.IO_APIC_reg_00, %struct.inode*, i16, i32, %struct.block_device_operations*, %struct.semaphore, %struct.list_head }
+ %struct.block_device_operations = type { i32 (%struct.inode*, %struct.file*)*, i32 (%struct.inode*, %struct.file*)*, i32 (%struct.inode*, %struct.file*, i32, i32)*, i32 (i16)*, i32 (i16)*, %struct.module* }
+ %struct.bluez_skb_cb = type { i32 }
+ %struct.buffer_head = type { %struct.buffer_head*, i32, i16, i16, i16, %struct.IO_APIC_reg_00, i16, i32, i32, %struct.buffer_head*, %struct.buffer_head*, %struct.buffer_head*, %struct.buffer_head*, %struct.buffer_head**, i8*, %struct.page*, void (%struct.buffer_head*, i32)*, i8*, i32, %struct.__wait_queue_head, %struct.list_head }
+ %struct.char_device = type { %struct.list_head, %struct.IO_APIC_reg_00, i16, %struct.IO_APIC_reg_00, %struct.semaphore }
+ %struct.completion = type { i32, %struct.__wait_queue_head }
+ %struct.cramfs_info = type { i32, i32, i32, i32 }
+ %struct.dentry = type { %struct.IO_APIC_reg_00, i32, %struct.inode*, %struct.dentry*, %struct.list_head, %struct.list_head, %struct.list_head, %struct.list_head, %struct.list_head, i32, %struct.qstr, i32, %struct.dentry_operations*, %struct.super_block*, i32, i8*, [16 x i8] }
+ %struct.dentry_operations = type { i32 (%struct.dentry*, i32)*, i32 (%struct.dentry*, %struct.qstr*)*, i32 (%struct.dentry*, %struct.qstr*, %struct.qstr*)*, i32 (%struct.dentry*)*, void (%struct.dentry*)*, void (%struct.dentry*, %struct.inode*)* }
+ %struct.dev_mc_list = type { %struct.dev_mc_list*, [8 x i8], i8, i32, i32 }
+ %struct.dnotify_struct = type { %struct.dnotify_struct*, i32, i32, %struct.file*, %struct.files_struct* }
+ %struct.dquot = type { %struct.list_head, %struct.list_head, %struct.list_head, %struct.__wait_queue_head, %struct.__wait_queue_head, i32, i32, %struct.super_block*, i32, i16, i64, i16, i16, i32, %struct.mem_dqblk }
+ %struct.dquot_operations = type { void (%struct.inode*, i32)*, void (%struct.inode*)*, i32 (%struct.inode*, i64, i32)*, i32 (%struct.inode*, i32)*, void (%struct.inode*, i64)*, void (%struct.inode*, i32)*, i32 (%struct.inode*, %struct.iattr*)*, i32 (%struct.dquot*)* }
+ %struct.drm_clip_rect = type { i16, i16, i16, i16 }
+ %struct.drm_ctx_priv_map = type { i32, i8* }
+ %struct.drm_mga_indices = type { i32, i32, i32, i32 }
+ %struct.dst_entry = type { %struct.dst_entry*, %struct.IO_APIC_reg_00, i32, %struct.net_device*, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, %struct.neighbour*, %struct.hh_cache*, i32 (%struct.sk_buff*)*, i32 (%struct.sk_buff*)*, %struct.dst_ops*, [0 x i8] }
+ %struct.dst_ops = type { i16, i16, i32, i32 ()*, %struct.dst_entry* (%struct.dst_entry*, i32)*, %struct.dst_entry* (%struct.dst_entry*, %struct.sk_buff*)*, void (%struct.dst_entry*)*, %struct.dst_entry* (%struct.dst_entry*)*, void (%struct.sk_buff*)*, i32, %struct.IO_APIC_reg_00, %struct.kmem_cache_s* }
+ %struct.e820entry = type { i64, i64, i32 }
+ %struct.exec_domain = type { i8*, void (i32, %struct.pt_regs*)*, i8, i8, i32*, i32*, %struct.map_segment*, %struct.map_segment*, %struct.map_segment*, %struct.map_segment*, %struct.module*, %struct.exec_domain* }
+ %struct.ext2_inode_info = type { [15 x i32], i32, i32, i8, i8, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 }
+ %struct.ext3_inode_info = type { [15 x i32], i32, i32, i32, i32, i32, i32, i32, i32, i32, %struct.list_head, i64, %struct.rw_semaphore }
+ %struct.fasync_struct = type { i32, i32, %struct.fasync_struct*, %struct.file* }
+ %struct.file = type { %struct.list_head, %struct.dentry*, %struct.vfsmount*, %struct.file_operations*, %struct.IO_APIC_reg_00, i32, i16, i64, i32, i32, i32, i32, i32, %struct.audio_buf_info, i32, i32, i32, i32, i8*, %struct.kiobuf*, i32 }
+ %struct.file_lock = type { %struct.file_lock*, %struct.list_head, %struct.list_head, %struct.files_struct*, i32, %struct.__wait_queue_head, %struct.file*, i8, i8, i64, i64, void (%struct.file_lock*)*, void (%struct.file_lock*)*, void (%struct.file_lock*)*, %struct.fasync_struct*, i32, { %struct.nfs_lock_info } }
+ %struct.file_operations = type { %struct.module*, i64 (%struct.file*, i64, i32)*, i32 (%struct.file*, i8*, i32, i64*)*, i32 (%struct.file*, i8*, i32, i64*)*, i32 (%struct.file*, i8*, i32 (i8*, i8*, i32, i64, i32, i32)*)*, i32 (%struct.file*, %struct.poll_table_struct*)*, i32 (%struct.inode*, %struct.file*, i32, i32)*, i32 (%struct.file*, %struct.vm_area_struct*)*, i32 (%struct.inode*, %struct.file*)*, i32 (%struct.file*)*, i32 (%struct.inode*, %struct.file*)*, i32 (%struct.file*, %struct.dentry*, i32)*, i32 (i32, %struct.file*, i32)*, i32 (%struct.file*, i32, %struct.file_lock*)*, i32 (%struct.file*, %struct.iovec*, i32, i64*)*, i32 (%struct.file*, %struct.iovec*, i32, i64*)*, i32 (%struct.file*, %struct.page*, i32, i32, i64*, i32)*, i32 (%struct.file*, i32, i32, i32, i32)* }
+ %struct.file_system_type = type { i8*, i32, %struct.super_block* (%struct.super_block*, i8*, i32)*, %struct.module*, %struct.file_system_type*, %struct.list_head }
+ %struct.files_struct = type { %struct.IO_APIC_reg_00, %typedef.rwlock_t, i32, i32, i32, %struct.file**, %typedef.__kernel_fd_set*, %typedef.__kernel_fd_set*, %typedef.__kernel_fd_set, %typedef.__kernel_fd_set, [32 x %struct.file*] }
+ %struct.fs_disk_quota = type { i8, i8, i16, i32, i64, i64, i64, i64, i64, i64, i32, i32, i16, i16, i32, i64, i64, i64, i32, i16, i16, [8 x i8] }
+ %struct.fs_quota_stat = type { i8, i16, i8, %struct.e820entry, %struct.e820entry, i32, i32, i32, i32, i16, i16 }
+ %struct.fs_struct = type { %struct.IO_APIC_reg_00, %typedef.rwlock_t, i32, %struct.dentry*, %struct.dentry*, %struct.dentry*, %struct.vfsmount*, %struct.vfsmount*, %struct.vfsmount* }
+ %struct.hh_cache = type { %struct.hh_cache*, %struct.IO_APIC_reg_00, i16, i32, i32 (%struct.sk_buff*)*, %typedef.rwlock_t, [32 x i32] }
+ %struct.i387_fxsave_struct = type { i16, i16, i16, i16, i32, i32, i32, i32, i32, i32, [32 x i32], [32 x i32], [56 x i32] }
+ %struct.iattr = type { i32, i16, i32, i32, i64, i32, i32, i32, i32 }
+ %struct.if_dqblk = type { i64, i64, i64, i64, i64, i64, i64, i64, i32 }
+ %struct.if_dqinfo = type { i64, i64, i32, i32 }
+ %struct.ifmap = type { i32, i32, i16, i8, i8, i8 }
+ %struct.ifreq = type { { [16 x i8] }, %typedef.dvd_authinfo }
+ %struct.inode = type { %struct.list_head, %struct.list_head, %struct.list_head, %struct.list_head, %struct.list_head, i32, %struct.IO_APIC_reg_00, i16, i16, i16, i32, i32, i16, i64, i32, i32, i32, i32, i32, i32, i32, i16, %struct.semaphore, %struct.rw_semaphore, %struct.semaphore, %struct.inode_operations*, %struct.file_operations*, %struct.super_block*, %struct.__wait_queue_head, %struct.file_lock*, %struct.address_space*, %struct.address_space, [2 x %struct.dquot*], %struct.list_head, %struct.pipe_inode_info*, %struct.block_device*, %struct.char_device*, i32, %struct.dnotify_struct*, i32, i32, i8, %struct.IO_APIC_reg_00, i32, i32, { %struct.ext2_inode_info, %struct.ext3_inode_info, %struct.msdos_inode_info, %struct.iso_inode_info, %struct.nfs_inode_info, %struct._drm_i810_overlay_t, %struct.shmem_inode_info, %struct.proc_inode_info, %struct.socket, %struct.usbdev_inode_info, i8* } }
+ %struct.inode_operations = type { i32 (%struct.inode*, %struct.dentry*, i32)*, %struct.dentry* (%struct.inode*, %struct.dentry*)*, i32 (%struct.dentry*, %struct.inode*, %struct.dentry*)*, i32 (%struct.inode*, %struct.dentry*)*, i32 (%struct.inode*, %struct.dentry*, i8*)*, i32 (%struct.inode*, %struct.dentry*, i32)*, i32 (%struct.inode*, %struct.dentry*)*, i32 (%struct.inode*, %struct.dentry*, i32, i32)*, i32 (%struct.inode*, %struct.dentry*, %struct.inode*, %struct.dentry*)*, i32 (%struct.dentry*, i8*, i32)*, i32 (%struct.dentry*, %struct.nameidata*)*, void (%struct.inode*)*, i32 (%struct.inode*, i32)*, i32 (%struct.dentry*)*, i32 (%struct.dentry*, %struct.iattr*)*, i32 (%struct.dentry*, %struct.iattr*)*, i32 (%struct.dentry*, i8*, i8*, i32, i32)*, i32 (%struct.dentry*, i8*, i8*, i32)*, i32 (%struct.dentry*, i8*, i32)*, i32 (%struct.dentry*, i8*)* }
+ %struct.iovec = type { i8*, i32 }
+ %struct.ip_options = type { i32, i8, i8, i8, i8, i8, i8, i8, i8, [0 x i8] }
+ %struct.isapnp_dma = type { i8, i8, %struct.isapnp_resources*, %struct.isapnp_dma* }
+ %struct.isapnp_irq = type { i16, i8, i8, %struct.isapnp_resources*, %struct.isapnp_irq* }
+ %struct.isapnp_mem = type { i32, i32, i32, i32, i8, i8, %struct.isapnp_resources*, %struct.isapnp_mem* }
+ %struct.isapnp_mem32 = type { [17 x i8], %struct.isapnp_resources*, %struct.isapnp_mem32* }
+ %struct.isapnp_port = type { i16, i16, i8, i8, i8, i8, %struct.isapnp_resources*, %struct.isapnp_port* }
+ %struct.isapnp_resources = type { i16, i16, %struct.isapnp_port*, %struct.isapnp_irq*, %struct.isapnp_dma*, %struct.isapnp_mem*, %struct.isapnp_mem32*, %struct.pci_dev*, %struct.isapnp_resources*, %struct.isapnp_resources* }
+ %struct.iso_inode_info = type { i32, i8, [3 x i8], i32, i32 }
%struct.iw_handler_def = type opaque
%struct.iw_statistics = type opaque
%struct.k_sigaction = type { %struct.sigaction }
- %struct.kern_ipc_perm = type { int, uint, uint, uint, uint, ushort, uint }
- %struct.kiobuf = type { int, int, int, int, uint, %struct.page**, %struct.buffer_head**, uint*, %struct.bluez_skb_cb, int, void (%struct.kiobuf*)*, %struct.__wait_queue_head }
- %struct.kmem_cache_s = type { %struct.list_head, %struct.list_head, %struct.list_head, uint, uint, uint, %struct.IO_APIC_reg_00, uint, uint, uint, uint, uint, uint, %struct.kmem_cache_s*, uint, uint, void (sbyte*, %struct.kmem_cache_s*, uint)*, void (sbyte*, %struct.kmem_cache_s*, uint)*, uint, [20 x sbyte], %struct.list_head, [32 x %struct._drm_i810_overlay_t*], uint }
- %struct.linux_binfmt = type { %struct.linux_binfmt*, %struct.module*, int (%struct.linux_binprm*, %struct.pt_regs*)*, int (%struct.file*)*, int (int, %struct.pt_regs*, %struct.file*)*, uint, int (%struct.linux_binprm*, sbyte*)* }
- %struct.linux_binprm = type { [128 x sbyte], [32 x %struct.page*], uint, int, %struct.file*, int, int, uint, uint, uint, int, int, sbyte*, uint, uint }
+ %struct.kern_ipc_perm = type { i32, i32, i32, i32, i32, i16, i32 }
+ %struct.kiobuf = type { i32, i32, i32, i32, i32, %struct.page**, %struct.buffer_head**, i32*, %struct.IO_APIC_reg_00, i32, void (%struct.kiobuf*)*, %struct.__wait_queue_head }
+ %struct.kmem_cache_s = type { %struct.list_head, %struct.list_head, %struct.list_head, i32, i32, i32, %struct.IO_APIC_reg_00, i32, i32, i32, i32, i32, i32, %struct.kmem_cache_s*, i32, i32, void (i8*, %struct.kmem_cache_s*, i32)*, void (i8*, %struct.kmem_cache_s*, i32)*, i32, [20 x i8], %struct.list_head, [32 x %struct._drm_i810_overlay_t*], i32 }
+ %struct.linux_binfmt = type { %struct.linux_binfmt*, %struct.module*, i32 (%struct.linux_binprm*, %struct.pt_regs*)*, i32 (%struct.file*)*, i32 (i32, %struct.pt_regs*, %struct.file*)*, i32, i32 (%struct.linux_binprm*, i8*)* }
+ %struct.linux_binprm = type { [128 x i8], [32 x %struct.page*], i32, i32, %struct.file*, i32, i32, i32, i32, i32, i32, i32, i8*, i32, i32 }
%struct.list_head = type { %struct.list_head*, %struct.list_head* }
- %struct.llva_sigcontext = type { %typedef.llva_icontext_t, %typedef.llva_fp_state_t, uint, uint, uint, uint, [1 x uint], sbyte* }
+ %struct.llva_sigcontext = type { %typedef.llva_icontext_t, %typedef.llva_fp_state_t, i32, i32, i32, i32, [1 x i32], i8* }
%struct.map_segment = type opaque
- %struct.mem_dqblk = type { uint, uint, ulong, uint, uint, uint, int, int }
- %struct.mem_dqinfo = type { %struct.quota_format_type*, int, uint, uint, { %struct.ViceFid } }
- %struct.mm_struct = type { %struct.vm_area_struct*, %struct.rb_root_s, %struct.vm_area_struct*, %struct.IO_APIC_reg_00*, %struct.bluez_skb_cb, %struct.bluez_skb_cb, int, %struct.rw_semaphore, %struct.IO_APIC_reg_00, %struct.list_head, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, %struct.iovec }
- %struct.module = type { uint, %struct.module*, sbyte*, uint, %struct.bluez_skb_cb, uint, uint, uint, %struct.drm_ctx_priv_map*, %struct.module_ref*, %struct.module_ref*, int ()*, void ()*, %struct._drm_i810_overlay_t*, %struct._drm_i810_overlay_t*, %struct.module_persist*, %struct.module_persist*, int ()*, int, sbyte*, sbyte*, sbyte*, sbyte*, sbyte* }
+ %struct.mem_dqblk = type { i32, i32, i64, i32, i32, i32, i32, i32 }
+ %struct.mem_dqinfo = type { %struct.quota_format_type*, i32, i32, i32, { %struct.ViceFid } }
+ %struct.mm_struct = type { %struct.vm_area_struct*, %struct.rb_root_s, %struct.vm_area_struct*, %struct.IO_APIC_reg_00*, %struct.IO_APIC_reg_00, %struct.IO_APIC_reg_00, i32, %struct.rw_semaphore, %struct.IO_APIC_reg_00, %struct.list_head, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, %struct.iovec }
+ %struct.module = type { i32, %struct.module*, i8*, i32, %struct.IO_APIC_reg_00, i32, i32, i32, %struct.drm_ctx_priv_map*, %struct.module_ref*, %struct.module_ref*, i32 ()*, void ()*, %struct._drm_i810_overlay_t*, %struct._drm_i810_overlay_t*, %struct.module_persist*, %struct.module_persist*, i32 ()*, i32, i8*, i8*, i8*, i8*, i8* }
%struct.module_persist = type opaque
%struct.module_ref = type { %struct.module*, %struct.module*, %struct.module_ref* }
- %struct.msdos_inode_info = type { uint, int, int, int, int, int, %struct.inode*, %struct.list_head }
- %struct.msghdr = type { sbyte*, int, %struct.iovec*, uint, sbyte*, uint, uint }
- %struct.msq_setbuf = type { uint, uint, uint, ushort }
- %struct.nameidata = type { %struct.dentry*, %struct.vfsmount*, %struct.qstr, uint, int }
- %struct.namespace = type { %struct.bluez_skb_cb, %struct.vfsmount*, %struct.list_head, %struct.rw_semaphore }
- %struct.neigh_ops = type { int, void (%struct.neighbour*)*, void (%struct.neighbour*, %struct.sk_buff*)*, void (%struct.neighbour*, %struct.sk_buff*)*, int (%struct.sk_buff*)*, int (%struct.sk_buff*)*, int (%struct.sk_buff*)*, int (%struct.sk_buff*)* }
- %struct.neigh_parms = type { %struct.neigh_parms*, int (%struct.neighbour*)*, %struct.neigh_table*, int, sbyte*, sbyte*, int, int, int, int, int, int, int, int, int, int, int, int, int }
- %struct.neigh_table = type { %struct.neigh_table*, int, int, int, uint (sbyte*, %struct.net_device*)*, int (%struct.neighbour*)*, int (%struct.pneigh_entry*)*, void (%struct.pneigh_entry*)*, void (%struct.sk_buff*)*, sbyte*, %struct.neigh_parms, int, int, int, int, uint, %struct.timer_list, %struct.timer_list, %struct.sk_buff_head, int, %typedef.rwlock_t, uint, %struct.neigh_parms*, %struct.kmem_cache_s*, %struct.tasklet_struct, %struct.cramfs_info, [32 x %struct.neighbour*], [16 x %struct.pneigh_entry*] }
- %struct.neighbour = type { %struct.neighbour*, %struct.neigh_table*, %struct.neigh_parms*, %struct.net_device*, uint, uint, uint, ubyte, ubyte, ubyte, ubyte, %struct.bluez_skb_cb, %typedef.rwlock_t, [8 x ubyte], %struct.hh_cache*, %struct.bluez_skb_cb, int (%struct.sk_buff*)*, %struct.sk_buff_head, %struct.timer_list, %struct.neigh_ops*, [0 x ubyte] }
+ %struct.msdos_inode_info = type { i32, i32, i32, i32, i32, i32, %struct.inode*, %struct.list_head }
+ %struct.msghdr = type { i8*, i32, %struct.iovec*, i32, i8*, i32, i32 }
+ %struct.msq_setbuf = type { i32, i32, i32, i16 }
+ %struct.nameidata = type { %struct.dentry*, %struct.vfsmount*, %struct.qstr, i32, i32 }
+ %struct.namespace = type { %struct.IO_APIC_reg_00, %struct.vfsmount*, %struct.list_head, %struct.rw_semaphore }
+ %struct.neigh_ops = type { i32, void (%struct.neighbour*)*, void (%struct.neighbour*, %struct.sk_buff*)*, void (%struct.neighbour*, %struct.sk_buff*)*, i32 (%struct.sk_buff*)*, i32 (%struct.sk_buff*)*, i32 (%struct.sk_buff*)*, i32 (%struct.sk_buff*)* }
+ %struct.neigh_parms = type { %struct.neigh_parms*, i32 (%struct.neighbour*)*, %struct.neigh_table*, i32, i8*, i8*, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 }
+ %struct.neigh_table = type { %struct.neigh_table*, i32, i32, i32, i32 (i8*, %struct.net_device*)*, i32 (%struct.neighbour*)*, i32 (%struct.pneigh_entry*)*, void (%struct.pneigh_entry*)*, void (%struct.sk_buff*)*, i8*, %struct.neigh_parms, i32, i32, i32, i32, i32, %struct.timer_list, %struct.timer_list, %struct.sk_buff_head, i32, %typedef.rwlock_t, i32, %struct.neigh_parms*, %struct.kmem_cache_s*, %struct.tasklet_struct, %struct.audio_buf_info, [32 x %struct.neighbour*], [16 x %struct.pneigh_entry*] }
+ %struct.neighbour = type { %struct.neighbour*, %struct.neigh_table*, %struct.neigh_parms*, %struct.net_device*, i32, i32, i32, i8, i8, i8, i8, %struct.IO_APIC_reg_00, %typedef.rwlock_t, [8 x i8], %struct.hh_cache*, %struct.IO_APIC_reg_00, i32 (%struct.sk_buff*)*, %struct.sk_buff_head, %struct.timer_list, %struct.neigh_ops*, [0 x i8] }
%struct.net_bridge_port = type opaque
- %struct.net_device = type { [16 x sbyte], uint, uint, uint, uint, uint, uint, ubyte, ubyte, uint, %struct.net_device*, int (%struct.net_device*)*, %struct.net_device*, int, int, %struct.net_device_stats* (%struct.net_device*)*, %struct.iw_statistics* (%struct.net_device*)*, %struct.iw_handler_def*, uint, uint, ushort, ushort, ushort, ushort, uint, ushort, ushort, sbyte*, %struct.net_device*, [8 x ubyte], [8 x ubyte], ubyte, %struct.dev_mc_list*, int, int, int, int, %struct.timer_list, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, %struct.list_head, int, int, %struct.Qdisc*, %struct.Qdisc*, %struct.Qdisc*, %struct.Qdisc*, uint, %struct.IO_APIC_reg_00, int, %struct.IO_APIC_reg_00, %struct.bluez_skb_cb, int, int, void (%struct.net_device*)*, void (%struct.net_device*)*, int (%struct.net_device*)*, int (%struct.net_device*)*, int (%struct.sk_buff*, %struct.net_device*)*, int (%struct.net_device*, int*)*, int (%struct.sk_buff*, %struct.net_device*, ushort, sbyte*, sbyte*, uint)*, int (%struct.sk_buff*)*, void (%struct.net_device*)*, int (%struct.net_device*, sbyte*)*, int (%struct.net_device*, %struct.ifreq*, int)*, int (%struct.net_device*, %struct.ifmap*)*, int (%struct.neighbour*, %struct.hh_cache*)*, void (%struct.hh_cache*, %struct.net_device*, ubyte*)*, int (%struct.net_device*, int)*, void (%struct.net_device*)*, void (%struct.net_device*, %struct.vlan_group*)*, void (%struct.net_device*, ushort)*, void (%struct.net_device*, ushort)*, int (%struct.sk_buff*, ubyte*)*, int (%struct.net_device*, %struct.neigh_parms*)*, int (%struct.net_device*, %struct.dst_entry*)*, %struct.module*, %struct.net_bridge_port* }
- %struct.net_device_stats = type { uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint }
- %struct.nf_conntrack = type { %struct.bluez_skb_cb, void (%struct.nf_conntrack*)* }
+ %struct.net_device = type { [16 x i8], i32, i32, i32, i32, i32, i32, i8, i8, i32, %struct.net_device*, i32 (%struct.net_device*)*, %struct.net_device*, i32, i32, %struct.net_device_stats* (%struct.net_device*)*, %struct.iw_statistics* (%struct.net_device*)*, %struct.iw_handler_def*, i32, i32, i16, i16, i16, i16, i32, i16, i16, i8*, %struct.net_device*, [8 x i8], [8 x i8], i8, %struct.dev_mc_list*, i32, i32, i32, i32, %struct.timer_list, i8*, i8*, i8*, i8*, i8*, %struct.list_head, i32, i32, %struct.Qdisc*, %struct.Qdisc*, %struct.Qdisc*, %struct.Qdisc*, i32, %struct.IO_APIC_reg_00, i32, %struct.IO_APIC_reg_00, %struct.IO_APIC_reg_00, i32, i32, void (%struct.net_device*)*, void (%struct.net_device*)*, i32 (%struct.net_device*)*, i32 (%struct.net_device*)*, i32 (%struct.sk_buff*, %struct.net_device*)*, i32 (%struct.net_device*, i32*)*, i32 (%struct.sk_buff*, %struct.net_device*, i16, i8*, i8*, i32)*, i32 (%struct.sk_buff*)*, void (%struct.net_device*)*, i32 (%struct.net_device*, i8*)*, i32 (%struct.net_device*, %struct.ifreq*, i32)*, i32 (%struct.net_device*, %struct.ifmap*)*, i32 (%struct.neighbour*, %struct.hh_cache*)*, void (%struct.hh_cache*, %struct.net_device*, i8*)*, i32 (%struct.net_device*, i32)*, void (%struct.net_device*)*, void (%struct.net_device*, %struct.vlan_group*)*, void (%struct.net_device*, i16)*, void (%struct.net_device*, i16)*, i32 (%struct.sk_buff*, i8*)*, i32 (%struct.net_device*, %struct.neigh_parms*)*, i32 (%struct.net_device*, %struct.dst_entry*)*, %struct.module*, %struct.net_bridge_port* }
+ %struct.net_device_stats = type { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 }
+ %struct.nf_conntrack = type { %struct.IO_APIC_reg_00, void (%struct.nf_conntrack*)* }
%struct.nf_ct_info = type { %struct.nf_conntrack* }
- %struct.nfs_fh = type { ushort, [64 x ubyte] }
- %struct.nfs_inode_info = type { ulong, %struct.nfs_fh, ushort, uint, ulong, ulong, ulong, uint, uint, uint, [2 x uint], %struct.list_head, %struct.list_head, %struct.list_head, %struct.list_head, uint, uint, uint, uint, %struct.rpc_cred* }
- %struct.nfs_lock_info = type { uint, uint, %struct.nlm_host* }
+ %struct.nfs_fh = type { i16, [64 x i8] }
+ %struct.nfs_inode_info = type { i64, %struct.nfs_fh, i16, i32, i64, i64, i64, i32, i32, i32, [2 x i32], %struct.list_head, %struct.list_head, %struct.list_head, %struct.list_head, i32, i32, i32, i32, %struct.rpc_cred* }
+ %struct.nfs_lock_info = type { i32, i32, %struct.nlm_host* }
%struct.nlm_host = type opaque
- %struct.open_request = type { %struct.open_request*, uint, uint, ushort, ushort, ubyte, ubyte, ushort, uint, uint, uint, uint, %struct.or_calltable*, %struct.sock*, { %struct.tcp_v4_open_req } }
- %struct.or_calltable = type { int, int (%struct.sock*, %struct.open_request*, %struct.dst_entry*)*, void (%struct.sk_buff*, %struct.open_request*)*, void (%struct.open_request*)*, void (%struct.sk_buff*)* }
- %struct.page = type { %struct.list_head, %struct.address_space*, uint, %struct.page*, %struct.bluez_skb_cb, uint, %struct.list_head, %struct.page**, %struct.buffer_head* }
- %struct.pci_bus = type { %struct.list_head, %struct.pci_bus*, %struct.list_head, %struct.list_head, %struct.pci_dev*, [4 x %struct.resource*], %struct.pci_ops*, sbyte*, %struct.proc_dir_entry*, ubyte, ubyte, ubyte, ubyte, [48 x sbyte], ushort, ushort, uint, ubyte, ubyte, ubyte, ubyte }
- %struct.pci_dev = type { %struct.list_head, %struct.list_head, %struct.pci_bus*, %struct.pci_bus*, sbyte*, %struct.proc_dir_entry*, uint, ushort, ushort, ushort, ushort, uint, ubyte, ubyte, %struct.pci_driver*, sbyte*, ulong, uint, [4 x ushort], [4 x ushort], uint, [12 x %struct.resource], [2 x %struct.resource], [2 x %struct.resource], [90 x sbyte], [8 x sbyte], int, int, ushort, ushort, int (%struct.pci_dev*)*, int (%struct.pci_dev*)*, int (%struct.pci_dev*)* }
- %struct.pci_device_id = type { uint, uint, uint, uint, uint, uint, uint }
- %struct.pci_driver = type { %struct.list_head, sbyte*, %struct.pci_device_id*, int (%struct.pci_dev*, %struct.pci_device_id*)*, void (%struct.pci_dev*)*, int (%struct.pci_dev*, uint)*, int (%struct.pci_dev*, uint)*, int (%struct.pci_dev*)*, int (%struct.pci_dev*, uint, int)* }
- %struct.pci_ops = type { int (%struct.pci_dev*, int, ubyte*)*, int (%struct.pci_dev*, int, ushort*)*, int (%struct.pci_dev*, int, uint*)*, int (%struct.pci_dev*, int, ubyte)*, int (%struct.pci_dev*, int, ushort)*, int (%struct.pci_dev*, int, uint)* }
- %struct.pipe_inode_info = type { %struct.__wait_queue_head, sbyte*, uint, uint, uint, uint, uint, uint, uint, uint }
- %struct.pneigh_entry = type { %struct.pneigh_entry*, %struct.net_device*, [0 x ubyte] }
+ %struct.open_request = type { %struct.open_request*, i32, i32, i16, i16, i8, i8, i16, i32, i32, i32, i32, %struct.or_calltable*, %struct.sock*, { %struct.tcp_v4_open_req } }
+ %struct.or_calltable = type { i32, i32 (%struct.sock*, %struct.open_request*, %struct.dst_entry*)*, void (%struct.sk_buff*, %struct.open_request*)*, void (%struct.open_request*)*, void (%struct.sk_buff*)* }
+ %struct.page = type { %struct.list_head, %struct.address_space*, i32, %struct.page*, %struct.IO_APIC_reg_00, i32, %struct.list_head, %struct.page**, %struct.buffer_head* }
+ %struct.pci_bus = type { %struct.list_head, %struct.pci_bus*, %struct.list_head, %struct.list_head, %struct.pci_dev*, [4 x %struct.resource*], %struct.pci_ops*, i8*, %struct.proc_dir_entry*, i8, i8, i8, i8, [48 x i8], i16, i16, i32, i8, i8, i8, i8 }
+ %struct.pci_dev = type { %struct.list_head, %struct.list_head, %struct.pci_bus*, %struct.pci_bus*, i8*, %struct.proc_dir_entry*, i32, i16, i16, i16, i16, i32, i8, i8, %struct.pci_driver*, i8*, i64, i32, [4 x i16], [4 x i16], i32, [12 x %struct.resource], [2 x %struct.resource], [2 x %struct.resource], [90 x i8], [8 x i8], i32, i32, i16, i16, i32 (%struct.pci_dev*)*, i32 (%struct.pci_dev*)*, i32 (%struct.pci_dev*)* }
+ %struct.pci_device_id = type { i32, i32, i32, i32, i32, i32, i32 }
+ %struct.pci_driver = type { %struct.list_head, i8*, %struct.pci_device_id*, i32 (%struct.pci_dev*, %struct.pci_device_id*)*, void (%struct.pci_dev*)*, i32 (%struct.pci_dev*, i32)*, i32 (%struct.pci_dev*, i32)*, i32 (%struct.pci_dev*)*, i32 (%struct.pci_dev*, i32, i32)* }
+ %struct.pci_ops = type { i32 (%struct.pci_dev*, i32, i8*)*, i32 (%struct.pci_dev*, i32, i16*)*, i32 (%struct.pci_dev*, i32, i32*)*, i32 (%struct.pci_dev*, i32, i8)*, i32 (%struct.pci_dev*, i32, i16)*, i32 (%struct.pci_dev*, i32, i32)* }
+ %struct.pipe_inode_info = type { %struct.__wait_queue_head, i8*, i32, i32, i32, i32, i32, i32, i32, i32 }
+ %struct.pneigh_entry = type { %struct.pneigh_entry*, %struct.net_device*, [0 x i8] }
%struct.poll_table_entry = type { %struct.file*, %struct.__wait_queue, %struct.__wait_queue_head* }
%struct.poll_table_page = type { %struct.poll_table_page*, %struct.poll_table_entry*, [0 x %struct.poll_table_entry] }
- %struct.poll_table_struct = type { int, %struct.poll_table_page* }
- %struct.proc_dir_entry = type { ushort, ushort, sbyte*, ushort, ushort, uint, uint, uint, %struct.inode_operations*, %struct.file_operations*, int (sbyte*, sbyte**, int, int)*, %struct.module*, %struct.proc_dir_entry*, %struct.proc_dir_entry*, %struct.proc_dir_entry*, sbyte*, int (sbyte*, sbyte**, int, int, int*, sbyte*)*, int (%struct.file*, sbyte*, uint, sbyte*)*, %struct.bluez_skb_cb, int, ushort }
- %struct.proc_inode_info = type { %struct.task_struct*, int, { int (%struct.task_struct*, sbyte*)* }, %struct.file* }
- %struct.proto = type { void (%struct.sock*, int)*, int (%struct.sock*, %struct.sockaddr*, int)*, int (%struct.sock*, int)*, %struct.sock* (%struct.sock*, int, int*)*, int (%struct.sock*, int, uint)*, int (%struct.sock*)*, int (%struct.sock*)*, void (%struct.sock*, int)*, int (%struct.sock*, int, int, sbyte*, int)*, int (%struct.sock*, int, int, sbyte*, int*)*, int (%struct.sock*, %struct.msghdr*, int)*, int (%struct.sock*, %struct.msghdr*, int, int, int, int*)*, int (%struct.sock*, %struct.sockaddr*, int)*, int (%struct.sock*, %struct.sk_buff*)*, void (%struct.sock*)*, void (%struct.sock*)*, int (%struct.sock*, ushort)*, [32 x sbyte], [32 x { int, [28 x ubyte] }] }
- %struct.proto_ops = type { int, int (%struct.socket*)*, int (%struct.socket*, %struct.sockaddr*, int)*, int (%struct.socket*, %struct.sockaddr*, int, int)*, int (%struct.socket*, %struct.socket*)*, int (%struct.socket*, %struct.socket*, int)*, int (%struct.socket*, %struct.sockaddr*, int*, int)*, uint (%struct.file*, %struct.socket*, %struct.poll_table_struct*)*, int (%struct.socket*, uint, uint)*, int (%struct.socket*, int)*, int (%struct.socket*, int)*, int (%struct.socket*, int, int, sbyte*, int)*, int (%struct.socket*, int, int, sbyte*, int*)*, int (%struct.socket*, %struct.msghdr*, int, %struct.scm_cookie*)*, int (%struct.socket*, %struct.msghdr*, int, int, %struct.scm_cookie*)*, int (%struct.file*, %struct.socket*, %struct.vm_area_struct*)*, int (%struct.socket*, %struct.page*, int, uint, int)* }
- %struct.pt_regs = type { int, int, int, int, int, int, int, int, int, int, int, int, int, int, int }
- %struct.qdisc_walker = type { int, int, int, int (%struct.Qdisc*, uint, %struct.qdisc_walker*)* }
- %struct.qstr = type { ubyte*, uint, uint }
- %struct.quota_format_ops = type { int (%struct.super_block*, int)*, int (%struct.super_block*, int)*, int (%struct.super_block*, int)*, int (%struct.super_block*, int)*, int (%struct.dquot*)*, int (%struct.dquot*)* }
- %struct.quota_format_type = type { int, %struct.quota_format_ops*, %struct.module*, %struct.quota_format_type* }
- %struct.quota_info = type { uint, %struct.semaphore, %struct.semaphore, [2 x %struct.file*], [2 x %struct.mem_dqinfo], [2 x %struct.quota_format_ops*] }
- %struct.quotactl_ops = type { int (%struct.super_block*, int, int, sbyte*)*, int (%struct.super_block*, int)*, int (%struct.super_block*, int)*, int (%struct.super_block*, int, %struct.if_dqinfo*)*, int (%struct.super_block*, int, %struct.if_dqinfo*)*, int (%struct.super_block*, int, uint, %struct.if_dqblk*)*, int (%struct.super_block*, int, uint, %struct.if_dqblk*)*, int (%struct.super_block*, %struct.fs_quota_stat*)*, int (%struct.super_block*, uint, int)*, int (%struct.super_block*, int, uint, %struct.fs_disk_quota*)*, int (%struct.super_block*, int, uint, %struct.fs_disk_quota*)* }
- %struct.rb_node_s = type { %struct.rb_node_s*, int, %struct.rb_node_s*, %struct.rb_node_s* }
+ %struct.poll_table_struct = type { i32, %struct.poll_table_page* }
+ %struct.proc_dir_entry = type { i16, i16, i8*, i16, i16, i32, i32, i32, %struct.inode_operations*, %struct.file_operations*, i32 (i8*, i8**, i32, i32)*, %struct.module*, %struct.proc_dir_entry*, %struct.proc_dir_entry*, %struct.proc_dir_entry*, i8*, i32 (i8*, i8**, i32, i32, i32*, i8*)*, i32 (%struct.file*, i8*, i32, i8*)*, %struct.IO_APIC_reg_00, i32, i16 }
+ %struct.proc_inode_info = type { %struct.task_struct*, i32, { i32 (%struct.task_struct*, i8*)* }, %struct.file* }
+ %struct.proto = type { void (%struct.sock*, i32)*, i32 (%struct.sock*, %struct.sockaddr*, i32)*, i32 (%struct.sock*, i32)*, %struct.sock* (%struct.sock*, i32, i32*)*, i32 (%struct.sock*, i32, i32)*, i32 (%struct.sock*)*, i32 (%struct.sock*)*, void (%struct.sock*, i32)*, i32 (%struct.sock*, i32, i32, i8*, i32)*, i32 (%struct.sock*, i32, i32, i8*, i32*)*, i32 (%struct.sock*, %struct.msghdr*, i32)*, i32 (%struct.sock*, %struct.msghdr*, i32, i32, i32, i32*)*, i32 (%struct.sock*, %struct.sockaddr*, i32)*, i32 (%struct.sock*, %struct.sk_buff*)*, void (%struct.sock*)*, void (%struct.sock*)*, i32 (%struct.sock*, i16)*, [32 x i8], [32 x { i32, [28 x i8] }] }
+ %struct.proto_ops = type { i32, i32 (%struct.socket*)*, i32 (%struct.socket*, %struct.sockaddr*, i32)*, i32 (%struct.socket*, %struct.sockaddr*, i32, i32)*, i32 (%struct.socket*, %struct.socket*)*, i32 (%struct.socket*, %struct.socket*, i32)*, i32 (%struct.socket*, %struct.sockaddr*, i32*, i32)*, i32 (%struct.file*, %struct.socket*, %struct.poll_table_struct*)*, i32 (%struct.socket*, i32, i32)*, i32 (%struct.socket*, i32)*, i32 (%struct.socket*, i32)*, i32 (%struct.socket*, i32, i32, i8*, i32)*, i32 (%struct.socket*, i32, i32, i8*, i32*)*, i32 (%struct.socket*, %struct.msghdr*, i32, %struct.scm_cookie*)*, i32 (%struct.socket*, %struct.msghdr*, i32, i32, %struct.scm_cookie*)*, i32 (%struct.file*, %struct.socket*, %struct.vm_area_struct*)*, i32 (%struct.socket*, %struct.page*, i32, i32, i32)* }
+ %struct.pt_regs = type { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 }
+ %struct.qdisc_walker = type { i32, i32, i32, i32 (%struct.Qdisc*, i32, %struct.qdisc_walker*)* }
+ %struct.qstr = type { i8*, i32, i32 }
+ %struct.quota_format_ops = type { i32 (%struct.super_block*, i32)*, i32 (%struct.super_block*, i32)*, i32 (%struct.super_block*, i32)*, i32 (%struct.super_block*, i32)*, i32 (%struct.dquot*)*, i32 (%struct.dquot*)* }
+ %struct.quota_format_type = type { i32, %struct.quota_format_ops*, %struct.module*, %struct.quota_format_type* }
+ %struct.quota_info = type { i32, %struct.semaphore, %struct.semaphore, [2 x %struct.file*], [2 x %struct.mem_dqinfo], [2 x %struct.quota_format_ops*] }
+ %struct.quotactl_ops = type { i32 (%struct.super_block*, i32, i32, i8*)*, i32 (%struct.super_block*, i32)*, i32 (%struct.super_block*, i32)*, i32 (%struct.super_block*, i32, %struct.if_dqinfo*)*, i32 (%struct.super_block*, i32, %struct.if_dqinfo*)*, i32 (%struct.super_block*, i32, i32, %struct.if_dqblk*)*, i32 (%struct.super_block*, i32, i32, %struct.if_dqblk*)*, i32 (%struct.super_block*, %struct.fs_quota_stat*)*, i32 (%struct.super_block*, i32, i32)*, i32 (%struct.super_block*, i32, i32, %struct.fs_disk_quota*)*, i32 (%struct.super_block*, i32, i32, %struct.fs_disk_quota*)* }
+ %struct.rb_node_s = type { %struct.rb_node_s*, i32, %struct.rb_node_s*, %struct.rb_node_s* }
%struct.rb_root_s = type { %struct.rb_node_s* }
- %struct.resource = type { sbyte*, uint, uint, uint, %struct.resource*, %struct.resource*, %struct.resource* }
- %struct.revectored_struct = type { [8 x uint] }
- %struct.rpc_auth = type { [8 x %struct.rpc_cred*], uint, uint, uint, uint, uint, %struct.rpc_authops* }
- %struct.rpc_authops = type { uint, sbyte*, %struct.rpc_auth* (%struct.rpc_clnt*)*, void (%struct.rpc_auth*)*, %struct.rpc_cred* (int)* }
- %struct.rpc_clnt = type { %struct.bluez_skb_cb, %struct.rpc_xprt*, %struct.rpc_procinfo*, uint, sbyte*, sbyte*, %struct.rpc_auth*, %struct.rpc_stat*, uint, uint, uint, %struct.rpc_rtt, %struct.msq_setbuf, %struct.rpc_wait_queue, int, [32 x sbyte] }
- %struct.rpc_cred = type { %struct.rpc_cred*, %struct.rpc_auth*, %struct.rpc_credops*, uint, %struct.bluez_skb_cb, ushort, uint, uint }
- %struct.rpc_credops = type { void (%struct.rpc_cred*)*, int (%struct.rpc_cred*, int)*, uint* (%struct.rpc_task*, uint*, int)*, int (%struct.rpc_task*)*, uint* (%struct.rpc_task*, uint*)* }
- %struct.rpc_message = type { uint, sbyte*, sbyte*, %struct.rpc_cred* }
- %struct.rpc_procinfo = type { sbyte*, int (sbyte*, uint*, sbyte*)*, int (sbyte*, uint*, sbyte*)*, uint, uint, uint }
- %struct.rpc_program = type { sbyte*, uint, uint, %struct.rpc_version**, %struct.rpc_stat* }
- %struct.rpc_rqst = type { %struct.rpc_xprt*, %struct.rpc_timeout, %struct.xdr_buf, %struct.xdr_buf, %struct.rpc_task*, uint, %struct.rpc_rqst*, int, int, %struct.list_head, %struct.xdr_buf, [2 x uint], uint, int, int, int }
- %struct.rpc_rtt = type { int, [5 x int], [5 x int], %struct.bluez_skb_cb }
- %struct.rpc_stat = type { %struct.rpc_program*, uint, uint, uint, uint, uint, uint, uint, uint, uint }
- %struct.rpc_task = type { %struct.list_head, uint, %struct.list_head, %struct.rpc_clnt*, %struct.rpc_rqst*, int, %struct.rpc_wait_queue*, %struct.rpc_message, uint*, ubyte, ubyte, ubyte, void (%struct.rpc_task*)*, void (%struct.rpc_task*)*, void (%struct.rpc_task*)*, void (%struct.rpc_task*)*, void (%struct.rpc_task*)*, sbyte*, %struct.timer_list, %struct.__wait_queue_head, uint, ushort, ubyte, uint, ushort }
- %struct.rpc_timeout = type { uint, uint, uint, uint, short, ubyte }
- %struct.rpc_version = type { uint, uint, %struct.rpc_procinfo* }
- %struct.rpc_wait_queue = type { %struct.list_head, sbyte* }
- %struct.rpc_xprt = type { %struct.socket*, %struct.sock*, %struct.rpc_timeout, %struct.sockaddr_in, int, uint, uint, uint, uint, %struct.rpc_wait_queue, %struct.rpc_wait_queue, %struct.rpc_wait_queue, %struct.rpc_wait_queue, %struct.rpc_rqst*, [16 x %struct.rpc_rqst], uint, ubyte, uint, uint, uint, uint, uint, uint, %struct.IO_APIC_reg_00, %struct.IO_APIC_reg_00, %struct.rpc_task*, %struct.list_head, void (%struct.sock*, int)*, void (%struct.sock*)*, void (%struct.sock*)*, %struct.__wait_queue_head }
- %struct.rw_semaphore = type { int, %struct.IO_APIC_reg_00, %struct.list_head }
- %struct.scm_cookie = type { %struct.ViceFid, %struct.scm_fp_list*, uint }
- %struct.scm_fp_list = type { int, [255 x %struct.file*] }
- %struct.sem_array = type { %struct.kern_ipc_perm, int, int, %struct.autofs_packet_hdr*, %struct.sem_queue*, %struct.sem_queue**, %struct.sem_undo*, uint }
- %struct.sem_queue = type { %struct.sem_queue*, %struct.sem_queue**, %struct.task_struct*, %struct.sem_undo*, int, int, %struct.sem_array*, int, %struct.sembuf*, int, int }
- %struct.sem_undo = type { %struct.sem_undo*, %struct.sem_undo*, int, short* }
- %struct.semaphore = type { %struct.bluez_skb_cb, int, %struct.__wait_queue_head }
- %struct.sembuf = type { ushort, short, short }
- %struct.seq_file = type { sbyte*, uint, uint, uint, long, %struct.semaphore, %struct.seq_operations*, sbyte* }
- %struct.seq_operations = type { sbyte* (%struct.seq_file*, long*)*, void (%struct.seq_file*, sbyte*)*, sbyte* (%struct.seq_file*, sbyte*, long*)*, int (%struct.seq_file*, sbyte*)* }
- %struct.shmem_inode_info = type { %struct.IO_APIC_reg_00, uint, [16 x %struct.IO_APIC_reg_00], sbyte**, uint, uint, %struct.list_head, %struct.inode* }
- %struct.sigaction = type { void (int)*, uint, void ()*, %typedef.sigset_t }
- %struct.siginfo = type { int, int, int, { [29 x int] } }
- %struct.signal_struct = type { %struct.bluez_skb_cb, [64 x %struct.k_sigaction], %struct.IO_APIC_reg_00 }
- %struct.sigpending = type { %struct.sigqueue*, %struct.sigqueue**, %typedef.sigset_t }
+ %struct.resource = type { i8*, i32, i32, i32, %struct.resource*, %struct.resource*, %struct.resource* }
+ %struct.revectored_struct = type { [8 x i32] }
+ %struct.rpc_auth = type { [8 x %struct.rpc_cred*], i32, i32, i32, i32, i32, %struct.rpc_authops* }
+ %struct.rpc_authops = type { i32, i8*, %struct.rpc_auth* (%struct.rpc_clnt*)*, void (%struct.rpc_auth*)*, %struct.rpc_cred* (i32)* }
+ %struct.rpc_clnt = type { %struct.IO_APIC_reg_00, %struct.rpc_xprt*, %struct.rpc_procinfo*, i32, i8*, i8*, %struct.rpc_auth*, %struct.rpc_stat*, i32, i32, i32, %struct.rpc_rtt, %struct.msq_setbuf, %struct.rpc_wait_queue, i32, [32 x i8] }
+ %struct.rpc_cred = type { %struct.rpc_cred*, %struct.rpc_auth*, %struct.rpc_credops*, i32, %struct.IO_APIC_reg_00, i16, i32, i32 }
+ %struct.rpc_credops = type { void (%struct.rpc_cred*)*, i32 (%struct.rpc_cred*, i32)*, i32* (%struct.rpc_task*, i32*, i32)*, i32 (%struct.rpc_task*)*, i32* (%struct.rpc_task*, i32*)* }
+ %struct.rpc_message = type { i32, i8*, i8*, %struct.rpc_cred* }
+ %struct.rpc_procinfo = type { i8*, i32 (i8*, i32*, i8*)*, i32 (i8*, i32*, i8*)*, i32, i32, i32 }
+ %struct.rpc_program = type { i8*, i32, i32, %struct.rpc_version**, %struct.rpc_stat* }
+ %struct.rpc_rqst = type { %struct.rpc_xprt*, %struct.rpc_timeout, %struct.xdr_buf, %struct.xdr_buf, %struct.rpc_task*, i32, %struct.rpc_rqst*, i32, i32, %struct.list_head, %struct.xdr_buf, [2 x i32], i32, i32, i32, i32 }
+ %struct.rpc_rtt = type { i32, [5 x i32], [5 x i32], %struct.IO_APIC_reg_00 }
+ %struct.rpc_stat = type { %struct.rpc_program*, i32, i32, i32, i32, i32, i32, i32, i32, i32 }
+ %struct.rpc_task = type { %struct.list_head, i32, %struct.list_head, %struct.rpc_clnt*, %struct.rpc_rqst*, i32, %struct.rpc_wait_queue*, %struct.rpc_message, i32*, i8, i8, i8, void (%struct.rpc_task*)*, void (%struct.rpc_task*)*, void (%struct.rpc_task*)*, void (%struct.rpc_task*)*, void (%struct.rpc_task*)*, i8*, %struct.timer_list, %struct.__wait_queue_head, i32, i16, i8, i32, i16 }
+ %struct.rpc_timeout = type { i32, i32, i32, i32, i16, i8 }
+ %struct.rpc_version = type { i32, i32, %struct.rpc_procinfo* }
+ %struct.rpc_wait_queue = type { %struct.list_head, i8* }
+ %struct.rpc_xprt = type { %struct.socket*, %struct.sock*, %struct.rpc_timeout, %struct.sockaddr_in, i32, i32, i32, i32, i32, %struct.rpc_wait_queue, %struct.rpc_wait_queue, %struct.rpc_wait_queue, %struct.rpc_wait_queue, %struct.rpc_rqst*, [16 x %struct.rpc_rqst], i32, i8, i32, i32, i32, i32, i32, i32, %struct.IO_APIC_reg_00, %struct.IO_APIC_reg_00, %struct.rpc_task*, %struct.list_head, void (%struct.sock*, i32)*, void (%struct.sock*)*, void (%struct.sock*)*, %struct.__wait_queue_head }
+ %struct.rw_semaphore = type { i32, %struct.IO_APIC_reg_00, %struct.list_head }
+ %struct.scm_cookie = type { %struct.ViceFid, %struct.scm_fp_list*, i32 }
+ %struct.scm_fp_list = type { i32, [255 x %struct.file*] }
+ %struct.sem_array = type { %struct.kern_ipc_perm, i32, i32, %struct._drm_i810_overlay_t*, %struct.sem_queue*, %struct.sem_queue**, %struct.sem_undo*, i32 }
+ %struct.sem_queue = type { %struct.sem_queue*, %struct.sem_queue**, %struct.task_struct*, %struct.sem_undo*, i32, i32, %struct.sem_array*, i32, %struct.sembuf*, i32, i32 }
+ %struct.sem_undo = type { %struct.sem_undo*, %struct.sem_undo*, i32, i16* }
+ %struct.semaphore = type { %struct.IO_APIC_reg_00, i32, %struct.__wait_queue_head }
+ %struct.sembuf = type { i16, i16, i16 }
+ %struct.seq_file = type { i8*, i32, i32, i32, i64, %struct.semaphore, %struct.seq_operations*, i8* }
+ %struct.seq_operations = type { i8* (%struct.seq_file*, i64*)*, void (%struct.seq_file*, i8*)*, i8* (%struct.seq_file*, i8*, i64*)*, i32 (%struct.seq_file*, i8*)* }
+ %struct.shmem_inode_info = type { %struct.IO_APIC_reg_00, i32, [16 x %struct.IO_APIC_reg_00], i8**, i32, i32, %struct.list_head, %struct.inode* }
+ %struct.sigaction = type { void (i32)*, i32, void ()*, %typedef.__kernel_fsid_t }
+ %struct.siginfo = type { i32, i32, i32, { [29 x i32] } }
+ %struct.signal_struct = type { %struct.IO_APIC_reg_00, [64 x %struct.k_sigaction], %struct.IO_APIC_reg_00 }
+ %struct.sigpending = type { %struct.sigqueue*, %struct.sigqueue**, %typedef.__kernel_fsid_t }
%struct.sigqueue = type { %struct.sigqueue*, %struct.siginfo }
- %struct.sk_buff = type { %struct.sk_buff*, %struct.sk_buff*, %struct.sk_buff_head*, %struct.sock*, %struct.autofs_packet_hdr, %struct.net_device*, %struct.net_device*, { ubyte* }, { ubyte* }, { ubyte* }, %struct.dst_entry*, [48 x sbyte], uint, uint, uint, ubyte, ubyte, ubyte, ubyte, uint, %struct.bluez_skb_cb, ushort, ushort, uint, ubyte*, ubyte*, ubyte*, ubyte*, void (%struct.sk_buff*)*, uint, uint, %struct.nf_ct_info*, uint }
- %struct.sk_buff_head = type { %struct.sk_buff*, %struct.sk_buff*, uint, %struct.IO_APIC_reg_00 }
- %struct.sock = type { uint, uint, ushort, ushort, int, %struct.sock*, %struct.sock**, %struct.sock*, %struct.sock**, ubyte, ubyte, ushort, ushort, ubyte, ubyte, %struct.bluez_skb_cb, %typedef.socket_lock_t, int, %struct.__wait_queue_head*, %struct.dst_entry*, %typedef.rwlock_t, %struct.bluez_skb_cb, %struct.sk_buff_head, %struct.bluez_skb_cb, %struct.sk_buff_head, %struct.bluez_skb_cb, int, int, uint, uint, int, %struct.sock*, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, ubyte, ubyte, ubyte, ubyte, int, int, uint, int, %struct.sock*, { %struct.sk_buff*, %struct.sk_buff* }, %typedef.rwlock_t, %struct.sk_buff_head, %struct.proto*, { %struct.tcp_opt }, int, int, ushort, ushort, uint, ushort, ubyte, ubyte, %struct.ViceFid, int, int, int, { %struct.unix_opt }, %struct.timer_list, %struct.autofs_packet_hdr, %struct.socket*, sbyte*, void (%struct.sock*)*, void (%struct.sock*, int)*, void (%struct.sock*)*, void (%struct.sock*)*, int (%struct.sock*, %struct.sk_buff*)*, void (%struct.sock*)* }
- %struct.sockaddr = type { ushort, [14 x sbyte] }
- %struct.sockaddr_in = type { ushort, ushort, %struct.IO_APIC_reg_00, [8 x ubyte] }
- %struct.sockaddr_un = type { ushort, [108 x sbyte] }
- %struct.socket = type { uint, uint, %struct.proto_ops*, %struct.inode*, %struct.fasync_struct*, %struct.file*, %struct.sock*, %struct.__wait_queue_head, short, ubyte }
- %struct.statfs = type { int, int, int, int, int, int, int, %typedef.__kernel_fsid_t, int, [6 x int] }
- %struct.super_block = type { %struct.list_head, ushort, uint, ubyte, ubyte, ulong, %struct.file_system_type*, %struct.super_operations*, %struct.dquot_operations*, %struct.quotactl_ops*, uint, uint, %struct.dentry*, %struct.rw_semaphore, %struct.semaphore, int, %struct.bluez_skb_cb, %struct.list_head, %struct.list_head, %struct.list_head, %struct.block_device*, %struct.list_head, %struct.quota_info, { [115 x uint] }, %struct.semaphore, %struct.semaphore }
- %struct.super_operations = type { %struct.inode* (%struct.super_block*)*, void (%struct.inode*)*, void (%struct.inode*)*, void (%struct.inode*, sbyte*)*, void (%struct.inode*)*, void (%struct.inode*, int)*, void (%struct.inode*)*, void (%struct.inode*)*, void (%struct.super_block*)*, void (%struct.super_block*)*, int (%struct.super_block*)*, void (%struct.super_block*)*, void (%struct.super_block*)*, int (%struct.super_block*, %struct.statfs*)*, int (%struct.super_block*, int*, sbyte*)*, void (%struct.inode*)*, void (%struct.super_block*)*, %struct.dentry* (%struct.super_block*, uint*, int, int, int)*, int (%struct.dentry*, uint*, int*, int)*, int (%struct.seq_file*, %struct.vfsmount*)* }
- %struct.task_struct = type { int, uint, int, %struct.IO_APIC_reg_00, %struct.exec_domain*, int, uint, int, int, int, uint, %struct.mm_struct*, int, uint, uint, %struct.list_head, uint, %struct.task_struct*, %struct.task_struct*, %struct.mm_struct*, %struct.list_head, uint, uint, %struct.linux_binfmt*, int, int, int, uint, int, int, int, int, int, int, int, %struct.task_struct*, %struct.task_struct*, %struct.task_struct*, %struct.task_struct*, %struct.task_struct*, %struct.list_head, %struct.task_struct*, %struct.task_struct**, %struct.__wait_queue_head, %struct.completion*, uint, uint, uint, uint, uint, uint, uint, %struct.timer_list, %struct.audio_buf_info, uint, [32 x int], [32 x int], uint, uint, uint, uint, uint, uint, int, uint, uint, uint, uint, uint, uint, uint, uint, int, [32 x uint], uint, uint, uint, int, %struct.user_struct*, [11 x %struct._drm_i810_overlay_t], ushort, [16 x sbyte], int, int, %struct.tty_struct*, uint, %struct.sem_undo*, %struct.sem_queue*, %struct.thread_struct, %struct.fs_struct*, %struct.files_struct*, %struct.namespace*, %struct.IO_APIC_reg_00, %struct.signal_struct*, %typedef.sigset_t, %struct.sigpending, uint, uint, int (sbyte*)*, sbyte*, %typedef.sigset_t*, uint, uint, %struct.IO_APIC_reg_00, sbyte*, %struct.llva_sigcontext*, uint, %struct.task_struct*, uint, %typedef.llva_icontext_t, %typedef.llva_fp_state_t, uint*, int, sbyte* }
- %struct.tasklet_struct = type { %struct.tasklet_struct*, uint, %struct.bluez_skb_cb, void (uint)*, uint }
- %struct.tc_stats = type { ulong, uint, uint, uint, uint, uint, uint, uint, %struct.IO_APIC_reg_00* }
- %struct.tcf_proto = type { %struct.tcf_proto*, sbyte*, int (%struct.sk_buff*, %struct.tcf_proto*, %struct._drm_i810_overlay_t*)*, uint, uint, uint, %struct.Qdisc*, sbyte*, %struct.tcf_proto_ops* }
- %struct.tcf_proto_ops = type { %struct.tcf_proto_ops*, [16 x sbyte], int (%struct.sk_buff*, %struct.tcf_proto*, %struct._drm_i810_overlay_t*)*, int (%struct.tcf_proto*)*, void (%struct.tcf_proto*)*, uint (%struct.tcf_proto*, uint)*, void (%struct.tcf_proto*, uint)*, int (%struct.tcf_proto*, uint, uint, %struct._agp_version**, uint*)*, int (%struct.tcf_proto*, uint)*, void (%struct.tcf_proto*, %struct.tcf_walker*)*, int (%struct.tcf_proto*, uint, %struct.sk_buff*, %struct.tcmsg*)* }
- %struct.tcf_walker = type { int, int, int, int (%struct.tcf_proto*, uint, %struct.tcf_walker*)* }
- %struct.tcmsg = type { ubyte, ubyte, ushort, int, uint, uint, uint }
- %struct.tcp_func = type { int (%struct.sk_buff*)*, void (%struct.sock*, %struct.tcphdr*, int, %struct.sk_buff*)*, int (%struct.sock*)*, int (%struct.sock*, %struct.sk_buff*)*, %struct.sock* (%struct.sock*, %struct.sk_buff*, %struct.open_request*, %struct.dst_entry*)*, int (%struct.sock*)*, ushort, int (%struct.sock*, int, int, sbyte*, int)*, int (%struct.sock*, int, int, sbyte*, int*)*, void (%struct.sock*, %struct.sockaddr*)*, int }
- %struct.tcp_listen_opt = type { ubyte, int, int, int, uint, [512 x %struct.open_request*] }
- %struct.tcp_opt = type { int, uint, uint, uint, uint, uint, uint, uint, { ubyte, ubyte, ubyte, ubyte, uint, uint, uint, ushort, ushort }, { %struct.sk_buff_head, %struct.task_struct*, %struct.iovec*, int, int }, uint, uint, uint, uint, ushort, ushort, ushort, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, ushort, ushort, uint, uint, uint, %struct.timer_list, %struct.timer_list, %struct.sk_buff_head, %struct.tcp_func*, %struct.sk_buff*, %struct.page*, uint, uint, uint, uint, uint, uint, sbyte, sbyte, sbyte, sbyte, ubyte, ubyte, ubyte, ubyte, uint, uint, uint, int, ushort, ubyte, ubyte, [1 x %struct._drm_i810_overlay_t], [4 x %struct._drm_i810_overlay_t], uint, uint, ubyte, ubyte, ushort, ubyte, ubyte, ushort, uint, uint, uint, uint, uint, uint, int, uint, ushort, ubyte, ubyte, uint, %typedef.rwlock_t, %struct.tcp_listen_opt*, %struct.open_request*, %struct.open_request*, int, uint, uint, int, int, uint, uint }
- %struct.tcp_v4_open_req = type { uint, uint, %struct.ip_options* }
- %struct.tcphdr = type { ushort, ushort, uint, uint, ushort, ushort, ushort, ushort }
- %struct.termios = type { uint, uint, uint, uint, ubyte, [19 x ubyte] }
- %struct.thread_struct = type { uint, uint, uint, uint, uint, [8 x uint], uint, uint, uint, %union.i387_union, %struct.vm86_struct*, uint, uint, uint, uint, int, [33 x uint] }
- %struct.timer_list = type { %struct.list_head, uint, uint, void (uint)* }
- %struct.tq_struct = type { %struct.list_head, uint, void (sbyte*)*, sbyte* }
- %struct.tty_driver = type { int, sbyte*, sbyte*, int, short, short, short, short, short, %struct.termios, int, int*, %struct.proc_dir_entry*, %struct.tty_driver*, %struct.tty_struct**, %struct.termios**, %struct.termios**, sbyte*, int (%struct.tty_struct*, %struct.file*)*, void (%struct.tty_struct*, %struct.file*)*, int (%struct.tty_struct*, int, ubyte*, int)*, void (%struct.tty_struct*, ubyte)*, void (%struct.tty_struct*)*, int (%struct.tty_struct*)*, int (%struct.tty_struct*)*, int (%struct.tty_struct*, %struct.file*, uint, uint)*, void (%struct.tty_struct*, %struct.termios*)*, void (%struct.tty_struct*)*, void (%struct.tty_struct*)*, void (%struct.tty_struct*)*, void (%struct.tty_struct*)*, void (%struct.tty_struct*)*, void (%struct.tty_struct*, int)*, void (%struct.tty_struct*)*, void (%struct.tty_struct*)*, void (%struct.tty_struct*, int)*, void (%struct.tty_struct*, sbyte)*, int (sbyte*, sbyte**, int, int, int*, sbyte*)*, int (%struct.file*, sbyte*, uint, sbyte*)*, %struct.tty_driver*, %struct.tty_driver* }
- %struct.tty_flip_buffer = type { %struct.tq_struct, %struct.semaphore, sbyte*, ubyte*, int, int, [1024 x ubyte], [1024 x sbyte], [4 x ubyte] }
- %struct.tty_ldisc = type { int, sbyte*, int, int, int (%struct.tty_struct*)*, void (%struct.tty_struct*)*, void (%struct.tty_struct*)*, int (%struct.tty_struct*)*, int (%struct.tty_struct*, %struct.file*, ubyte*, uint)*, int (%struct.tty_struct*, %struct.file*, ubyte*, uint)*, int (%struct.tty_struct*, %struct.file*, uint, uint)*, void (%struct.tty_struct*, %struct.termios*)*, uint (%struct.tty_struct*, %struct.file*, %struct.poll_table_struct*)*, void (%struct.tty_struct*, ubyte*, sbyte*, int)*, int (%struct.tty_struct*)*, void (%struct.tty_struct*)* }
- %struct.tty_struct = type { int, %struct.tty_driver, %struct.tty_ldisc, %struct.termios*, %struct.termios*, int, int, ushort, uint, int, %struct.drm_clip_rect, ubyte, ubyte, %struct.tty_struct*, %struct.fasync_struct*, %struct.tty_flip_buffer, int, int, %struct.__wait_queue_head, %struct.__wait_queue_head, %struct.tq_struct, sbyte*, sbyte*, %struct.list_head, uint, ubyte, ushort, uint, int, [8 x uint], sbyte*, int, int, int, [128 x uint], int, uint, uint, %struct.semaphore, %struct.semaphore, %struct.IO_APIC_reg_00, %struct.tq_struct }
- %struct.unix_address = type { %struct.bluez_skb_cb, int, uint, [0 x %struct.sockaddr_un] }
- %struct.unix_opt = type { %struct.unix_address*, %struct.dentry*, %struct.vfsmount*, %struct.semaphore, %struct.sock*, %struct.sock**, %struct.sock*, %struct.bluez_skb_cb, %typedef.rwlock_t, %struct.__wait_queue_head }
+ %struct.sk_buff = type { %struct.sk_buff*, %struct.sk_buff*, %struct.sk_buff_head*, %struct.sock*, %struct._drm_i810_overlay_t, %struct.net_device*, %struct.net_device*, { i8* }, { i8* }, { i8* }, %struct.dst_entry*, [48 x i8], i32, i32, i32, i8, i8, i8, i8, i32, %struct.IO_APIC_reg_00, i16, i16, i32, i8*, i8*, i8*, i8*, void (%struct.sk_buff*)*, i32, i32, %struct.nf_ct_info*, i32 }
+ %struct.sk_buff_head = type { %struct.sk_buff*, %struct.sk_buff*, i32, %struct.IO_APIC_reg_00 }
+ %struct.sock = type { i32, i32, i16, i16, i32, %struct.sock*, %struct.sock**, %struct.sock*, %struct.sock**, i8, i8, i16, i16, i8, i8, %struct.IO_APIC_reg_00, %struct.semaphore, i32, %struct.__wait_queue_head*, %struct.dst_entry*, %typedef.rwlock_t, %struct.IO_APIC_reg_00, %struct.sk_buff_head, %struct.IO_APIC_reg_00, %struct.sk_buff_head, %struct.IO_APIC_reg_00, i32, i32, i32, i32, i32, %struct.sock*, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i32, i32, i32, i32, %struct.sock*, { %struct.sk_buff*, %struct.sk_buff* }, %typedef.rwlock_t, %struct.sk_buff_head, %struct.proto*, { %struct.tcp_opt }, i32, i32, i16, i16, i32, i16, i8, i8, %struct.ViceFid, i32, i32, i32, { %struct.unix_opt }, %struct.timer_list, %struct._drm_i810_overlay_t, %struct.socket*, i8*, void (%struct.sock*)*, void (%struct.sock*, i32)*, void (%struct.sock*)*, void (%struct.sock*)*, i32 (%struct.sock*, %struct.sk_buff*)*, void (%struct.sock*)* }
+ %struct.sockaddr = type { i16, [14 x i8] }
+ %struct.sockaddr_in = type { i16, i16, %struct.IO_APIC_reg_00, [8 x i8] }
+ %struct.sockaddr_un = type { i16, [108 x i8] }
+ %struct.socket = type { i32, i32, %struct.proto_ops*, %struct.inode*, %struct.fasync_struct*, %struct.file*, %struct.sock*, %struct.__wait_queue_head, i16, i8 }
+ %struct.statfs = type { i32, i32, i32, i32, i32, i32, i32, %typedef.__kernel_fsid_t, i32, [6 x i32] }
+ %struct.super_block = type { %struct.list_head, i16, i32, i8, i8, i64, %struct.file_system_type*, %struct.super_operations*, %struct.dquot_operations*, %struct.quotactl_ops*, i32, i32, %struct.dentry*, %struct.rw_semaphore, %struct.semaphore, i32, %struct.IO_APIC_reg_00, %struct.list_head, %struct.list_head, %struct.list_head, %struct.block_device*, %struct.list_head, %struct.quota_info, { [115 x i32] }, %struct.semaphore, %struct.semaphore }
+ %struct.super_operations = type { %struct.inode* (%struct.super_block*)*, void (%struct.inode*)*, void (%struct.inode*)*, void (%struct.inode*, i8*)*, void (%struct.inode*)*, void (%struct.inode*, i32)*, void (%struct.inode*)*, void (%struct.inode*)*, void (%struct.super_block*)*, void (%struct.super_block*)*, i32 (%struct.super_block*)*, void (%struct.super_block*)*, void (%struct.super_block*)*, i32 (%struct.super_block*, %struct.statfs*)*, i32 (%struct.super_block*, i32*, i8*)*, void (%struct.inode*)*, void (%struct.super_block*)*, %struct.dentry* (%struct.super_block*, i32*, i32, i32, i32)*, i32 (%struct.dentry*, i32*, i32*, i32)*, i32 (%struct.seq_file*, %struct.vfsmount*)* }
+ %struct.task_struct = type { i32, i32, i32, %struct.IO_APIC_reg_00, %struct.exec_domain*, i32, i32, i32, i32, i32, i32, %struct.mm_struct*, i32, i32, i32, %struct.list_head, i32, %struct.task_struct*, %struct.task_struct*, %struct.mm_struct*, %struct.list_head, i32, i32, %struct.linux_binfmt*, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, %struct.task_struct*, %struct.task_struct*, %struct.task_struct*, %struct.task_struct*, %struct.task_struct*, %struct.list_head, %struct.task_struct*, %struct.task_struct**, %struct.__wait_queue_head, %struct.completion*, i32, i32, i32, i32, i32, i32, i32, %struct.timer_list, %struct.audio_buf_info, i32, [32 x i32], [32 x i32], i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, [32 x i32], i32, i32, i32, i32, %struct.user_struct*, [11 x %struct._drm_i810_overlay_t], i16, [16 x i8], i32, i32, %struct.tty_struct*, i32, %struct.sem_undo*, %struct.sem_queue*, %struct.thread_struct, %struct.fs_struct*, %struct.files_struct*, %struct.namespace*, %struct.IO_APIC_reg_00, %struct.signal_struct*, %typedef.__kernel_fsid_t, %struct.sigpending, i32, i32, i32 (i8*)*, i8*, %typedef.__kernel_fsid_t*, i32, i32, %struct.IO_APIC_reg_00, i8*, %struct.llva_sigcontext*, i32, %struct.task_struct*, i32, %typedef.llva_icontext_t, %typedef.llva_fp_state_t, i32*, i32, i8* }
+ %struct.tasklet_struct = type { %struct.tasklet_struct*, i32, %struct.IO_APIC_reg_00, void (i32)*, i32 }
+ %struct.tc_stats = type { i64, i32, i32, i32, i32, i32, i32, i32, %struct.IO_APIC_reg_00* }
+ %struct.tcf_proto = type { %struct.tcf_proto*, i8*, i32 (%struct.sk_buff*, %struct.tcf_proto*, %struct._drm_i810_overlay_t*)*, i32, i32, i32, %struct.Qdisc*, i8*, %struct.tcf_proto_ops* }
+ %struct.tcf_proto_ops = type { %struct.tcf_proto_ops*, [16 x i8], i32 (%struct.sk_buff*, %struct.tcf_proto*, %struct._drm_i810_overlay_t*)*, i32 (%struct.tcf_proto*)*, void (%struct.tcf_proto*)*, i32 (%struct.tcf_proto*, i32)*, void (%struct.tcf_proto*, i32)*, i32 (%struct.tcf_proto*, i32, i32, %struct._agp_version**, i32*)*, i32 (%struct.tcf_proto*, i32)*, void (%struct.tcf_proto*, %struct.tcf_walker*)*, i32 (%struct.tcf_proto*, i32, %struct.sk_buff*, %struct.tcmsg*)* }
+ %struct.tcf_walker = type { i32, i32, i32, i32 (%struct.tcf_proto*, i32, %struct.tcf_walker*)* }
+ %struct.tcmsg = type { i8, i8, i16, i32, i32, i32, i32 }
+ %struct.tcp_func = type { i32 (%struct.sk_buff*)*, void (%struct.sock*, %struct.tcphdr*, i32, %struct.sk_buff*)*, i32 (%struct.sock*)*, i32 (%struct.sock*, %struct.sk_buff*)*, %struct.sock* (%struct.sock*, %struct.sk_buff*, %struct.open_request*, %struct.dst_entry*)*, i32 (%struct.sock*)*, i16, i32 (%struct.sock*, i32, i32, i8*, i32)*, i32 (%struct.sock*, i32, i32, i8*, i32*)*, void (%struct.sock*, %struct.sockaddr*)*, i32 }
+ %struct.tcp_listen_opt = type { i8, i32, i32, i32, i32, [512 x %struct.open_request*] }
+ %struct.tcp_opt = type { i32, i32, i32, i32, i32, i32, i32, i32, { i8, i8, i8, i8, i32, i32, i32, i16, i16 }, { %struct.sk_buff_head, %struct.task_struct*, %struct.iovec*, i32, i32 }, i32, i32, i32, i32, i16, i16, i16, i8, i8, i8, i8, i8, i8, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i16, i16, i32, i32, i32, %struct.timer_list, %struct.timer_list, %struct.sk_buff_head, %struct.tcp_func*, %struct.sk_buff*, %struct.page*, i32, i32, i32, i32, i32, i32, i8, i8, i8, i8, i8, i8, i8, i8, i32, i32, i32, i32, i16, i8, i8, [1 x %struct._drm_i810_overlay_t], [4 x %struct._drm_i810_overlay_t], i32, i32, i8, i8, i16, i8, i8, i16, i32, i32, i32, i32, i32, i32, i32, i32, i16, i8, i8, i32, %typedef.rwlock_t, %struct.tcp_listen_opt*, %struct.open_request*, %struct.open_request*, i32, i32, i32, i32, i32, i32, i32 }
+ %struct.tcp_v4_open_req = type { i32, i32, %struct.ip_options* }
+ %struct.tcphdr = type { i16, i16, i32, i32, i16, i16, i16, i16 }
+ %struct.termios = type { i32, i32, i32, i32, i8, [19 x i8] }
+ %struct.thread_struct = type { i32, i32, i32, i32, i32, [8 x i32], i32, i32, i32, %union.i387_union, %struct.vm86_struct*, i32, i32, i32, i32, i32, [33 x i32] }
+ %struct.timer_list = type { %struct.list_head, i32, i32, void (i32)* }
+ %struct.tq_struct = type { %struct.list_head, i32, void (i8*)*, i8* }
+ %struct.tty_driver = type { i32, i8*, i8*, i32, i16, i16, i16, i16, i16, %struct.termios, i32, i32*, %struct.proc_dir_entry*, %struct.tty_driver*, %struct.tty_struct**, %struct.termios**, %struct.termios**, i8*, i32 (%struct.tty_struct*, %struct.file*)*, void (%struct.tty_struct*, %struct.file*)*, i32 (%struct.tty_struct*, i32, i8*, i32)*, void (%struct.tty_struct*, i8)*, void (%struct.tty_struct*)*, i32 (%struct.tty_struct*)*, i32 (%struct.tty_struct*)*, i32 (%struct.tty_struct*, %struct.file*, i32, i32)*, void (%struct.tty_struct*, %struct.termios*)*, void (%struct.tty_struct*)*, void (%struct.tty_struct*)*, void (%struct.tty_struct*)*, void (%struct.tty_struct*)*, void (%struct.tty_struct*)*, void (%struct.tty_struct*, i32)*, void (%struct.tty_struct*)*, void (%struct.tty_struct*)*, void (%struct.tty_struct*, i32)*, void (%struct.tty_struct*, i8)*, i32 (i8*, i8**, i32, i32, i32*, i8*)*, i32 (%struct.file*, i8*, i32, i8*)*, %struct.tty_driver*, %struct.tty_driver* }
+ %struct.tty_flip_buffer = type { %struct.tq_struct, %struct.semaphore, i8*, i8*, i32, i32, [1024 x i8], [1024 x i8], [4 x i8] }
+ %struct.tty_ldisc = type { i32, i8*, i32, i32, i32 (%struct.tty_struct*)*, void (%struct.tty_struct*)*, void (%struct.tty_struct*)*, i32 (%struct.tty_struct*)*, i32 (%struct.tty_struct*, %struct.file*, i8*, i32)*, i32 (%struct.tty_struct*, %struct.file*, i8*, i32)*, i32 (%struct.tty_struct*, %struct.file*, i32, i32)*, void (%struct.tty_struct*, %struct.termios*)*, i32 (%struct.tty_struct*, %struct.file*, %struct.poll_table_struct*)*, void (%struct.tty_struct*, i8*, i8*, i32)*, i32 (%struct.tty_struct*)*, void (%struct.tty_struct*)* }
+ %struct.tty_struct = type { i32, %struct.tty_driver, %struct.tty_ldisc, %struct.termios*, %struct.termios*, i32, i32, i16, i32, i32, %struct.drm_clip_rect, i8, i8, %struct.tty_struct*, %struct.fasync_struct*, %struct.tty_flip_buffer, i32, i32, %struct.__wait_queue_head, %struct.__wait_queue_head, %struct.tq_struct, i8*, i8*, %struct.list_head, i32, i8, i16, i32, i32, [8 x i32], i8*, i32, i32, i32, [128 x i32], i32, i32, i32, %struct.semaphore, %struct.semaphore, %struct.IO_APIC_reg_00, %struct.tq_struct }
+ %struct.unix_address = type { %struct.IO_APIC_reg_00, i32, i32, [0 x %struct.sockaddr_un] }
+ %struct.unix_opt = type { %struct.unix_address*, %struct.dentry*, %struct.vfsmount*, %struct.semaphore, %struct.sock*, %struct.sock**, %struct.sock*, %struct.IO_APIC_reg_00, %typedef.rwlock_t, %struct.__wait_queue_head }
%struct.usb_bus = type opaque
%struct.usbdev_inode_info = type { %struct.list_head, %struct.list_head, { %struct.usb_bus* } }
- %struct.user_struct = type { %struct.bluez_skb_cb, %struct.bluez_skb_cb, %struct.bluez_skb_cb, %struct.user_struct*, %struct.user_struct**, uint }
- %struct.vfsmount = type { %struct.list_head, %struct.vfsmount*, %struct.dentry*, %struct.dentry*, %struct.super_block*, %struct.list_head, %struct.list_head, %struct.bluez_skb_cb, int, sbyte*, %struct.list_head }
+ %struct.user_struct = type { %struct.IO_APIC_reg_00, %struct.IO_APIC_reg_00, %struct.IO_APIC_reg_00, %struct.user_struct*, %struct.user_struct**, i32 }
+ %struct.vfsmount = type { %struct.list_head, %struct.vfsmount*, %struct.dentry*, %struct.dentry*, %struct.super_block*, %struct.list_head, %struct.list_head, %struct.IO_APIC_reg_00, i32, i8*, %struct.list_head }
%struct.vlan_group = type opaque
- %struct.vm86_regs = type { int, int, int, int, int, int, int, int, int, int, int, int, int, ushort, ushort, int, int, ushort, ushort, ushort, ushort, ushort, ushort, ushort, ushort, ushort, ushort }
- %struct.vm86_struct = type { %struct.vm86_regs, uint, uint, uint, %struct.revectored_struct, %struct.revectored_struct }
- %struct.vm_area_struct = type { %struct.mm_struct*, uint, uint, %struct.vm_area_struct*, %struct.IO_APIC_reg_00, uint, %struct.rb_node_s, %struct.vm_area_struct*, %struct.vm_area_struct**, %struct.vm_operations_struct*, uint, %struct.file*, uint, sbyte* }
- %struct.vm_operations_struct = type { void (%struct.vm_area_struct*)*, void (%struct.vm_area_struct*)*, %struct.page* (%struct.vm_area_struct*, uint, int)* }
- %struct.xdr_buf = type { [1 x %struct.iovec], [1 x %struct.iovec], %struct.page**, uint, uint, uint }
- %typedef.__kernel_fd_set = type { [32 x int] }
- %typedef.__kernel_fsid_t = type { [2 x int] }
- %typedef.dvd_authinfo = type { [2 x ulong] }
- %typedef.llva_fp_state_t = type { [7 x uint], [20 x uint] }
- %typedef.llva_icontext_t = type { uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint, uint*, uint }
- %typedef.rwlock_t = type { %struct.IO_APIC_reg_00, %struct.IO_APIC_reg_00, uint }
- %typedef.sigset_t = type { [2 x uint] }
- %typedef.socket_lock_t = type { %struct.IO_APIC_reg_00, uint, %struct.__wait_queue_head }
+ %struct.vm86_regs = type { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i16, i16, i32, i32, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16 }
+ %struct.vm86_struct = type { %struct.vm86_regs, i32, i32, i32, %struct.revectored_struct, %struct.revectored_struct }
+ %struct.vm_area_struct = type { %struct.mm_struct*, i32, i32, %struct.vm_area_struct*, %struct.IO_APIC_reg_00, i32, %struct.rb_node_s, %struct.vm_area_struct*, %struct.vm_area_struct**, %struct.vm_operations_struct*, i32, %struct.file*, i32, i8* }
+ %struct.vm_operations_struct = type { void (%struct.vm_area_struct*)*, void (%struct.vm_area_struct*)*, %struct.page* (%struct.vm_area_struct*, i32, i32)* }
+ %struct.xdr_buf = type { [1 x %struct.iovec], [1 x %struct.iovec], %struct.page**, i32, i32, i32 }
+ %typedef.__kernel_fd_set = type { [32 x i32] }
+ %typedef.__kernel_fsid_t = type { [2 x i32] }
+ %typedef.dvd_authinfo = type { [2 x i64] }
+ %typedef.llva_fp_state_t = type { [7 x i32], [20 x i32] }
+ %typedef.llva_icontext_t = type { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32*, i32 }
+ %typedef.rwlock_t = type { %struct.IO_APIC_reg_00, %struct.IO_APIC_reg_00, i32 }
+ %typedef.sigset_t = type { [2 x i32] }
+ %typedef.socket_lock_t = type { %struct.IO_APIC_reg_00, i32, %struct.__wait_queue_head }
%union.i387_union = type { %struct.i387_fxsave_struct }
-implementation ; Functions:
-
-void %rs_init() {
+define void @rs_init() {
entry:
- br bool false, label %loopentry.0.no_exit.0_crit_edge, label %loopentry.0.loopexit.0_crit_edge
+ br i1 false, label %loopentry.0.no_exit.0_crit_edge, label %loopentry.0.loopexit.0_crit_edge
loopentry.0: ; No predecessors!
unreachable
@@ -230,7 +227,7 @@ loopentry.0.no_exit.0_crit_edge: ; preds = %entry
br label %no_exit.0
no_exit.0: ; preds = %no_exit.0.no_exit.0_crit_edge, %loopentry.0.no_exit.0_crit_edge
- br bool false, label %no_exit.0.no_exit.0_crit_edge, label %no_exit.0.loopexit.0_crit_edge
+ br i1 false, label %no_exit.0.no_exit.0_crit_edge, label %no_exit.0.loopexit.0_crit_edge
no_exit.0.loopexit.0_crit_edge: ; preds = %no_exit.0
br label %loopexit.0
@@ -239,13 +236,13 @@ no_exit.0.no_exit.0_crit_edge: ; preds = %no_exit.0
br label %no_exit.0
loopexit.0: ; preds = %no_exit.0.loopexit.0_crit_edge, %loopentry.0.loopexit.0_crit_edge
- br bool false, label %then.0, label %loopexit.0.endif.0_crit_edge
+ br i1 false, label %then.0, label %loopexit.0.endif.0_crit_edge
loopexit.0.endif.0_crit_edge: ; preds = %loopexit.0
br label %endif.0
then.0: ; preds = %loopexit.0
- br bool false, label %loopentry.1.no_exit.1_crit_edge, label %loopentry.1.loopexit.1_crit_edge
+ br i1 false, label %loopentry.1.no_exit.1_crit_edge, label %loopentry.1.loopexit.1_crit_edge
loopentry.1: ; No predecessors!
unreachable
@@ -257,7 +254,7 @@ loopentry.1.no_exit.1_crit_edge: ; preds = %then.0
br label %no_exit.1
no_exit.1: ; preds = %no_exit.1.backedge, %loopentry.1.no_exit.1_crit_edge
- br bool false, label %shortcirc_next.0, label %no_exit.1.shortcirc_done.0_crit_edge
+ br i1 false, label %shortcirc_next.0, label %no_exit.1.shortcirc_done.0_crit_edge
no_exit.1.shortcirc_done.0_crit_edge: ; preds = %no_exit.1
br label %shortcirc_done.0
@@ -266,10 +263,10 @@ shortcirc_next.0: ; preds = %no_exit.1
br label %shortcirc_done.0
shortcirc_done.0: ; preds = %shortcirc_next.0, %no_exit.1.shortcirc_done.0_crit_edge
- br bool false, label %then.1, label %endif.1
+ br i1 false, label %then.1, label %endif.1
then.1: ; preds = %shortcirc_done.0
- br bool false, label %then.1.no_exit.1_crit_edge, label %then.1.loopexit.1_crit_edge
+ br i1 false, label %then.1.no_exit.1_crit_edge, label %then.1.loopexit.1_crit_edge
then.1.loopexit.1_crit_edge: ; preds = %then.1
br label %loopexit.1
@@ -281,7 +278,7 @@ no_exit.1.backedge: ; preds = %endif.1.no_exit.1_crit_edge, %then.1.no_exit.1_c
br label %no_exit.1
endif.1: ; preds = %shortcirc_done.0
- br bool false, label %endif.1.no_exit.1_crit_edge, label %endif.1.loopexit.1_crit_edge
+ br i1 false, label %endif.1.no_exit.1_crit_edge, label %endif.1.loopexit.1_crit_edge
endif.1.loopexit.1_crit_edge: ; preds = %endif.1
br label %loopexit.1
@@ -293,7 +290,7 @@ loopexit.1: ; preds = %endif.1.loopexit.1_crit_edge, %then.1.loopexit.1_crit_ed
br label %endif.0
endif.0: ; preds = %loopexit.1, %loopexit.0.endif.0_crit_edge
- br bool false, label %then.2, label %endif.0.endif.2_crit_edge
+ br i1 false, label %then.2, label %endif.0.endif.2_crit_edge
endif.0.endif.2_crit_edge: ; preds = %endif.0
br label %endif.2
@@ -305,7 +302,7 @@ dead_block.0: ; No predecessors!
br label %endif.2
endif.2: ; preds = %dead_block.0, %endif.0.endif.2_crit_edge
- br bool false, label %then.3, label %endif.2.endif.3_crit_edge
+ br i1 false, label %then.3, label %endif.2.endif.3_crit_edge
endif.2.endif.3_crit_edge: ; preds = %endif.2
br label %endif.3
@@ -320,7 +317,7 @@ endif.3: ; preds = %dead_block.1, %endif.2.endif.3_crit_edge
br label %loopentry.2
loopentry.2: ; preds = %endif.6, %endif.3
- br bool false, label %loopentry.2.no_exit.2_crit_edge, label %loopentry.2.loopexit.2_crit_edge
+ br i1 false, label %loopentry.2.no_exit.2_crit_edge, label %loopentry.2.loopexit.2_crit_edge
loopentry.2.loopexit.2_crit_edge: ; preds = %loopentry.2
br label %loopexit.2
@@ -329,7 +326,7 @@ loopentry.2.no_exit.2_crit_edge: ; preds = %loopentry.2
br label %no_exit.2
no_exit.2: ; preds = %then.5.no_exit.2_crit_edge, %loopentry.2.no_exit.2_crit_edge
- br bool false, label %then.4, label %no_exit.2.endif.4_crit_edge
+ br i1 false, label %then.4, label %no_exit.2.endif.4_crit_edge
no_exit.2.endif.4_crit_edge: ; preds = %no_exit.2
br label %endif.4
@@ -338,13 +335,13 @@ then.4: ; preds = %no_exit.2
br label %endif.4
endif.4: ; preds = %then.4, %no_exit.2.endif.4_crit_edge
- br bool false, label %shortcirc_next.1, label %endif.4.shortcirc_done.1_crit_edge
+ br i1 false, label %shortcirc_next.1, label %endif.4.shortcirc_done.1_crit_edge
endif.4.shortcirc_done.1_crit_edge: ; preds = %endif.4
br label %shortcirc_done.1
shortcirc_next.1: ; preds = %endif.4
- br bool false, label %then.i21, label %endif.i
+ br i1 false, label %then.i21, label %endif.i
then.i21: ; preds = %shortcirc_next.1
br label %then.5
@@ -362,7 +359,7 @@ __check_region.exit: ; No predecessors!
unreachable
shortcirc_done.1: ; preds = %endif.i, %endif.4.shortcirc_done.1_crit_edge
- br bool false, label %shortcirc_done.1.then.5_crit_edge, label %shortcirc_done.1.endif.5_crit_edge
+ br i1 false, label %shortcirc_done.1.then.5_crit_edge, label %shortcirc_done.1.endif.5_crit_edge
shortcirc_done.1.endif.5_crit_edge: ; preds = %shortcirc_done.1
br label %endif.5
@@ -371,7 +368,7 @@ shortcirc_done.1.then.5_crit_edge: ; preds = %shortcirc_done.1
br label %then.5
then.5: ; preds = %shortcirc_done.1.then.5_crit_edge, %then.i21
- br bool false, label %then.5.no_exit.2_crit_edge, label %then.5.loopexit.2_crit_edge
+ br i1 false, label %then.5.no_exit.2_crit_edge, label %then.5.loopexit.2_crit_edge
then.5.loopexit.2_crit_edge: ; preds = %then.5
br label %loopexit.2
@@ -383,7 +380,7 @@ dead_block_after_continue.0: ; No predecessors!
unreachable
endif.5: ; preds = %shortcirc_done.1.endif.5_crit_edge
- br bool false, label %then.6, label %endif.5.endif.6_crit_edge
+ br i1 false, label %then.6, label %endif.5.endif.6_crit_edge
endif.5.endif.6_crit_edge: ; preds = %endif.5
br label %endif.6
@@ -401,7 +398,7 @@ loopexit.2: ; preds = %then.5.loopexit.2_crit_edge, %loopentry.2.loopexit.2_cri
br label %loopentry.3
loopentry.3: ; preds = %endif.9, %loopexit.2
- br bool false, label %loopentry.3.no_exit.3_crit_edge, label %loopentry.3.loopexit.3_crit_edge
+ br i1 false, label %loopentry.3.no_exit.3_crit_edge, label %loopentry.3.loopexit.3_crit_edge
loopentry.3.loopexit.3_crit_edge: ; preds = %loopentry.3
br label %loopexit.3
@@ -410,13 +407,13 @@ loopentry.3.no_exit.3_crit_edge: ; preds = %loopentry.3
br label %no_exit.3
no_exit.3: ; preds = %then.7.no_exit.3_crit_edge, %loopentry.3.no_exit.3_crit_edge
- br bool false, label %then.7, label %no_exit.3.endif.7_crit_edge
+ br i1 false, label %then.7, label %no_exit.3.endif.7_crit_edge
no_exit.3.endif.7_crit_edge: ; preds = %no_exit.3
br label %endif.7
then.7: ; preds = %no_exit.3
- br bool false, label %then.7.no_exit.3_crit_edge, label %then.7.loopexit.3_crit_edge
+ br i1 false, label %then.7.no_exit.3_crit_edge, label %then.7.loopexit.3_crit_edge
then.7.loopexit.3_crit_edge: ; preds = %then.7
br label %loopexit.3
@@ -428,7 +425,7 @@ dead_block_after_continue.1: ; No predecessors!
unreachable
endif.7: ; preds = %no_exit.3.endif.7_crit_edge
- br bool false, label %shortcirc_next.2, label %endif.7.shortcirc_done.2_crit_edge
+ br i1 false, label %shortcirc_next.2, label %endif.7.shortcirc_done.2_crit_edge
endif.7.shortcirc_done.2_crit_edge: ; preds = %endif.7
br label %shortcirc_done.2
@@ -437,13 +434,13 @@ shortcirc_next.2: ; preds = %endif.7
br label %shortcirc_done.2
shortcirc_done.2: ; preds = %shortcirc_next.2, %endif.7.shortcirc_done.2_crit_edge
- br bool false, label %shortcirc_next.3, label %shortcirc_done.2.shortcirc_done.3_crit_edge
+ br i1 false, label %shortcirc_next.3, label %shortcirc_done.2.shortcirc_done.3_crit_edge
shortcirc_done.2.shortcirc_done.3_crit_edge: ; preds = %shortcirc_done.2
br label %shortcirc_done.3
shortcirc_next.3: ; preds = %shortcirc_done.2
- br bool false, label %shortcirc_next.3.shortcirc_done.4_crit_edge, label %shortcirc_next.4
+ br i1 false, label %shortcirc_next.3.shortcirc_done.4_crit_edge, label %shortcirc_next.4
shortcirc_next.3.shortcirc_done.4_crit_edge: ; preds = %shortcirc_next.3
br label %shortcirc_done.4
@@ -455,7 +452,7 @@ shortcirc_done.4: ; preds = %shortcirc_next.4, %shortcirc_next.3.shortcirc_done
br label %shortcirc_done.3
shortcirc_done.3: ; preds = %shortcirc_done.4, %shortcirc_done.2.shortcirc_done.3_crit_edge
- br bool false, label %then.8, label %shortcirc_done.3.endif.8_crit_edge
+ br i1 false, label %then.8, label %shortcirc_done.3.endif.8_crit_edge
shortcirc_done.3.endif.8_crit_edge: ; preds = %shortcirc_done.3
br label %endif.8
@@ -464,10 +461,10 @@ then.8: ; preds = %shortcirc_done.3
br label %endif.8
endif.8: ; preds = %then.8, %shortcirc_done.3.endif.8_crit_edge
- br bool false, label %then.9, label %else
+ br i1 false, label %then.9, label %else
then.9: ; preds = %endif.8
- br bool false, label %cond_true.0, label %cond_false.0
+ br i1 false, label %cond_true.0, label %cond_false.0
cond_true.0: ; preds = %then.9
br label %cond_continue.0
@@ -479,7 +476,7 @@ cond_continue.0: ; preds = %cond_false.0, %cond_true.0
br label %endif.9
else: ; preds = %endif.8
- br bool false, label %cond_true.1, label %cond_false.1
+ br i1 false, label %cond_true.1, label %cond_false.1
cond_true.1: ; preds = %else
br label %cond_continue.1
@@ -497,7 +494,7 @@ loopcont.3: ; No predecessors!
unreachable
loopexit.3: ; preds = %then.7.loopexit.3_crit_edge, %loopentry.3.loopexit.3_crit_edge
- br bool false, label %loopentry.i.i.i2.no_exit.i.i.i4_crit_edge, label %loopentry.i.i.i2.pci_register_driver.exit.i.i_crit_edge
+ br i1 false, label %loopentry.i.i.i2.no_exit.i.i.i4_crit_edge, label %loopentry.i.i.i2.pci_register_driver.exit.i.i_crit_edge
loopentry.i.i.i2: ; No predecessors!
unreachable
@@ -509,22 +506,22 @@ loopentry.i.i.i2.no_exit.i.i.i4_crit_edge: ; preds = %loopexit.3
br label %no_exit.i.i.i4
no_exit.i.i.i4: ; preds = %endif.i.i.i10.no_exit.i.i.i4_crit_edge, %loopentry.i.i.i2.no_exit.i.i.i4_crit_edge
- br bool false, label %then.i.i.i6, label %no_exit.i.i.i4.endif.i.i.i10_crit_edge
+ br i1 false, label %then.i.i.i6, label %no_exit.i.i.i4.endif.i.i.i10_crit_edge
no_exit.i.i.i4.endif.i.i.i10_crit_edge: ; preds = %no_exit.i.i.i4
br label %endif.i.i.i10
then.i.i.i6: ; preds = %no_exit.i.i.i4
- br bool false, label %then.0.i.i.i.i, label %else.i.i.i.i
+ br i1 false, label %then.0.i.i.i.i, label %else.i.i.i.i
then.0.i.i.i.i: ; preds = %then.i.i.i6
- br bool false, label %then.1.i.i.i.i, label %endif.1.i.i.i.i
+ br i1 false, label %then.1.i.i.i.i, label %endif.1.i.i.i.i
then.1.i.i.i.i: ; preds = %then.0.i.i.i.i
br label %endif.i.i.i10
endif.1.i.i.i.i: ; preds = %then.0.i.i.i.i
- br bool false, label %endif.1.i.i.i.i.then.i.i.i.i.i.i_crit_edge, label %endif.1.i.i.i.i.endif.i.i.i.i.i.i_crit_edge
+ br i1 false, label %endif.1.i.i.i.i.then.i.i.i.i.i.i_crit_edge, label %endif.1.i.i.i.i.endif.i.i.i.i.i.i_crit_edge
endif.1.i.i.i.i.endif.i.i.i.i.i.i_crit_edge: ; preds = %endif.1.i.i.i.i
br label %endif.i.i.i.i.i.i
@@ -533,7 +530,7 @@ endif.1.i.i.i.i.then.i.i.i.i.i.i_crit_edge: ; preds = %endif.1.i.i.i.i
br label %then.i.i.i.i.i.i
else.i.i.i.i: ; preds = %then.i.i.i6
- br bool false, label %endif.0.i.i.i.i.then.i.i.i.i.i.i_crit_edge, label %endif.0.i.i.i.i.endif.i.i.i.i.i.i_crit_edge
+ br i1 false, label %endif.0.i.i.i.i.then.i.i.i.i.i.i_crit_edge, label %endif.0.i.i.i.i.endif.i.i.i.i.i.i_crit_edge
endif.0.i.i.i.i: ; No predecessors!
unreachable
@@ -545,7 +542,7 @@ endif.0.i.i.i.i.then.i.i.i.i.i.i_crit_edge: ; preds = %else.i.i.i.i
br label %then.i.i.i.i.i.i
then.i.i.i.i.i.i: ; preds = %endif.0.i.i.i.i.then.i.i.i.i.i.i_crit_edge, %endif.1.i.i.i.i.then.i.i.i.i.i.i_crit_edge
- br bool false, label %then.i.i.i.i.i.i.then.2.i.i.i.i_crit_edge, label %then.i.i.i.i.i.i.endif.2.i.i.i.i_crit_edge
+ br i1 false, label %then.i.i.i.i.i.i.then.2.i.i.i.i_crit_edge, label %then.i.i.i.i.i.i.endif.2.i.i.i.i_crit_edge
then.i.i.i.i.i.i.endif.2.i.i.i.i_crit_edge: ; preds = %then.i.i.i.i.i.i
br label %endif.2.i.i.i.i
@@ -554,7 +551,7 @@ then.i.i.i.i.i.i.then.2.i.i.i.i_crit_edge: ; preds = %then.i.i.i.i.i.i
br label %then.2.i.i.i.i
endif.i.i.i.i.i.i: ; preds = %endif.0.i.i.i.i.endif.i.i.i.i.i.i_crit_edge, %endif.1.i.i.i.i.endif.i.i.i.i.i.i_crit_edge
- br bool false, label %dev_probe_lock.exit.i.i.i.i.then.2.i.i.i.i_crit_edge, label %dev_probe_lock.exit.i.i.i.i.endif.2.i.i.i.i_crit_edge
+ br i1 false, label %dev_probe_lock.exit.i.i.i.i.then.2.i.i.i.i_crit_edge, label %dev_probe_lock.exit.i.i.i.i.endif.2.i.i.i.i_crit_edge
dev_probe_lock.exit.i.i.i.i: ; No predecessors!
unreachable
@@ -569,7 +566,7 @@ then.2.i.i.i.i: ; preds = %dev_probe_lock.exit.i.i.i.i.then.2.i.i.i.i_crit_edge
br label %endif.2.i.i.i.i
endif.2.i.i.i.i: ; preds = %then.2.i.i.i.i, %dev_probe_lock.exit.i.i.i.i.endif.2.i.i.i.i_crit_edge, %then.i.i.i.i.i.i.endif.2.i.i.i.i_crit_edge
- br bool false, label %then.i.i2.i.i.i.i, label %endif.i.i3.i.i.i.i
+ br i1 false, label %then.i.i2.i.i.i.i, label %endif.i.i3.i.i.i.i
then.i.i2.i.i.i.i: ; preds = %endif.2.i.i.i.i
br label %endif.i.i.i10
@@ -584,7 +581,7 @@ pci_announce_device.exit.i.i.i: ; No predecessors!
unreachable
endif.i.i.i10: ; preds = %endif.i.i3.i.i.i.i, %then.i.i2.i.i.i.i, %then.1.i.i.i.i, %no_exit.i.i.i4.endif.i.i.i10_crit_edge
- br bool false, label %endif.i.i.i10.no_exit.i.i.i4_crit_edge, label %endif.i.i.i10.pci_register_driver.exit.i.i_crit_edge
+ br i1 false, label %endif.i.i.i10.no_exit.i.i.i4_crit_edge, label %endif.i.i.i10.pci_register_driver.exit.i.i_crit_edge
endif.i.i.i10.pci_register_driver.exit.i.i_crit_edge: ; preds = %endif.i.i.i10
br label %pci_register_driver.exit.i.i
@@ -593,7 +590,7 @@ endif.i.i.i10.no_exit.i.i.i4_crit_edge: ; preds = %endif.i.i.i10
br label %no_exit.i.i.i4
pci_register_driver.exit.i.i: ; preds = %endif.i.i.i10.pci_register_driver.exit.i.i_crit_edge, %loopentry.i.i.i2.pci_register_driver.exit.i.i_crit_edge
- br bool false, label %then.0.i.i12, label %endif.0.i.i13
+ br i1 false, label %then.0.i.i12, label %endif.0.i.i13
then.0.i.i12: ; preds = %pci_register_driver.exit.i.i
br label %probe_serial_pci.exit
@@ -605,7 +602,7 @@ then.0.i.i12.then.i_crit_edge: ; No predecessors!
br label %then.i
endif.0.i.i13: ; preds = %pci_register_driver.exit.i.i
- br bool false, label %then.1.i.i14, label %endif.0.i.i13.endif.1.i.i15_crit_edge
+ br i1 false, label %then.1.i.i14, label %endif.0.i.i13.endif.1.i.i15_crit_edge
endif.0.i.i13.endif.1.i.i15_crit_edge: ; preds = %endif.0.i.i13
br label %endif.1.i.i15
@@ -614,7 +611,7 @@ then.1.i.i14: ; preds = %endif.0.i.i13
br label %endif.1.i.i15
endif.1.i.i15: ; preds = %then.1.i.i14, %endif.0.i.i13.endif.1.i.i15_crit_edge
- br bool false, label %loopentry.i8.i.i.no_exit.i9.i.i_crit_edge, label %loopentry.i8.i.i.pci_unregister_driver.exit.i.i_crit_edge
+ br i1 false, label %loopentry.i8.i.i.no_exit.i9.i.i_crit_edge, label %loopentry.i8.i.i.pci_unregister_driver.exit.i.i_crit_edge
loopentry.i8.i.i: ; No predecessors!
unreachable
@@ -626,13 +623,13 @@ loopentry.i8.i.i.no_exit.i9.i.i_crit_edge: ; preds = %endif.1.i.i15
br label %no_exit.i9.i.i
no_exit.i9.i.i: ; preds = %endif.0.i.i.i.no_exit.i9.i.i_crit_edge, %loopentry.i8.i.i.no_exit.i9.i.i_crit_edge
- br bool false, label %then.0.i.i.i, label %no_exit.i9.i.i.endif.0.i.i.i_crit_edge
+ br i1 false, label %then.0.i.i.i, label %no_exit.i9.i.i.endif.0.i.i.i_crit_edge
no_exit.i9.i.i.endif.0.i.i.i_crit_edge: ; preds = %no_exit.i9.i.i
br label %endif.0.i.i.i
then.0.i.i.i: ; preds = %no_exit.i9.i.i
- br bool false, label %then.1.i.i.i, label %then.0.i.i.i.endif.1.i.i.i_crit_edge
+ br i1 false, label %then.1.i.i.i, label %then.0.i.i.i.endif.1.i.i.i_crit_edge
then.0.i.i.i.endif.1.i.i.i_crit_edge: ; preds = %then.0.i.i.i
br label %endif.1.i.i.i
@@ -644,7 +641,7 @@ endif.1.i.i.i: ; preds = %then.1.i.i.i, %then.0.i.i.i.endif.1.i.i.i_crit_edge
br label %endif.0.i.i.i
endif.0.i.i.i: ; preds = %endif.1.i.i.i, %no_exit.i9.i.i.endif.0.i.i.i_crit_edge
- br bool false, label %endif.0.i.i.i.no_exit.i9.i.i_crit_edge, label %endif.0.i.i.i.pci_unregister_driver.exit.i.i_crit_edge
+ br i1 false, label %endif.0.i.i.i.no_exit.i9.i.i_crit_edge, label %endif.0.i.i.i.pci_unregister_driver.exit.i.i_crit_edge
endif.0.i.i.i.pci_unregister_driver.exit.i.i_crit_edge: ; preds = %endif.0.i.i.i
br label %pci_unregister_driver.exit.i.i
@@ -653,7 +650,7 @@ endif.0.i.i.i.no_exit.i9.i.i_crit_edge: ; preds = %endif.0.i.i.i
br label %no_exit.i9.i.i
pci_unregister_driver.exit.i.i: ; preds = %endif.0.i.i.i.pci_unregister_driver.exit.i.i_crit_edge, %loopentry.i8.i.i.pci_unregister_driver.exit.i.i_crit_edge
- br bool false, label %pci_module_init.exit.i.then.i_crit_edge, label %pci_module_init.exit.i.probe_serial_pci.exit_crit_edge
+ br i1 false, label %pci_module_init.exit.i.then.i_crit_edge, label %pci_module_init.exit.i.probe_serial_pci.exit_crit_edge
pci_module_init.exit.i: ; No predecessors!
unreachable
@@ -668,13 +665,13 @@ then.i: ; preds = %pci_module_init.exit.i.then.i_crit_edge, %then.0.i.i12.then.
br label %probe_serial_pci.exit
probe_serial_pci.exit: ; preds = %then.i, %pci_module_init.exit.i.probe_serial_pci.exit_crit_edge, %then.0.i.i12
- br bool false, label %then.0.i, label %endif.0.i
+ br i1 false, label %then.0.i, label %endif.0.i
then.0.i: ; preds = %probe_serial_pci.exit
ret void
endif.0.i: ; preds = %probe_serial_pci.exit
- br bool false, label %loopentry.0.i.no_exit.0.i_crit_edge, label %loopentry.0.i.loopexit.0.i_crit_edge
+ br i1 false, label %loopentry.0.i.no_exit.0.i_crit_edge, label %loopentry.0.i.loopexit.0.i_crit_edge
loopentry.0.i: ; No predecessors!
unreachable
@@ -686,13 +683,13 @@ loopentry.0.i.no_exit.0.i_crit_edge: ; preds = %endif.0.i
br label %no_exit.0.i
no_exit.0.i: ; preds = %loopcont.0.i.no_exit.0.i_crit_edge, %loopentry.0.i.no_exit.0.i_crit_edge
- br bool false, label %then.1.i, label %endif.1.i
+ br i1 false, label %then.1.i, label %endif.1.i
then.1.i: ; preds = %no_exit.0.i
br label %loopcont.0.i
endif.1.i: ; preds = %no_exit.0.i
- br bool false, label %loopentry.1.i.no_exit.1.i_crit_edge, label %loopentry.1.i.loopexit.1.i_crit_edge
+ br i1 false, label %loopentry.1.i.no_exit.1.i_crit_edge, label %loopentry.1.i.loopexit.1.i_crit_edge
loopentry.1.i: ; No predecessors!
unreachable
@@ -704,7 +701,7 @@ loopentry.1.i.no_exit.1.i_crit_edge: ; preds = %endif.1.i
br label %no_exit.1.i
no_exit.1.i: ; preds = %endif.2.i.no_exit.1.i_crit_edge, %loopentry.1.i.no_exit.1.i_crit_edge
- br bool false, label %shortcirc_next.0.i, label %no_exit.1.i.shortcirc_done.0.i_crit_edge
+ br i1 false, label %shortcirc_next.0.i, label %no_exit.1.i.shortcirc_done.0.i_crit_edge
no_exit.1.i.shortcirc_done.0.i_crit_edge: ; preds = %no_exit.1.i
br label %shortcirc_done.0.i
@@ -713,10 +710,10 @@ shortcirc_next.0.i: ; preds = %no_exit.1.i
br label %shortcirc_done.0.i
shortcirc_done.0.i: ; preds = %shortcirc_next.0.i, %no_exit.1.i.shortcirc_done.0.i_crit_edge
- br bool false, label %then.2.i, label %endif.2.i
+ br i1 false, label %then.2.i, label %endif.2.i
then.2.i: ; preds = %shortcirc_done.0.i
- br bool false, label %then.2.i.then.3.i_crit_edge, label %then.2.i.else.i_crit_edge
+ br i1 false, label %then.2.i.then.3.i_crit_edge, label %then.2.i.else.i_crit_edge
then.2.i.else.i_crit_edge: ; preds = %then.2.i
br label %else.i
@@ -725,7 +722,7 @@ then.2.i.then.3.i_crit_edge: ; preds = %then.2.i
br label %then.3.i
endif.2.i: ; preds = %shortcirc_done.0.i
- br bool false, label %endif.2.i.no_exit.1.i_crit_edge, label %endif.2.i.loopexit.1.i_crit_edge
+ br i1 false, label %endif.2.i.no_exit.1.i_crit_edge, label %endif.2.i.loopexit.1.i_crit_edge
endif.2.i.loopexit.1.i_crit_edge: ; preds = %endif.2.i
br label %loopexit.1.i
@@ -734,7 +731,7 @@ endif.2.i.no_exit.1.i_crit_edge: ; preds = %endif.2.i
br label %no_exit.1.i
loopexit.1.i: ; preds = %endif.2.i.loopexit.1.i_crit_edge, %loopentry.1.i.loopexit.1.i_crit_edge
- br bool false, label %loopexit.1.i.then.3.i_crit_edge, label %loopexit.1.i.else.i_crit_edge
+ br i1 false, label %loopexit.1.i.then.3.i_crit_edge, label %loopexit.1.i.else.i_crit_edge
loopexit.1.i.else.i_crit_edge: ; preds = %loopexit.1.i
br label %else.i
@@ -743,7 +740,7 @@ loopexit.1.i.then.3.i_crit_edge: ; preds = %loopexit.1.i
br label %then.3.i
then.3.i: ; preds = %loopexit.1.i.then.3.i_crit_edge, %then.2.i.then.3.i_crit_edge
- br bool false, label %shortcirc_next.1.i, label %then.3.i.shortcirc_done.1.i_crit_edge
+ br i1 false, label %shortcirc_next.1.i, label %then.3.i.shortcirc_done.1.i_crit_edge
then.3.i.shortcirc_done.1.i_crit_edge: ; preds = %then.3.i
br label %shortcirc_done.1.i
@@ -752,7 +749,7 @@ shortcirc_next.1.i: ; preds = %then.3.i
br label %shortcirc_done.1.i
shortcirc_done.1.i: ; preds = %shortcirc_next.1.i, %then.3.i.shortcirc_done.1.i_crit_edge
- br bool false, label %then.4.i, label %endif.4.i
+ br i1 false, label %then.4.i, label %endif.4.i
then.4.i: ; preds = %shortcirc_done.1.i
br label %endif.3.i
@@ -761,7 +758,7 @@ endif.4.i: ; preds = %shortcirc_done.1.i
br label %endif.3.i
else.i: ; preds = %loopexit.1.i.else.i_crit_edge, %then.2.i.else.i_crit_edge
- br bool false, label %shortcirc_next.0.i.i, label %else.i.shortcirc_done.0.i.i_crit_edge
+ br i1 false, label %shortcirc_next.0.i.i, label %else.i.shortcirc_done.0.i.i_crit_edge
else.i.shortcirc_done.0.i.i_crit_edge: ; preds = %else.i
br label %shortcirc_done.0.i.i
@@ -770,13 +767,13 @@ shortcirc_next.0.i.i: ; preds = %else.i
br label %shortcirc_done.0.i.i
shortcirc_done.0.i.i: ; preds = %shortcirc_next.0.i.i, %else.i.shortcirc_done.0.i.i_crit_edge
- br bool false, label %shortcirc_next.1.i.i, label %shortcirc_done.0.i.i.shortcirc_done.1.i.i_crit_edge
+ br i1 false, label %shortcirc_next.1.i.i, label %shortcirc_done.0.i.i.shortcirc_done.1.i.i_crit_edge
shortcirc_done.0.i.i.shortcirc_done.1.i.i_crit_edge: ; preds = %shortcirc_done.0.i.i
br label %shortcirc_done.1.i.i
shortcirc_next.1.i.i: ; preds = %shortcirc_done.0.i.i
- br bool false, label %loopentry.i.i2.i.no_exit.i.i3.i_crit_edge, label %loopentry.i.i2.i.loopexit.i.i.i_crit_edge
+ br i1 false, label %loopentry.i.i2.i.no_exit.i.i3.i_crit_edge, label %loopentry.i.i2.i.loopexit.i.i.i_crit_edge
loopentry.i.i2.i: ; No predecessors!
unreachable
@@ -788,7 +785,7 @@ loopentry.i.i2.i.no_exit.i.i3.i_crit_edge: ; preds = %shortcirc_next.1.i.i
br label %no_exit.i.i3.i
no_exit.i.i3.i: ; preds = %endif.i.i.i.no_exit.i.i3.i_crit_edge, %loopentry.i.i2.i.no_exit.i.i3.i_crit_edge
- br bool false, label %shortcirc_next.0.i.i.i, label %no_exit.i.i3.i.shortcirc_done.0.i.i.i_crit_edge
+ br i1 false, label %shortcirc_next.0.i.i.i, label %no_exit.i.i3.i.shortcirc_done.0.i.i.i_crit_edge
no_exit.i.i3.i.shortcirc_done.0.i.i.i_crit_edge: ; preds = %no_exit.i.i3.i
br label %shortcirc_done.0.i.i.i
@@ -797,7 +794,7 @@ shortcirc_next.0.i.i.i: ; preds = %no_exit.i.i3.i
br label %shortcirc_done.0.i.i.i
shortcirc_done.0.i.i.i: ; preds = %shortcirc_next.0.i.i.i, %no_exit.i.i3.i.shortcirc_done.0.i.i.i_crit_edge
- br bool false, label %shortcirc_next.1.i.i.i, label %shortcirc_done.0.i.i.i.shortcirc_done.1.i.i.i_crit_edge
+ br i1 false, label %shortcirc_next.1.i.i.i, label %shortcirc_done.0.i.i.i.shortcirc_done.1.i.i.i_crit_edge
shortcirc_done.0.i.i.i.shortcirc_done.1.i.i.i_crit_edge: ; preds = %shortcirc_done.0.i.i.i
br label %shortcirc_done.1.i.i.i
@@ -806,7 +803,7 @@ shortcirc_next.1.i.i.i: ; preds = %shortcirc_done.0.i.i.i
br label %shortcirc_done.1.i.i.i
shortcirc_done.1.i.i.i: ; preds = %shortcirc_next.1.i.i.i, %shortcirc_done.0.i.i.i.shortcirc_done.1.i.i.i_crit_edge
- br bool false, label %then.i.i.i, label %endif.i.i.i
+ br i1 false, label %then.i.i.i, label %endif.i.i.i
then.i.i.i: ; preds = %shortcirc_done.1.i.i.i
br label %then.0.i.i
@@ -818,7 +815,7 @@ then.i.i.i.then.0.i.i_crit_edge: ; No predecessors!
unreachable
endif.i.i.i: ; preds = %shortcirc_done.1.i.i.i
- br bool false, label %endif.i.i.i.no_exit.i.i3.i_crit_edge, label %endif.i.i.i.loopexit.i.i.i_crit_edge
+ br i1 false, label %endif.i.i.i.no_exit.i.i3.i_crit_edge, label %endif.i.i.i.loopexit.i.i.i_crit_edge
endif.i.i.i.loopexit.i.i.i_crit_edge: ; preds = %endif.i.i.i
br label %loopexit.i.i.i
@@ -833,7 +830,7 @@ check_compatible_id.exit.i.i: ; No predecessors!
unreachable
shortcirc_done.1.i.i: ; preds = %loopexit.i.i.i, %shortcirc_done.0.i.i.shortcirc_done.1.i.i_crit_edge
- br bool false, label %shortcirc_done.1.i.i.then.0.i.i_crit_edge, label %shortcirc_done.1.i.i.endif.0.i.i_crit_edge
+ br i1 false, label %shortcirc_done.1.i.i.then.0.i.i_crit_edge, label %shortcirc_done.1.i.i.endif.0.i.i_crit_edge
shortcirc_done.1.i.i.endif.0.i.i_crit_edge: ; preds = %shortcirc_done.1.i.i
br label %endif.0.i.i
@@ -851,7 +848,7 @@ then.0.i.i.then.5.i_crit_edge: ; No predecessors!
unreachable
endif.0.i.i: ; preds = %shortcirc_done.1.i.i.endif.0.i.i_crit_edge
- br bool false, label %endif.0.i.i.shortcirc_done.2.i.i_crit_edge, label %shortcirc_next.2.i.i
+ br i1 false, label %endif.0.i.i.shortcirc_done.2.i.i_crit_edge, label %shortcirc_next.2.i.i
endif.0.i.i.shortcirc_done.2.i.i_crit_edge: ; preds = %endif.0.i.i
br label %shortcirc_done.2.i.i
@@ -860,7 +857,7 @@ shortcirc_next.2.i.i: ; preds = %endif.0.i.i
br label %shortcirc_done.2.i.i
shortcirc_done.2.i.i: ; preds = %shortcirc_next.2.i.i, %endif.0.i.i.shortcirc_done.2.i.i_crit_edge
- br bool false, label %then.1.i.i, label %endif.1.i.i
+ br i1 false, label %then.1.i.i, label %endif.1.i.i
then.1.i.i: ; preds = %shortcirc_done.2.i.i
br label %then.5.i
@@ -872,7 +869,7 @@ then.1.i.i.then.5.i_crit_edge: ; No predecessors!
unreachable
endif.1.i.i: ; preds = %shortcirc_done.2.i.i
- br bool false, label %loopentry.0.i7.i.no_exit.0.i8.i_crit_edge, label %loopentry.0.i7.i.loopexit.0.i11.i_crit_edge
+ br i1 false, label %loopentry.0.i7.i.no_exit.0.i8.i_crit_edge, label %loopentry.0.i7.i.loopexit.0.i11.i_crit_edge
loopentry.0.i7.i: ; No predecessors!
unreachable
@@ -884,7 +881,7 @@ loopentry.0.i7.i.no_exit.0.i8.i_crit_edge: ; preds = %endif.1.i.i
br label %no_exit.0.i8.i
no_exit.0.i8.i: ; preds = %loopexit.1.i.i.no_exit.0.i8.i_crit_edge, %loopentry.0.i7.i.no_exit.0.i8.i_crit_edge
- br bool false, label %loopentry.1.i9.i.no_exit.1.i10.i_crit_edge, label %loopentry.1.i9.i.loopexit.1.i.i_crit_edge
+ br i1 false, label %loopentry.1.i9.i.no_exit.1.i10.i_crit_edge, label %loopentry.1.i9.i.loopexit.1.i.i_crit_edge
loopentry.1.i9.i: ; No predecessors!
unreachable
@@ -896,13 +893,13 @@ loopentry.1.i9.i.no_exit.1.i10.i_crit_edge: ; preds = %no_exit.0.i8.i
br label %no_exit.1.i10.i
no_exit.1.i10.i: ; preds = %endif.2.i.i.no_exit.1.i10.i_crit_edge, %loopentry.1.i9.i.no_exit.1.i10.i_crit_edge
- br bool false, label %shortcirc_next.3.i.i, label %no_exit.1.i10.i.shortcirc_done.3.i.i_crit_edge
+ br i1 false, label %shortcirc_next.3.i.i, label %no_exit.1.i10.i.shortcirc_done.3.i.i_crit_edge
no_exit.1.i10.i.shortcirc_done.3.i.i_crit_edge: ; preds = %no_exit.1.i10.i
br label %shortcirc_done.3.i.i
shortcirc_next.3.i.i: ; preds = %no_exit.1.i10.i
- br bool false, label %shortcirc_next.3.i.i.shortcirc_done.4.i.i_crit_edge, label %shortcirc_next.4.i.i
+ br i1 false, label %shortcirc_next.3.i.i.shortcirc_done.4.i.i_crit_edge, label %shortcirc_next.4.i.i
shortcirc_next.3.i.i.shortcirc_done.4.i.i_crit_edge: ; preds = %shortcirc_next.3.i.i
br label %shortcirc_done.4.i.i
@@ -911,22 +908,22 @@ shortcirc_next.4.i.i: ; preds = %shortcirc_next.3.i.i
br label %shortcirc_done.4.i.i
shortcirc_done.4.i.i: ; preds = %shortcirc_next.4.i.i, %shortcirc_next.3.i.i.shortcirc_done.4.i.i_crit_edge
- br bool false, label %shortcirc_done.4.i.i.shortcirc_done.5.i.i_crit_edge, label %shortcirc_next.5.i.i
+ br i1 false, label %shortcirc_done.4.i.i.shortcirc_done.5.i.i_crit_edge, label %shortcirc_next.5.i.i
shortcirc_done.4.i.i.shortcirc_done.5.i.i_crit_edge: ; preds = %shortcirc_done.4.i.i
br label %shortcirc_done.5.i.i
shortcirc_next.5.i.i: ; preds = %shortcirc_done.4.i.i
- %tmp.68.i.i = seteq ushort 0, 1000 ; <bool> [#uses=1]
+ %tmp.68.i.i = icmp eq i16 0, 1000 ; <i1> [#uses=1]
br label %shortcirc_done.5.i.i
shortcirc_done.5.i.i: ; preds = %shortcirc_next.5.i.i, %shortcirc_done.4.i.i.shortcirc_done.5.i.i_crit_edge
- %shortcirc_val.4.i.i = phi bool [ true, %shortcirc_done.4.i.i.shortcirc_done.5.i.i_crit_edge ], [ %tmp.68.i.i, %shortcirc_next.5.i.i ] ; <bool> [#uses=1]
+ %shortcirc_val.4.i.i = phi i1 [ true, %shortcirc_done.4.i.i.shortcirc_done.5.i.i_crit_edge ], [ %tmp.68.i.i, %shortcirc_next.5.i.i ] ; <i1> [#uses=1]
br label %shortcirc_done.3.i.i
shortcirc_done.3.i.i: ; preds = %shortcirc_done.5.i.i, %no_exit.1.i10.i.shortcirc_done.3.i.i_crit_edge
- %shortcirc_val.5.i.i = phi bool [ false, %no_exit.1.i10.i.shortcirc_done.3.i.i_crit_edge ], [ %shortcirc_val.4.i.i, %shortcirc_done.5.i.i ] ; <bool> [#uses=1]
- br bool %shortcirc_val.5.i.i, label %then.2.i.i, label %endif.2.i.i
+ %shortcirc_val.5.i.i = phi i1 [ false, %no_exit.1.i10.i.shortcirc_done.3.i.i_crit_edge ], [ %shortcirc_val.4.i.i, %shortcirc_done.5.i.i ] ; <i1> [#uses=1]
+ br i1 %shortcirc_val.5.i.i, label %then.2.i.i, label %endif.2.i.i
then.2.i.i: ; preds = %shortcirc_done.3.i.i
%port.2.i.i.8.lcssa20 = phi %struct.isapnp_port* [ null, %shortcirc_done.3.i.i ] ; <%struct.isapnp_port*> [#uses=0]
@@ -939,7 +936,7 @@ then.2.i.i.then.5.i_crit_edge: ; No predecessors!
unreachable
endif.2.i.i: ; preds = %shortcirc_done.3.i.i
- br bool false, label %endif.2.i.i.no_exit.1.i10.i_crit_edge, label %endif.2.i.i.loopexit.1.i.i_crit_edge
+ br i1 false, label %endif.2.i.i.no_exit.1.i10.i_crit_edge, label %endif.2.i.i.loopexit.1.i.i_crit_edge
endif.2.i.i.loopexit.1.i.i_crit_edge: ; preds = %endif.2.i.i
br label %loopexit.1.i.i
@@ -948,7 +945,7 @@ endif.2.i.i.no_exit.1.i10.i_crit_edge: ; preds = %endif.2.i.i
br label %no_exit.1.i10.i
loopexit.1.i.i: ; preds = %endif.2.i.i.loopexit.1.i.i_crit_edge, %loopentry.1.i9.i.loopexit.1.i.i_crit_edge
- br bool false, label %loopexit.1.i.i.no_exit.0.i8.i_crit_edge, label %loopexit.1.i.i.loopexit.0.i11.i_crit_edge
+ br i1 false, label %loopexit.1.i.i.no_exit.0.i8.i_crit_edge, label %loopexit.1.i.i.loopexit.0.i11.i_crit_edge
loopexit.1.i.i.loopexit.0.i11.i_crit_edge: ; preds = %loopexit.1.i.i
br label %loopexit.0.i11.i
@@ -957,7 +954,7 @@ loopexit.1.i.i.no_exit.0.i8.i_crit_edge: ; preds = %loopexit.1.i.i
br label %no_exit.0.i8.i
loopexit.0.i11.i: ; preds = %loopexit.1.i.i.loopexit.0.i11.i_crit_edge, %loopentry.0.i7.i.loopexit.0.i11.i_crit_edge
- br bool false, label %serial_pnp_guess_board.exit.i.then.5.i_crit_edge, label %serial_pnp_guess_board.exit.i.endif.5.i_crit_edge
+ br i1 false, label %serial_pnp_guess_board.exit.i.then.5.i_crit_edge, label %serial_pnp_guess_board.exit.i.endif.5.i_crit_edge
serial_pnp_guess_board.exit.i: ; No predecessors!
unreachable
@@ -975,7 +972,7 @@ endif.5.i: ; preds = %serial_pnp_guess_board.exit.i.endif.5.i_crit_edge, %then.
br label %endif.3.i
endif.3.i: ; preds = %endif.5.i, %endif.4.i, %then.4.i
- br bool false, label %then.6.i, label %endif.3.i.endif.6.i_crit_edge
+ br i1 false, label %then.6.i, label %endif.3.i.endif.6.i_crit_edge
endif.3.i.endif.6.i_crit_edge: ; preds = %endif.3.i
br label %endif.6.i
@@ -984,7 +981,7 @@ then.6.i: ; preds = %endif.3.i
br label %loopentry.0.i.i
loopentry.0.i.i: ; preds = %endif.i.i, %then.6.i
- br bool false, label %loopentry.0.i.i.no_exit.0.i.i_crit_edge, label %loopentry.0.i.i.loopexit.0.i.i_crit_edge
+ br i1 false, label %loopentry.0.i.i.no_exit.0.i.i_crit_edge, label %loopentry.0.i.i.loopexit.0.i.i_crit_edge
loopentry.0.i.i.loopexit.0.i.i_crit_edge: ; preds = %loopentry.0.i.i
br label %loopexit.0.i.i
@@ -993,19 +990,19 @@ loopentry.0.i.i.no_exit.0.i.i_crit_edge: ; preds = %loopentry.0.i.i
br label %no_exit.0.i.i
no_exit.0.i.i: ; preds = %clear_bit195.exit.i.i.no_exit.0.i.i_crit_edge, %loopentry.0.i.i.no_exit.0.i.i_crit_edge
- br bool false, label %then.i.i, label %endif.i.i
+ br i1 false, label %then.i.i, label %endif.i.i
then.i.i: ; preds = %no_exit.0.i.i
br label %loopentry.i.i.i
loopentry.i.i.i: ; preds = %no_exit.i.i.i, %then.i.i
- br bool false, label %no_exit.i.i.i, label %clear_bit195.exit.i.i
+ br i1 false, label %no_exit.i.i.i, label %clear_bit195.exit.i.i
no_exit.i.i.i: ; preds = %loopentry.i.i.i
br label %loopentry.i.i.i
clear_bit195.exit.i.i: ; preds = %loopentry.i.i.i
- br bool false, label %clear_bit195.exit.i.i.no_exit.0.i.i_crit_edge, label %clear_bit195.exit.i.i.loopexit.0.i.i_crit_edge
+ br i1 false, label %clear_bit195.exit.i.i.no_exit.0.i.i_crit_edge, label %clear_bit195.exit.i.i.loopexit.0.i.i_crit_edge
clear_bit195.exit.i.i.loopexit.0.i.i_crit_edge: ; preds = %clear_bit195.exit.i.i
br label %loopexit.0.i.i
@@ -1017,7 +1014,7 @@ endif.i.i: ; preds = %no_exit.0.i.i
br label %loopentry.0.i.i
loopexit.0.i.i: ; preds = %clear_bit195.exit.i.i.loopexit.0.i.i_crit_edge, %loopentry.0.i.i.loopexit.0.i.i_crit_edge
- br bool false, label %loopentry.1.i.i.no_exit.1.i.i_crit_edge, label %loopentry.1.i.i.avoid_irq_share.exit.i_crit_edge
+ br i1 false, label %loopentry.1.i.i.no_exit.1.i.i_crit_edge, label %loopentry.1.i.i.avoid_irq_share.exit.i_crit_edge
loopentry.1.i.i: ; No predecessors!
unreachable
@@ -1029,7 +1026,7 @@ loopentry.1.i.i.no_exit.1.i.i_crit_edge: ; preds = %loopexit.0.i.i
br label %no_exit.1.i.i
no_exit.1.i.i: ; preds = %loopexit.2.i.i.no_exit.1.i.i_crit_edge, %loopentry.1.i.i.no_exit.1.i.i_crit_edge
- br bool false, label %loopentry.2.i.i.no_exit.2.i.i_crit_edge, label %loopentry.2.i.i.loopexit.2.i.i_crit_edge
+ br i1 false, label %loopentry.2.i.i.no_exit.2.i.i_crit_edge, label %loopentry.2.i.i.loopexit.2.i.i_crit_edge
loopentry.2.i.i: ; No predecessors!
unreachable
@@ -1041,7 +1038,7 @@ loopentry.2.i.i.no_exit.2.i.i_crit_edge: ; preds = %no_exit.1.i.i
br label %no_exit.2.i.i
no_exit.2.i.i: ; preds = %no_exit.2.i.i.no_exit.2.i.i_crit_edge, %loopentry.2.i.i.no_exit.2.i.i_crit_edge
- br bool false, label %no_exit.2.i.i.no_exit.2.i.i_crit_edge, label %no_exit.2.i.i.loopexit.2.i.i_crit_edge
+ br i1 false, label %no_exit.2.i.i.no_exit.2.i.i_crit_edge, label %no_exit.2.i.i.loopexit.2.i.i_crit_edge
no_exit.2.i.i.loopexit.2.i.i_crit_edge: ; preds = %no_exit.2.i.i
br label %loopexit.2.i.i
@@ -1050,7 +1047,7 @@ no_exit.2.i.i.no_exit.2.i.i_crit_edge: ; preds = %no_exit.2.i.i
br label %no_exit.2.i.i
loopexit.2.i.i: ; preds = %no_exit.2.i.i.loopexit.2.i.i_crit_edge, %loopentry.2.i.i.loopexit.2.i.i_crit_edge
- br bool false, label %loopexit.2.i.i.no_exit.1.i.i_crit_edge, label %loopexit.2.i.i.avoid_irq_share.exit.i_crit_edge
+ br i1 false, label %loopexit.2.i.i.no_exit.1.i.i_crit_edge, label %loopexit.2.i.i.avoid_irq_share.exit.i_crit_edge
loopexit.2.i.i.avoid_irq_share.exit.i_crit_edge: ; preds = %loopexit.2.i.i
br label %avoid_irq_share.exit.i
@@ -1065,7 +1062,7 @@ endif.6.i: ; preds = %avoid_irq_share.exit.i, %endif.3.i.endif.6.i_crit_edge
br label %loopcont.0.i
loopcont.0.i: ; preds = %endif.6.i, %then.5.i, %then.1.i
- br bool false, label %loopcont.0.i.no_exit.0.i_crit_edge, label %loopcont.0.i.loopexit.0.i_crit_edge
+ br i1 false, label %loopcont.0.i.no_exit.0.i_crit_edge, label %loopcont.0.i.loopexit.0.i_crit_edge
loopcont.0.i.loopexit.0.i_crit_edge: ; preds = %loopcont.0.i
br label %loopexit.0.i
diff --git a/test/Transforms/CondProp/basictest.ll b/test/Transforms/CondProp/basictest.ll
index 1e2a93664a..eda104d328 100644
--- a/test/Transforms/CondProp/basictest.ll
+++ b/test/Transforms/CondProp/basictest.ll
@@ -1,19 +1,27 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -condprop | llvm-dis | \
+; RUN: llvm-as < %s | opt -condprop | llvm-dis | \
; RUN: not grep {br label}
-int %test(bool %C) {
- br bool %C, label %T1, label %F1
-T1:
- br label %Cont
-F1:
- br label %Cont
-Cont:
- %C2 = phi bool [false, %F1], [true, %T1]
- br bool %C2, label %T2, label %F2
-T2:
- call void %bar()
- ret int 17
-F2:
- ret int 1
+
+define i32 @test(i1 %C) {
+ br i1 %C, label %T1, label %F1
+
+T1: ; preds = %0
+ br label %Cont
+
+F1: ; preds = %0
+ br label %Cont
+
+Cont: ; preds = %F1, %T1
+ %C2 = phi i1 [ false, %F1 ], [ true, %T1 ] ; <i1> [#uses=1]
+ br i1 %C2, label %T2, label %F2
+
+T2: ; preds = %Cont
+ call void @bar( )
+ ret i32 17
+
+F2: ; preds = %Cont
+ ret i32 1
}
-declare void %bar()
+
+declare void @bar()
+
diff --git a/test/Transforms/CondProp/phisimplify.ll b/test/Transforms/CondProp/phisimplify.ll
index a4728eb191..5b5a3042eb 100644
--- a/test/Transforms/CondProp/phisimplify.ll
+++ b/test/Transforms/CondProp/phisimplify.ll
@@ -1,33 +1,43 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -condprop | llvm-dis | not grep phi
+; RUN: llvm-as < %s | opt -condprop | llvm-dis | not grep phi
-int %test(uint %C, bool %Val) {
- switch uint %C, label %T1 [
- uint 4, label %T2
- uint 17, label %T3
+define i32 @test(i32 %C, i1 %Val) {
+ switch i32 %C, label %T1 [
+ i32 4, label %T2
+ i32 17, label %T3
]
-T1:
- call void %a()
- br label %Cont
-T2:
- call void %b()
- br label %Cont
-T3:
- call void %c()
- br label %Cont
-
-Cont:
- ;; PHI becomes dead after threading T2
- %C2 = phi bool [%Val, %T1], [true, %T2], [%Val, %T3]
- br bool %C2, label %L2, label %F2
-L2:
- call void %d()
- ret int 17
-F2:
- call void %e()
- ret int 1
+
+T1: ; preds = %0
+ call void @a( )
+ br label %Cont
+
+T2: ; preds = %0
+ call void @b( )
+ br label %Cont
+
+T3: ; preds = %0
+ call void @c( )
+ br label %Cont
+
+Cont: ; preds = %T3, %T2, %T1
+ ;; PHI becomes dead after threading T2
+ %C2 = phi i1 [ %Val, %T1 ], [ true, %T2 ], [ %Val, %T3 ] ; <i1> [#uses=1]
+ br i1 %C2, label %L2, label %F2
+
+L2: ; preds = %Cont
+ call void @d( )
+ ret i32 17
+
+F2: ; preds = %Cont
+ call void @e( )
+ ret i32 1
}
-declare void %a()
-declare void %b()
-declare void %c()
-declare void %d()
-declare void %e()
+
+declare void @a()
+
+declare void @b()
+
+declare void @c()
+
+declare void @d()
+
+declare void @e()
diff --git a/test/Transforms/CondProp/phisimplify2.ll b/test/Transforms/CondProp/phisimplify2.ll
index 4c83fa38a5..03d12e3e4c 100644
--- a/test/Transforms/CondProp/phisimplify2.ll
+++ b/test/Transforms/CondProp/phisimplify2.ll
@@ -1,36 +1,46 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -condprop | llvm-dis | not grep phi
+; RUN: llvm-as < %s | opt -condprop | llvm-dis | not grep phi
-declare bool %foo()
+declare i1 @foo()
-int %test(uint %C) {
- %Val = call bool %foo()
- switch uint %C, label %T1 [
- uint 4, label %T2
- uint 17, label %T3
+define i32 @test(i32 %C) {
+ %Val = call i1 @foo( ) ; <i1> [#uses=2]
+ switch i32 %C, label %T1 [
+ i32 4, label %T2
+ i32 17, label %T3
]
-T1:
- call void %a()
- br label %Cont
-T2:
- call void %b()
- br label %Cont
-T3:
- call void %c()
- br label %Cont
-
-Cont:
- ;; PHI becomes dead after threading T2
- %C2 = phi bool [%Val, %T1], [true, %T2], [%Val, %T3]
- br bool %C2, label %L2, label %F2
-L2:
- call void %d()
- ret int 17
-F2:
- call void %e()
- ret int 1
+
+T1: ; preds = %0
+ call void @a( )
+ br label %Cont
+
+T2: ; preds = %0
+ call void @b( )
+ br label %Cont
+
+T3: ; preds = %0
+ call void @c( )
+ br label %Cont
+
+Cont: ; preds = %T3, %T2, %T1
+ ;; PHI becomes dead after threading T2
+ %C2 = phi i1 [ %Val, %T1 ], [ true, %T2 ], [ %Val, %T3 ] ; <i1> [#uses=1]
+ br i1 %C2, label %L2, label %F2
+
+L2: ; preds = %Cont
+ call void @d( )
+ ret i32 17
+
+F2: ; preds = %Cont
+ call void @e( )
+ ret i32 1
}
-declare void %a()
-declare void %b()
-declare void %c()
-declare void %d()
-declare void %e()
+
+declare void @a()
+
+declare void @b()
+
+declare void @c()
+
+declare void @d()
+
+declare void @e()
diff --git a/test/Transforms/ConstProp/2002-05-03-DivideByZeroException.ll b/test/Transforms/ConstProp/2002-05-03-DivideByZeroException.ll
index 331501adb3..1a0845c52a 100644
--- a/test/Transforms/ConstProp/2002-05-03-DivideByZeroException.ll
+++ b/test/Transforms/ConstProp/2002-05-03-DivideByZeroException.ll
@@ -1,14 +1,15 @@
; Make sure that the constant propogator doesn't divide by zero!
;
-; RUN: llvm-upgrade < %s | llvm-as | opt -constprop
+; RUN: llvm-as < %s | opt -constprop
;
-int "test"() {
- %R = div int 12, 0
- ret int %R
+define i32 @test() {
+ %R = sdiv i32 12, 0 ; <i32> [#uses=1]
+ ret i32 %R
}
-int "test2"() {
- %R = rem int 12, 0
- ret int %R
+define i32 @test2() {
+ %R = srem i32 12, 0 ; <i32> [#uses=1]
+ ret i32 %R
}
+
diff --git a/test/Transforms/ConstProp/2002-05-03-NotOperator.ll b/test/Transforms/ConstProp/2002-05-03-NotOperator.ll
index 51f352caab..7a281aa04b 100644
--- a/test/Transforms/ConstProp/2002-05-03-NotOperator.ll
+++ b/test/Transforms/ConstProp/2002-05-03-NotOperator.ll
@@ -4,15 +4,16 @@
; Fix #2: The unary not instruction now no longer exists. Change to xor.
-; RUN: llvm-upgrade < $test | llvm-as | opt -constprop | llvm-dis | \
-; RUN: not grep {int 0}
+; RUN: llvm-as < $test | opt -constprop | llvm-dis | \
+; RUN: not grep {i32 0}
-int "test1"() {
- %R = xor int 123, -1
- ret int %R
+define i32 @test1() {
+ %R = xor i32 123, -1 ; <i32> [#uses=1]
+ ret i32 %R
}
-int "test2"() {
- %R = xor int -123, -1
- ret int %R
+define i32 @test2() {
+ %R = xor i32 -123, -1 ; <i32> [#uses=1]
+ ret i32 %R
}
+
diff --git a/test/Transforms/ConstProp/2002-09-03-SetCC-Bools.ll b/test/Transforms/ConstProp/2002-09-03-SetCC-Bools.ll
index cf44346965..781d796506 100644
--- a/test/Transforms/ConstProp/2002-09-03-SetCC-Bools.ll
+++ b/test/Transforms/ConstProp/2002-09-03-SetCC-Bools.ll
@@ -1,20 +1,20 @@
; SetCC on boolean values was not implemented!
-; RUN: llvm-upgrade < %s | llvm-as | opt -constprop -die | llvm-dis | \
+; RUN: llvm-as < %s | opt -constprop -die | llvm-dis | \
; RUN: not grep set
-bool "test1"() {
- %A = setle bool true, false
- %B = setge bool true, false
- %C = setlt bool false, true
- %D = setgt bool true, false
- %E = seteq bool false, false
- %F = setne bool false, true
- %G = and bool %A, %B
- %H = and bool %C, %D
- %I = and bool %E, %F
- %J = and bool %G, %H
- %K = and bool %I, %J
- ret bool %K
+define i1 @test1() {
+ %A = icmp ule i1 true, false ; <i1> [#uses=1]
+ %B = icmp uge i1 true, false ; <i1> [#uses=1]
+ %C = icmp ult i1 false, true ; <i1> [#uses=1]
+ %D = icmp ugt i1 true, false ; <i1> [#uses=1]
+ %E = icmp eq i1 false, false ; <i1> [#uses=1]
+ %F = icmp ne i1 false, true ; <i1> [#uses=1]
+ %G = and i1 %A, %B ; <i1> [#uses=1]
+ %H = and i1 %C, %D ; <i1> [#uses=1]
+ %I = and i1 %E, %F ; <i1> [#uses=1]
+ %J = and i1 %G, %H ; <i1> [#uses=1]
+ %K = and i1 %I, %J ; <i1> [#uses=1]
+ ret i1 %K
}
diff --git a/test/Transforms/ConstProp/2003-05-12-DivideError.ll b/test/Transforms/ConstProp/2003-05-12-DivideError.ll
index 289384bfc5..a3f239f95b 100644
--- a/test/Transforms/ConstProp/2003-05-12-DivideError.ll
+++ b/test/Transforms/ConstProp/2003-05-12-DivideError.ll
@@ -1,15 +1,15 @@
; Make sure that the constant propagator doesn't cause a sigfpe
;
-; RUN: llvm-upgrade < %s | llvm-as | opt -constprop
+; RUN: llvm-as < %s | opt -constprop
;
-int "test"() {
- %R = div int -2147483648, -1
- ret int %R
+define i32 @test() {
+ %R = sdiv i32 -2147483648, -1 ; <i32> [#uses=1]
+ ret i32 %R
}
-int "test2"() {
- %R = rem int -2147483648, -1
- ret int %R
+define i32 @test2() {
+ %R = srem i32 -2147483648, -1 ; <i32> [#uses=1]
+ ret i32 %R
}
diff --git a/test/Transforms/ConstProp/2005-01-28-SetCCGEP.ll b/test/Transforms/ConstProp/2005-01-28-SetCCGEP.ll
index ee1f251b83..9ffbcd1b0c 100644
--- a/test/Transforms/ConstProp/2005-01-28-SetCCGEP.ll
+++ b/test/Transforms/ConstProp/2005-01-28-SetCCGEP.ll
@@ -1,13 +1,10 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -constprop | llvm-dis | \
-; RUN: not grep {ret bool false}
+; RUN: llvm-as < %s | opt -constprop | llvm-dis | \
+; RUN: not grep {ret i1 false}
-%b = external global [2 x { }]
+@b = external global [2 x { }] ; <[2 x { }]*> [#uses=2]
-implementation
-
-bool %f() {
- ; tmp.2 -> true, not false.
- %tmp.2 = seteq { }* getelementptr ([2 x { }]* %b, int 0, int 0),
- getelementptr ([2 x { }]* %b, int 0, int 1)
- ret bool %tmp.2
+define i1 @f() {
+ %tmp.2 = icmp eq { }* getelementptr ([2 x { }]* @b, i32 0, i32 0), getelementptr ([2 x { }]* @b, i32 0, i32 1) ; <i1> [#uses=1]
+ ret i1 %tmp.2
}
+
diff --git a/test/Transforms/ConstProp/2006-11-30-vector-cast.ll b/test/Transforms/ConstProp/2006-11-30-vector-cast.ll
index 80f4252fb4..812cbcfa62 100644
--- a/test/Transforms/ConstProp/2006-11-30-vector-cast.ll
+++ b/test/Transforms/ConstProp/2006-11-30-vector-cast.ll
@@ -1,9 +1,10 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -constprop | llvm-dis | \
+; RUN: llvm-as < %s | opt -constprop | llvm-dis | \
; RUN: grep {i32 -1}
-; RUN: llvm-upgrade < %s | llvm-as | opt -constprop | llvm-dis | \
+; RUN: llvm-as < %s | opt -constprop | llvm-dis | \
; RUN: not grep zeroinitializer
-< 4 x uint> %test() {
- %tmp40 = bitcast <2 x long> bitcast (<4 x int> < int 0, int 0, int -1, int 0 > to <2 x long>) to <4 x uint>
- ret <4 x uint> %tmp40
+define <4 x i32> @test() {
+ %tmp40 = bitcast <2 x i64> bitcast (<4 x i32> < i32 0, i32 0, i32 -1, i32 0 > to <2 x i64>) to <4 x i32>; <<4 x i32>> [#uses=1]
+ ret <4 x i32> %tmp40
}
+
diff --git a/test/Transforms/ConstProp/2006-12-01-TruncBoolBug.ll b/test/Transforms/ConstProp/2006-12-01-TruncBoolBug.ll
index 779f6be2da..889ef56bf9 100644
--- a/test/Transforms/ConstProp/2006-12-01-TruncBoolBug.ll
+++ b/test/Transforms/ConstProp/2006-12-01-TruncBoolBug.ll
@@ -1,6 +1,7 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | \
; RUN: grep {ret i1 false}
-bool %test() {
- %X = trunc uint 320 to bool
- ret bool %X
+define i1 @test() {
+ %X = trunc i32 320 to i1 ; <i1> [#uses=1]
+ ret i1 %X
}
+
diff --git a/test/Transforms/ConstProp/2006-12-01-bool-casts.ll b/test/Transforms/ConstProp/2006-12-01-bool-casts.ll
index 2474132d35..dd1e46d8c6 100644
--- a/test/Transforms/ConstProp/2006-12-01-bool-casts.ll
+++ b/test/Transforms/ConstProp/2006-12-01-bool-casts.ll
@@ -1,15 +1,15 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -constprop | llvm-dis | \
+; RUN: llvm-as < %s | opt -constprop | llvm-dis | \
; RUN: grep {ret i32 -1}
-; RUN: llvm-upgrade < %s | llvm-as | opt -constprop | llvm-dis | \
+; RUN: llvm-as < %s | opt -constprop | llvm-dis | \
; RUN: grep {ret i32 1}
-int %test1() {
- %A = sext bool true to int
- ret int %A
+define i32 @test1() {
+ %A = sext i1 true to i32 ; <i32> [#uses=1]
+ ret i32 %A
}
-uint %test2() {
- %A = zext bool true to uint
- ret uint %A
+define i32 @test2() {
+ %A = zext i1 true to i32 ; <i32> [#uses=1]
+ ret i32 %A
}
diff --git a/test/Transforms/ConstProp/basictest.ll b/test/Transforms/ConstProp/basictest.ll
index 178467d83e..56892d9318 100644
--- a/test/Transforms/ConstProp/basictest.ll
+++ b/test/Transforms/ConstProp/basictest.ll
@@ -1,16 +1,20 @@
; This is a basic sanity check for constant propogation. The add instruction
; should be eliminated.
-; RUN: llvm-upgrade < %s | llvm-as | opt -constprop -die | llvm-dis | not grep add
+; RUN: llvm-as < %s | opt -constprop -die | llvm-dis | not grep add
-int %test(bool %B) {
- br bool %B, label %BB1, label %BB2
-BB1:
- %Val = add int 0, 0
- br label %BB3
-BB2:
- br label %BB3
-BB3:
- %Ret = phi int [%Val, %BB1], [1, %BB2]
- ret int %Ret
+define i32 @test(i1 %B) {
+ br i1 %B, label %BB1, label %BB2
+
+BB1: ; preds = %0
+ %Val = add i32 0, 0 ; <i32> [#uses=1]
+ br label %BB3
+
+BB2: ; preds = %0
+ br label %BB3
+
+BB3: ; preds = %BB2, %BB1
+ %Ret = phi i32 [ %Val, %BB1 ], [ 1, %BB2 ] ; <i32> [#uses=1]
+ ret i32 %Ret
}
+
diff --git a/test/Transforms/ConstProp/bitcast.ll b/test/Transforms/ConstProp/bitcast.ll
index 1fc25704a6..bf943c971f 100644
--- a/test/Transforms/ConstProp/bitcast.ll
+++ b/test/Transforms/ConstProp/bitcast.ll
@@ -1,3 +1,2 @@
-; RUN: llvm-upgrade < %s | llvm-as | llvm-dis | grep 0x36A0000000000000
-
-%A = global float bitcast (int 1 to float)
+; RUN: llvm-as < %s | llvm-dis | grep 0x36A0000000000000
+@A = global float 0x36A0000000000000 ; <float*> [#uses=0]
diff --git a/test/Transforms/ConstProp/bswap.ll b/test/Transforms/ConstProp/bswap.ll
index d31fa9d793..4975827104 100644
--- a/test/Transforms/ConstProp/bswap.ll
+++ b/test/Transforms/ConstProp/bswap.ll
@@ -1,22 +1,25 @@
; bswap should be constant folded when it is passed a constant argument
-; RUN: llvm-upgrade < %s | llvm-as | opt -constprop | llvm-dis | not grep call
+; RUN: llvm-as < %s | opt -constprop | llvm-dis | not grep call
-declare ushort %llvm.bswap.i16(ushort)
-declare uint %llvm.bswap.i32(uint)
-declare ulong %llvm.bswap.i64(ulong)
+declare i16 @llvm.bswap.i16(i16)
-ushort %W() {
- %Z = call ushort %llvm.bswap.i16(ushort 1)
- ret ushort %Z
+declare i32 @llvm.bswap.i32(i32)
+
+declare i64 @llvm.bswap.i64(i64)
+
+define i16 @W() {
+ %Z = call i16 @llvm.bswap.i16( i16 1 ) ; <i16> [#uses=1]
+ ret i16 %Z
}
-uint %X() {
- %Z = call uint %llvm.bswap.i32(uint 1)
- ret uint %Z
+define i32 @X() {
+ %Z = call i32 @llvm.bswap.i32( i32 1 ) ; <i32> [#uses=1]
+ ret i32 %Z
}
-ulong %Y() {
- %Z = call ulong %llvm.bswap.i64(ulong 1)
- ret ulong %Z
+define i64 @Y() {
+ %Z = call i64 @llvm.bswap.i64( i64 1 ) ; <i64> [#uses=1]
+ ret i64 %Z
}
+
diff --git a/test/Transforms/ConstProp/calls.ll b/test/Transforms/ConstProp/calls.ll
index c4a8206506..126db4ca23 100644
--- a/test/Transforms/ConstProp/calls.ll
+++ b/test/Transforms/ConstProp/calls.ll
@@ -1,25 +1,30 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -constprop | llvm-dis | not grep call
-
-declare double %cos(double)
-declare double %sin(double)
-declare double %tan(double)
-declare double %sqrt(double)
-declare bool %llvm.isunordered.f64(double, double)
-
-double %T() {
- %A = call double %cos(double 0.0)
- %B = call double %sin(double 0.0)
- %a = add double %A, %B
- %C = call double %tan(double 0.0)
- %b = add double %a, %C
- %D = call double %sqrt(double 4.0)
- %c = add double %b, %D
- ret double %c
+; RUN: llvm-as < %s | opt -constprop | llvm-dis | not grep call
+
+declare double @cos(double)
+
+declare double @sin(double)
+
+declare double @tan(double)
+
+declare double @sqrt(double)
+
+declare i1 @llvm.isunordered.f64(double, double)
+
+define double @T() {
+ %A = call double @cos( double 0.000000e+00 ) ; <double> [#uses=1]
+ %B = call double @sin( double 0.000000e+00 ) ; <double> [#uses=1]
+ %a = add double %A, %B ; <double> [#uses=1]
+ %C = call double @tan( double 0.000000e+00 ) ; <double> [#uses=1]
+ %b = add double %a, %C ; <double> [#uses=1]
+ %D = call double @sqrt( double 4.000000e+00 ) ; <double> [#uses=1]
+ %c = add double %b, %D ; <double> [#uses=1]
+ ret double %c
}
-bool %TNAN() {
- %A = call bool %llvm.isunordered.f64(double 0x7FF8000000000000, double 1.0) ;; it's a nan!
- %B = call bool %llvm.isunordered.f64(double 123.0, double 1.0)
- %C = or bool %A, %B
- ret bool %C
+define i1 @TNAN() {
+ %A = fcmp uno double 0x7FF8000000000000, 1.000000e+00 ; <i1> [#uses=1]
+ %B = fcmp uno double 1.230000e+02, 1.000000e+00 ; <i1> [#uses=1]
+ %C = or i1 %A, %B ; <i1> [#uses=1]
+ ret i1 %C
}
+
diff --git a/test/Transforms/ConstProp/float-to-ptr-cast.ll b/test/Transforms/ConstProp/float-to-ptr-cast.ll
index 239b7482bf..cbf84f54f0 100644
--- a/test/Transforms/ConstProp/float-to-ptr-cast.ll
+++ b/test/Transforms/ConstProp/float-to-ptr-cast.ll
@@ -1,11 +1,12 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -constprop | llvm-dis | \
+; RUN: llvm-as < %s | opt -constprop | llvm-dis | \
; RUN: grep -F {ret i32* null} | count 2
-int* %test1() {
- %X = cast float 0.0 to int*
- ret int* %X
+define i32* @test1() {
+ %X = inttoptr i64 0 to i32* ; <i32*> [#uses=1]
+ ret i32* %X
}
-int* %test2() {
- ret int* cast (float 0.0 to int*)
+define i32* @test2() {
+ ret i32* null
}
+
diff --git a/test/Transforms/ConstProp/logicaltest.ll b/test/Transforms/ConstProp/logicaltest.ll
index ce311146d0..81bdb950e9 100644
--- a/test/Transforms/ConstProp/logicaltest.ll
+++ b/test/Transforms/ConstProp/logicaltest.ll
@@ -1,14 +1,35 @@
; Ensure constant propogation of logical instructions is working correctly.
-; RUN: llvm-upgrade < %s | llvm-as | opt -constprop -die | llvm-dis | \
+; RUN: llvm-as < %s | opt -constprop -die | llvm-dis | \
; RUN: not egrep {and|or|xor}
+define i32 @test1() {
+ %R = and i32 4, 1234 ; <i32> [#uses=1]
+ ret i32 %R
+}
-int "test1"() { %R = and int 4,1234 ret int %R }
-bool "test1"() { %R = and bool true, false ret bool %R }
+define i1 @test1.upgrd.1() {
+ %R = and i1 true, false ; <i1> [#uses=1]
+ ret i1 %R
+}
-int "test2"() { %R = or int 4,1234 ret int %R }
-bool "test2"() { %R = or bool true, false ret bool %R }
+define i32 @test2() {
+ %R = or i32 4, 1234 ; <i32> [#uses=1]
+ ret i32 %R
+}
+
+define i1 @test2.upgrd.2() {
+ %R = or i1 true, false ; <i1> [#uses=1]
+ ret i1 %R
+}
+
+define i32 @test3() {
+ %R = xor i32 4, 1234 ; <i32> [#uses=1]
+ ret i32 %R
+}
+
+define i1 @test3.upgrd.3() {
+ %R = xor i1 true, false ; <i1> [#uses=1]
+ ret i1 %R
+}
-int "test3"() { %R = xor int 4,1234 ret int %R }
-bool "test3"() { %R = xor bool true, false ret bool %R }
diff --git a/test/Transforms/ConstProp/nottest.ll b/test/Transforms/ConstProp/nottest.ll
index 022a513ae4..41ea1b3873 100644
--- a/test/Transforms/ConstProp/nottest.ll
+++ b/test/Transforms/ConstProp/nottest.ll
@@ -1,19 +1,19 @@
; Ensure constant propogation of 'not' instructions is working correctly.
-; RUN: llvm-upgrade < %s | llvm-as | opt -constprop -die | llvm-dis | not grep xor
+; RUN: llvm-as < %s | opt -constprop -die | llvm-dis | not grep xor
-int "test1"() {
- %R = xor int 4, -1
- ret int %R
+define i32 @test1() {
+ %R = xor i32 4, -1 ; <i32> [#uses=1]
+ ret i32 %R
}
-int "test2"() {
- %R = xor int -23, -1
- ret int %R
+define i32 @test2() {
+ %R = xor i32 -23, -1 ; <i32> [#uses=1]
+ ret i32 %R
}
-bool "test3"() {
- %R = xor bool true, true
- ret bool %R
+define i1 @test3() {
+ %R = xor i1 true, true ; <i1> [#uses=1]
+ ret i1 %R
}
diff --git a/test/Transforms/ConstProp/phi.ll b/test/Transforms/ConstProp/phi.ll
index d7624dcacf..858c0becb1 100644
--- a/test/Transforms/ConstProp/phi.ll
+++ b/test/Transforms/ConstProp/phi.ll
@@ -1,14 +1,17 @@
; This is a basic sanity check for constant propogation. The add instruction
; should be eliminated.
-; RUN: llvm-upgrade < %s | llvm-as | opt -constprop -die | llvm-dis | not grep phi
+; RUN: llvm-as < %s | opt -constprop -die | llvm-dis | not grep phi
-int %test(bool %B) {
+define i32 @test(i1 %B) {
BB0:
- br bool %B, label %BB1, label %BB3
-BB1:
- br label %BB3
-BB3:
- %Ret = phi int [1, %BB0], [1, %BB1]
- ret int %Ret
+ br i1 %B, label %BB1, label %BB3
+
+BB1: ; preds = %BB0
+ br label %BB3
+
+BB3: ; preds = %BB1, %BB0
+ %Ret = phi i32 [ 1, %BB0 ], [ 1, %BB1 ] ; <i32> [#uses=1]
+ ret i32 %Ret
}
+
diff --git a/test/Transforms/ConstProp/remtest.ll b/test/Transforms/ConstProp/remtest.ll
index fd56012310..11861a4e80 100644
--- a/test/Transforms/ConstProp/remtest.ll
+++ b/test/Transforms/ConstProp/remtest.ll
@@ -1,23 +1,24 @@
; Ensure constant propagation of remainder instructions is working correctly.
-; RUN: llvm-upgrade < %s | llvm-as | opt -constprop -die | llvm-dis | not grep rem
+; RUN: llvm-as < %s | opt -constprop -die | llvm-dis | not grep rem
-int %test1() {
- %R = rem int 4, 3
- ret int %R
+define i32 @test1() {
+ %R = srem i32 4, 3 ; <i32> [#uses=1]
+ ret i32 %R
}
-int %test2() {
- %R = rem int 123, -23
- ret int %R
+define i32 @test2() {
+ %R = srem i32 123, -23 ; <i32> [#uses=1]
+ ret i32 %R
}
-float %test3() {
- %R = rem float 0x4028E66660000000, 0x405ECDA1C0000000
- ret float %R
+define float @test3() {
+ %R = frem float 0x4028E66660000000, 0x405ECDA1C0000000 ; <float> [#uses=1]
+ ret float %R
}
-double %test4() {
- %R = rem double 0x4073833BEE07AFF8, 0x4028AAABB2A0D19C
- ret double %R
+define double @test4() {
+ %R = frem double 0x4073833BEE07AFF8, 0x4028AAABB2A0D19C ; <double> [#uses=1]
+ ret double %R
}
+
diff --git a/test/Transforms/ConstantMerge/2002-09-23-CPR-Update.ll b/test/Transforms/ConstantMerge/2002-09-23-CPR-Update.ll
index 8d3d434d89..658944de23 100644
--- a/test/Transforms/ConstantMerge/2002-09-23-CPR-Update.ll
+++ b/test/Transforms/ConstantMerge/2002-09-23-CPR-Update.ll
@@ -1,14 +1,13 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -constmerge > /dev/null
+; RUN: llvm-as < %s | opt -constmerge > /dev/null
-%foo = internal constant {int} {int 7}
-%bar = internal constant {int} {int 7}
+@foo.upgrd.1 = internal constant { i32 } { i32 7 } ; <{ i32 }*> [#uses=1]
+@bar = internal constant { i32 } { i32 7 } ; <{ i32 }*> [#uses=1]
-implementation
+declare i32 @test(i32*)
-declare int %test(int*)
-
-void %foo() {
- call int %test(int* getelementptr ( {int} * %foo, long 0, uint 0))
- call int %test(int* getelementptr ( {int} * %bar, long 0, uint 0))
- ret void
+define void @foo() {
+ call i32 @test( i32* getelementptr ({ i32 }* @foo.upgrd.1, i64 0, i32 0) ) ; <i32>:1 [#uses=0]
+ call i32 @test( i32* getelementptr ({ i32 }* @bar, i64 0, i32 0) ) ; <i32>:2 [#uses=0]
+ ret void
}
+
diff --git a/test/Transforms/ConstantMerge/2003-10-28-MergeExternalConstants.ll b/test/Transforms/ConstantMerge/2003-10-28-MergeExternalConstants.ll
index 72f8ecf7d1..9a9c3ddf0a 100644
--- a/test/Transforms/ConstantMerge/2003-10-28-MergeExternalConstants.ll
+++ b/test/Transforms/ConstantMerge/2003-10-28-MergeExternalConstants.ll
@@ -1,7 +1,5 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -constmerge | llvm-dis | %prcontext foo 2 | grep bar
+; RUN: llvm-as < %s | opt -constmerge | llvm-dis | %prcontext foo 2 | grep bar
-%foo = constant int 6
-%bar = constant int 6
-
-implementation
+@foo = constant i32 6 ; <i32*> [#uses=0]
+@bar = constant i32 6 ; <i32*> [#uses=0]
diff --git a/test/Transforms/ConstantMerge/2006-03-07-DontMergeDiffSections.ll b/test/Transforms/ConstantMerge/2006-03-07-DontMergeDiffSections.ll
index 36786d9262..a621b594ca 100644
--- a/test/Transforms/ConstantMerge/2006-03-07-DontMergeDiffSections.ll
+++ b/test/Transforms/ConstantMerge/2006-03-07-DontMergeDiffSections.ll
@@ -1,15 +1,16 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -constmerge | llvm-dis | grep foo
-; RUN: llvm-upgrade < %s | llvm-as | opt -constmerge | llvm-dis | grep bar
+; RUN: llvm-as < %s | opt -constmerge | llvm-dis | grep foo
+; RUN: llvm-as < %s | opt -constmerge | llvm-dis | grep bar
; Don't merge constants in different sections.
-%G1 = internal constant int 1, section "foo"
-%G2 = internal constant int 1, section "bar"
-%G3 = internal constant int 1, section "bar"
+@G1 = internal constant i32 1, section "foo" ; <i32*> [#uses=1]
+@G2 = internal constant i32 1, section "bar" ; <i32*> [#uses=1]
+@G3 = internal constant i32 1, section "bar" ; <i32*> [#uses=1]
-void %test(int** %P1, int **%P2, int **%P3) {
- store int* %G1, int** %P1
- store int* %G2, int** %P2
- store int* %G3, int** %P3
- ret void
+define void @test(i32** %P1, i32** %P2, i32** %P3) {
+ store i32* @G1, i32** %P1
+ store i32* @G2, i32** %P2
+ store i32* @G3, i32** %P3
+ ret void
}
+
diff --git a/test/Transforms/DeadArgElim/2006-06-27-struct-ret.ll b/test/Transforms/DeadArgElim/2006-06-27-struct-ret.ll
index 2a7b3a1f04..0d86800c78 100644
--- a/test/Transforms/DeadArgElim/2006-06-27-struct-ret.ll
+++ b/test/Transforms/DeadArgElim/2006-06-27-struct-ret.ll
@@ -1,13 +1,11 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -deadargelim -disable-output
+; RUN: llvm-as < %s | opt -deadargelim -disable-output
-implementation
-
-internal csretcc void %build_delaunay({int}* %agg.result) {
- ret void
+define internal void @build_delaunay({ i32 }* sret %agg.result) {
+ ret void
}
-void %test() {
- call csretcc void %build_delaunay({int}* null)
- ret void
+define void @test() {
+ call void @build_delaunay( { i32 }* sret null )
+ ret void
}
diff --git a/test/Transforms/DeadArgElim/basictest.ll b/test/Transforms/DeadArgElim/basictest.ll
index a3a4235400..5f68f98596 100644
--- a/test/Transforms/DeadArgElim/basictest.ll
+++ b/test/Transforms/DeadArgElim/basictest.ll
@@ -1,37 +1,36 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -deadargelim | llvm-dis | not grep DEADARG
-
-implementation
+; RUN: llvm-as < %s | opt -deadargelim | llvm-dis | not grep DEADARG
; test - an obviously dead argument
-internal int %test(int %v, int %DEADARG1, int* %p) {
- store int %v, int* %p
- ret int %v
+define internal i32 @test(i32 %v, i32 %DEADARG1, i32* %p) {
+ store i32 %v, i32* %p
+ ret i32 %v
}
; hardertest - an argument which is only used by a call of a function with a
; dead argument.
-internal int %hardertest(int %DEADARG2) {
- %p = alloca int
- %V = call int %test(int 5, int %DEADARG2, int* %p)
- ret int %V
+define internal i32 @hardertest(i32 %DEADARG2) {
+ %p = alloca i32 ; <i32*> [#uses=1]
+ %V = call i32 @test( i32 5, i32 %DEADARG2, i32* %p ) ; <i32> [#uses=1]
+ ret i32 %V
}
; evenhardertest - recursive dead argument...
-internal void %evenhardertest(int %DEADARG3) {
- call void %evenhardertest(int %DEADARG3)
- ret void
+define internal void @evenhardertest(i32 %DEADARG3) {
+ call void @evenhardertest( i32 %DEADARG3 )
+ ret void
}
-internal void %needarg(int %TEST) {
- call int %needarg2(int %TEST)
- ret void
+define internal void @needarg(i32 %TEST) {
+ call i32 @needarg2( i32 %TEST ) ; <i32>:1 [#uses=0]
+ ret void
}
-internal int %needarg2(int %TEST) {
- ret int %TEST
+define internal i32 @needarg2(i32 %TEST) {
+ ret i32 %TEST
}
-internal void %needarg3(int %TEST3) {
- call void %needarg(int %TEST3)
- ret void
+define internal void @needarg3(i32 %TEST3) {
+ call void @needarg( i32 %TEST3 )
+ ret void
}
+
diff --git a/test/Transforms/DeadArgElim/dead_vaargs.ll b/test/Transforms/DeadArgElim/dead_vaargs.ll
index ecb84cc965..a4444bc102 100644
--- a/test/Transforms/DeadArgElim/dead_vaargs.ll
+++ b/test/Transforms/DeadArgElim/dead_vaargs.ll
@@ -1,12 +1,12 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -deadargelim | llvm-dis | not grep 47
-; RUN: llvm-upgrade < %s | llvm-as | opt -deadargelim | llvm-dis | not grep 1.0
+; RUN: llvm-as < %s | opt -deadargelim | llvm-dis | not grep 47
+; RUN: llvm-as < %s | opt -deadargelim | llvm-dis | not grep 1.0
-int %bar(int %A) {
- %tmp4 = tail call int (int, ...)* %foo( int %A, int %A, int %A, int %A, ulong 47, double 1.000000e+00 )
- ret int %tmp4
+define i32 @bar(i32 %A) {
+ %tmp4 = tail call i32 (i32, ...)* @foo( i32 %A, i32 %A, i32 %A, i32 %A, i64 47, double 1.000000e+00 ) ; <i32> [#uses=1]
+ ret i32 %tmp4
}
-internal int %foo(int %X, ...) {
- ret int %X
+define internal i32 @foo(i32 %X, ...) {
+ ret i32 %X
}
diff --git a/test/Transforms/DeadArgElim/deadretval.ll b/test/Transforms/DeadArgElim/deadretval.ll
index ccfbc2f739..5395290978 100644
--- a/test/Transforms/DeadArgElim/deadretval.ll
+++ b/test/Transforms/DeadArgElim/deadretval.ll
@@ -1,19 +1,18 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -deadargelim | llvm-dis | not grep DEAD
+; RUN: llvm-as < %s | opt -deadargelim | llvm-dis | not grep DEAD
-implementation
-
-internal int %test(int %DEADARG) { ; Dead arg only used by dead retval
- ret int %DEADARG
+; Dead arg only used by dead retval
+define internal i32 @test(i32 %DEADARG) {
+ ret i32 %DEADARG
}
-int %test2(int %A) {
- %DEAD = call int %test(int %A)
- ret int 123
+define i32 @test2(i32 %A) {
+ %DEAD = call i32 @test( i32 %A ) ; <i32> [#uses=0]
+ ret i32 123
}
-int %test3() {
- %X = call int %test2(int 3232)
- %Y = add int %X, -123
- ret int %Y
+define i32 @test3() {
+ %X = call i32 @test2( i32 3232 ) ; <i32> [#uses=1]
+ %Y = add i32 %X, -123 ; <i32> [#uses=1]
+ ret i32 %Y
}
diff --git a/test/Transforms/DeadArgElim/deadretval2.ll b/test/Transforms/DeadArgElim/deadretval2.ll
index 4f129ab1d0..76ce84dad8 100644
--- a/test/Transforms/DeadArgElim/deadretval2.ll
+++ b/test/Transforms/DeadArgElim/deadretval2.ll
@@ -1,36 +1,33 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -deadargelim -die | llvm-dis | not grep DEAD
+; RUN: llvm-as < %s | opt -deadargelim -die | llvm-dis | not grep DEAD
-%P = external global int
+@P = external global i32 ; <i32*> [#uses=1]
-implementation
-
-
-internal int %test(int %DEADARG) { ; Dead arg only used by dead retval
- ret int %DEADARG
+; Dead arg only used by dead retval
+define internal i32 @test(i32 %DEADARG) {
+ ret i32 %DEADARG
}
-internal int %test2(int %DEADARG) {
- %DEADRETVAL = call int %test(int %DEADARG)
- ret int %DEADRETVAL
+define internal i32 @test2(i32 %DEADARG) {
+ %DEADRETVAL = call i32 @test( i32 %DEADARG ) ; <i32> [#uses=1]
+ ret i32 %DEADRETVAL
}
-void %test3(int %X) {
- %DEADRETVAL = call int %test2(int %X)
- ret void
+define void @test3(i32 %X) {
+ %DEADRETVAL = call i32 @test2( i32 %X ) ; <i32> [#uses=0]
+ ret void
}
-internal int %foo() {
- %DEAD = load int* %P
- ret int %DEAD
+define internal i32 @foo() {
+ %DEAD = load i32* @P ; <i32> [#uses=1]
+ ret i32 %DEAD
}
-internal int %id(int %X) {
- ret int %X
+define internal i32 @id(i32 %X) {
+ ret i32 %X
}
-void %test4() {
- %DEAD = call int %foo()
- %DEAD2 = call int %id(int %DEAD)
- ret void
+define void @test4() {
+ %DEAD = call i32 @foo( ) ; <i32> [#uses=1]
+ %DEAD2 = call i32 @id( i32 %DEAD ) ; <i32> [#uses=0]
+ ret void
}
-
diff --git a/test/Transforms/DeadStoreElimination/2004-11-28-LiveStoreDeleted.ll b/test/Transforms/DeadStoreElimination/2004-11-28-LiveStoreDeleted.ll
index 36afb24ff3..660c74fd1c 100644
--- a/test/Transforms/DeadStoreElimination/2004-11-28-LiveStoreDeleted.ll
+++ b/test/Transforms/DeadStoreElimination/2004-11-28-LiveStoreDeleted.ll
@@ -1,14 +1,14 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -dse -scalarrepl -instcombine | \
+; RUN: llvm-as < %s | opt -dse -scalarrepl -instcombine | \
; RUN: llvm-dis | not grep {ret int undef}
-int %test(double %__x) {
- %__u = alloca { [3 x int] }
- %tmp.1 = cast { [3 x int] }* %__u to double*
- store double %__x, double* %tmp.1
- %tmp.4 = getelementptr { [3 x int] }* %__u, int 0, uint 0, int 1
- %tmp.5 = load int* %tmp.4
- %tmp.6 = setlt int %tmp.5, 0
- %tmp.7 = cast bool %tmp.6 to int
- ret int %tmp.7
+define i32 @test(double %__x) {
+ %__u = alloca { [3 x i32] } ; <{ [3 x i32] }*> [#uses=2]
+ %tmp.1 = bitcast { [3 x i32] }* %__u to double* ; <double*> [#uses=1]
+ store double %__x, double* %tmp.1
+ %tmp.4 = getelementptr { [3 x i32] }* %__u, i32 0, i32 0, i32 1 ; <i32*> [#uses=1]
+ %tmp.5 = load i32* %tmp.4 ; <i32> [#uses=1]
+ %tmp.6 = icmp slt i32 %tmp.5, 0 ; <i1> [#uses=1]
+ %tmp.7 = zext i1 %tmp.6 to i32 ; <i32> [#uses=1]
+ ret i32 %tmp.7
}
diff --git a/test/Transforms/DeadStoreElimination/2004-12-28-PartialStore.ll b/test/Transforms/DeadStoreElimination/2004-12-28-PartialStore.ll
index ec48e46a71..3c40347f30 100644
--- a/test/Transforms/DeadStoreElimination/2004-12-28-PartialStore.ll
+++ b/test/Transforms/DeadStoreElimination/2004-12-28-PartialStore.ll
@@ -1,13 +1,13 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -dse | llvm-dis | \
+; RUN: llvm-as < %s | opt -dse | llvm-dis | \
; RUN: grep {store i32 1234567}
; Do not delete stores that are only partially killed.
-int %test() {
- %V = alloca int
- store int 1234567, int* %V
- %V2 = cast int* %V to sbyte*
- store sbyte 0, sbyte* %V2
- %X = load int* %V
- ret int %X
+define i32 @test() {
+ %V = alloca i32 ; <i32*> [#uses=3]
+ store i32 1234567, i32* %V
+ %V2 = bitcast i32* %V to i8* ; <i8*> [#uses=1]
+ store i8 0, i8* %V2
+ %X = load i32* %V ; <i32> [#uses=1]
+ ret i32 %X
}
diff --git a/test/Transforms/DeadStoreElimination/2005-11-30-vaarg.ll b/test/Transforms/DeadStoreElimination/2005-11-30-vaarg.ll
index 58b253c9f4..58d6787087 100644
--- a/test/Transforms/DeadStoreElimination/2005-11-30-vaarg.ll
+++ b/test/Transforms/DeadStoreElimination/2005-11-30-vaarg.ll
@@ -1,9 +1,9 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -dse | llvm-dis | grep store
+; RUN: llvm-as < %s | opt -dse | llvm-dis | grep store
-double %foo(sbyte* %X) {
- %X_addr = alloca sbyte*
- store sbyte* %X, sbyte** %X_addr ;; not a dead store.
- %tmp.0 = va_arg sbyte** %X_addr, double
+define double @foo(i8* %X) {
+ %X_addr = alloca i8* ; <i8**> [#uses=2]
+ store i8* %X, i8** %X_addr
+ %tmp.0 = va_arg i8** %X_addr, double ; <double> [#uses=1]
ret double %tmp.0
}
diff --git a/test/Transforms/DeadStoreElimination/2006-06-27-AST-Remove.ll b/test/Transforms/DeadStoreElimination/2006-06-27-AST-Remove.ll
index 5deaef4608..50dcf3278b 100644
--- a/test/Transforms/DeadStoreElimination/2006-06-27-AST-Remove.ll
+++ b/test/Transforms/DeadStoreElimination/2006-06-27-AST-Remove.ll
@@ -1,1116 +1,1113 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -globalsmodref-aa -dse -disable-output
-target endian = big
-target pointersize = 32
+; RUN: llvm-as < %s | opt -globalsmodref-aa -dse -disable-output
+target datalayout = "E-p:32:32"
target triple = "powerpc-apple-darwin8"
- %struct.ECacheType = type { uint, uint, int }
- %struct.FILE = type { ubyte*, int, int, short, short, %struct.__sbuf, int, sbyte*, int (sbyte*)*, int (sbyte*, sbyte*, int)*, long (sbyte*, long, int)*, int (sbyte*, sbyte*, int)*, %struct.__sbuf, %struct.__sFILEX*, int, [3 x ubyte], [1 x ubyte], %struct.__sbuf, int, long }
- %struct.QTType = type { sbyte, sbyte, ushort, uint, uint, int }
- %struct.TType = type { sbyte, sbyte, sbyte, sbyte, ushort, uint, uint, int }
- %struct._RuneEntry = type { int, int, int, uint* }
- %struct._RuneLocale = type { [8 x sbyte], [32 x sbyte], int (sbyte*, uint, sbyte**)*, int (int, sbyte*, uint, sbyte**)*, int, [256 x uint], [256 x int], [256 x int], %struct._RuneRange, %struct._RuneRange, %struct._RuneRange, sbyte*, int }
- %struct._RuneRange = type { int, %struct._RuneEntry* }
+ %struct.ECacheType = type { i32, i32, i32 }
+ %struct.FILE = type { i8*, i32, i32, i16, i16, %struct.__sbuf, i32, i8*, i32 (i8*)*, i32 (i8*, i8*, i32)*, i64 (i8*, i64, i32)*, i32 (i8*, i8*, i32)*, %struct.__sbuf, %struct.__sFILEX*, i32, [3 x i8], [1 x i8], %struct.__sbuf, i32, i64 }
+ %struct.QTType = type { i8, i8, i16, i32, i32, i32 }
+ %struct.TType = type { i8, i8, i8, i8, i16, i32, i32, i32 }
+ %struct._RuneEntry = type { i32, i32, i32, i32* }
+ %struct._RuneLocale = type { [8 x i8], [32 x i8], i32 (i8*, i32, i8**)*, i32 (i32, i8*, i32, i8**)*, i32, [256 x i32], [256 x i32], [256 x i32], %struct._RuneRange, %struct._RuneRange, %struct._RuneRange, i8*, i32 }
+ %struct._RuneRange = type { i32, %struct._RuneEntry* }
%struct.__sFILEX = type opaque
- %struct.__sbuf = type { ubyte*, int }
- %struct.move_s = type { int, int, int, int, int, int }
- %struct.move_x = type { int, int, int, int }
- %struct.node_t = type { ubyte, ubyte, ubyte, ubyte, int, int, %struct.node_t**, %struct.node_t*, %struct.move_s }
- %struct.see_data = type { int, int }
-%rook_o.2925 = internal global [4 x int] [ int 12, int -12, int 1, int -1 ] ; <[4 x int]*> [#uses=0]
-%bishop_o.2926 = internal global [4 x int] [ int 11, int -11, int 13, int -13 ] ; <[4 x int]*> [#uses=0]
-%knight_o.2927 = internal global [8 x int] [ int 10, int -10, int 14, int -14, int 23, int -23, int 25, int -25 ] ; <[8 x int]*> [#uses=0]
-%board = internal global [144 x int] zeroinitializer ; <[144 x int]*> [#uses=0]
-%holding = internal global [2 x [16 x int]] zeroinitializer ; <[2 x [16 x int]]*> [#uses=0]
-%hold_hash = internal global uint 0 ; <uint*> [#uses=0]
-%white_hand_eval = internal global int 0 ; <int*> [#uses=0]
-%black_hand_eval = internal global int 0 ; <int*> [#uses=0]
-%num_holding = internal global [2 x int] zeroinitializer ; <[2 x int]*> [#uses=0]
-%zobrist = internal global [14 x [144 x uint]] zeroinitializer ; <[14 x [144 x uint]]*> [#uses=0]
-%Variant = internal global int 0 ; <int*> [#uses=7]
-%userealholdings.b = internal global bool false ; <bool*> [#uses=1]
-%realholdings = internal global [255 x sbyte] zeroinitializer ; <[255 x sbyte]*> [#uses=0]
-%comp_color = internal global int 0 ; <int*> [#uses=0]
-%C.97.3177 = internal global [13 x int] [ int 0, int 2, int 1, int 4, int 3, int 0, int 0, int 8, int 7, int 10, int 9, int 12, int 11 ] ; <[13 x int]*> [#uses=0]
-%str = internal global [30 x sbyte] c"%s:%u: failed assertion `%s'\0A\00" ; <[30 x sbyte]*> [#uses=0]
-%str = internal global [81 x sbyte] c"/Volumes/Stuff/src/speccpu2006-091-llvm/benchspec//CPU2006/458.sjeng/src/crazy.c\00" ; <[81 x sbyte]*> [#uses=0]
-%str = internal global [32 x sbyte] c"piece > frame && piece < npiece\00" ; <[32 x sbyte]*> [#uses=0]
-%C.101.3190 = internal global [13 x int] [ int 0, int 2, int 1, int 2, int 1, int 0, int 0, int 2, int 1, int 2, int 1, int 2, int 1 ] ; <[13 x int]*> [#uses=0]
-%hand_value = internal global [13 x int] [ int 0, int 100, int -100, int 210, int -210, int 0, int 0, int 250, int -250, int 450, int -450, int 230, int -230 ] ; <[13 x int]*> [#uses=0]
-%material = internal global [14 x int] zeroinitializer ; <[14 x int]*> [#uses=0]
-%Material = internal global int 0 ; <int*> [#uses=0]
-%str = internal global [23 x sbyte] c"holding[who][what] > 0\00" ; <[23 x sbyte]*> [#uses=0]
-%str = internal global [24 x sbyte] c"holding[who][what] < 20\00" ; <[24 x sbyte]*> [#uses=0]
-%fifty = internal global int 0 ; <int*> [#uses=0]
-%move_number = internal global int 0 ; <int*> [#uses=1]
-%ply = internal global int 0 ; <int*> [#uses=2]
-%hash_history = internal global [600 x uint] zeroinitializer ; <[600 x uint]*> [#uses=1]
-%hash = internal global uint 0 ; <uint*> [#uses=1]
-%ECacheSize.b = internal global bool false ; <bool*> [#uses=1]
-%ECache = internal global %struct.ECacheType* null ; <%struct.ECacheType**> [#uses=1]
-%ECacheProbes = internal global uint 0 ; <uint*> [#uses=1]
-%ECacheHits = internal global uint 0 ; <uint*> [#uses=1]
-%str = internal global [34 x sbyte] c"Out of memory allocating ECache.\0A\00" ; <[34 x sbyte]*> [#uses=0]
-%rankoffsets.2930 = internal global [8 x int] [ int 110, int 98, int 86, int 74, int 62, int 50, int 38, int 26 ] ; <[8 x int]*> [#uses=0]
-%white_castled = internal global int 0 ; <int*> [#uses=0]
-%black_castled = internal global int 0 ; <int*> [#uses=0]
-%book_ply = internal global int 0 ; <int*> [#uses=0]
-%bking_loc = internal global int 0 ; <int*> [#uses=1]
-%wking_loc = internal global int 0 ; <int*> [#uses=1]
-%white_to_move = internal global int 0 ; <int*> [#uses=3]
-%moved = internal global [144 x int] zeroinitializer ; <[144 x int]*> [#uses=0]
-%ep_square = internal global int 0 ; <int*> [#uses=0]
-%_DefaultRuneLocale = external global %struct._RuneLocale ; <%struct._RuneLocale*> [#uses=0]
-%str = internal global [3 x sbyte] c"bm\00" ; <[3 x sbyte]*> [#uses=0]
-%str1 = internal global [3 x sbyte] c"am\00" ; <[3 x sbyte]*> [#uses=0]
-%str1 = internal global [34 x sbyte] c"No best-move or avoid-move found!\00" ; <[34 x sbyte]*> [#uses=0]
-%str = internal global [25 x sbyte] c"\0AName of EPD testsuite: \00" ; <[25 x sbyte]*> [#uses=0]
-%__sF = external global [0 x %struct.FILE] ; <[0 x %struct.FILE]*> [#uses=0]
-%str = internal global [21 x sbyte] c"\0ATime per move (s): \00" ; <[21 x sbyte]*> [#uses=0]
-%str = internal global [2 x sbyte] c"\0A\00" ; <[2 x sbyte]*> [#uses=0]
-%str2 = internal global [2 x sbyte] c"r\00" ; <[2 x sbyte]*> [#uses=0]
-%root_to_move = internal global int 0 ; <int*> [#uses=1]
-%forcedwin.b = internal global bool false ; <bool*> [#uses=2]
-%fixed_time = internal global int 0 ; <int*> [#uses=1]
-%nodes = internal global int 0 ; <int*> [#uses=1]
-%qnodes = internal global int 0 ; <int*> [#uses=1]
-%str = internal global [29 x sbyte] c"\0ANodes: %i (%0.2f%% qnodes)\0A\00" ; <[29 x sbyte]*> [#uses=0]
-%str = internal global [54 x sbyte] c"ECacheProbes : %u ECacheHits : %u HitRate : %f%%\0A\00" ; <[54 x sbyte]*> [#uses=0]
-%TTStores = internal global uint 0 ; <uint*> [#uses=1]
-%TTProbes = internal global uint 0 ; <uint*> [#uses=1]
-%TTHits = internal global uint 0 ; <uint*> [#uses=1]
-%str = internal global [60 x sbyte] c"TTStores : %u TTProbes : %u TTHits : %u HitRate : %f%%\0A\00" ; <[60 x sbyte]*> [#uses=0]
-%NTries = internal global uint 0 ; <uint*> [#uses=1]
-%NCuts = internal global uint 0 ; <uint*> [#uses=1]
-%TExt = internal global uint 0 ; <uint*> [#uses=1]
-%str = internal global [51 x sbyte] c"NTries : %u NCuts : %u CutRate : %f%% TExt: %u\0A\00" ; <[51 x sbyte]*> [#uses=0]
-%ext_check = internal global uint 0 ; <uint*> [#uses=1]
-%razor_drop = internal global uint 0 ; <uint*> [#uses=1]
-%razor_material = internal global uint 0 ; <uint*> [#uses=1]
-%str = internal global [61 x sbyte] c"Check extensions: %u Razor drops : %u Razor Material : %u\0A\00" ; <[61 x sbyte]*> [#uses=0]
-%FHF = internal global uint 0 ; <uint*> [#uses=1]
-%FH = internal global uint 0 ; <uint*> [#uses=1]
-%str = internal global [22 x sbyte] c"Move ordering : %f%%\0A\00" ; <[22 x sbyte]*> [#uses=0]
-%maxposdiff = internal global int 0 ; <int*> [#uses=1]
-%str = internal global [47 x sbyte] c"Material score: %d Eval : %d MaxPosDiff: %d\0A\00" ; <[47 x sbyte]*> [#uses=0]
-%str = internal global [17 x sbyte] c"Solution found.\0A\00" ; <[17 x sbyte]*> [#uses=0]
-%str3 = internal global [21 x sbyte] c"Solution not found.\0A\00" ; <[21 x sbyte]*> [#uses=0]
-%str = internal global [15 x sbyte] c"Solved: %d/%d\0A\00" ; <[15 x sbyte]*> [#uses=0]
-%str = internal global [9 x sbyte] c"EPD: %s\0A\00" ; <[9 x sbyte]*> [#uses=0]
-%str4 = internal global [21 x sbyte] c"Searching to %d ply\0A\00" ; <[21 x sbyte]*> [#uses=0]
-%maxdepth = internal global int 0 ; <int*> [#uses=0]
-%std_material = internal global [14 x int] [ int 0, int 100, int -100, int 310, int -310, int 4000, int -4000, int 500, int -500, int 900, int -900, int 325, int -325, int 0 ] ; <[14 x int]*> [#uses=0]
-%zh_material = internal global [14 x int] [ int 0, int 100, int -100, int 210, int -210, int 4000, int -4000, int 250, int -250, int 450, int -450, int 230, int -230, int 0 ] ; <[14 x int]*> [#uses=0]
-%suicide_material = internal global [14 x int] [ int 0, int 15, int -15, int 150, int -150, int 500, int -500, int 150, int -150, int 50, int -50, int 0, int 0, int 0 ] ; <[14 x int]*> [#uses=0]
-%losers_material = internal global [14 x int] [ int 0, int 80, int -80, int 320, int -320, int 1000, int -1000, int 350, int -350, int 400, int -400, int 270, int -270, int 0 ] ; <[14 x int]*> [#uses=0]
-%Xfile = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 1, int 2, int 3, int 4, int 5, int 6, int 7, int 8, int 0, int 0, int 0, int 0, int 1, int 2, int 3, int 4, int 5, int 6, int 7, int 8, int 0, int 0, int 0, int 0, int 1, int 2, int 3, int 4, int 5, int 6, int 7, int 8, int 0, int 0, int 0, int 0, int 1, int 2, int 3, int 4, int 5, int 6, int 7, int 8, int 0, int 0, int 0, int 0, int 1, int 2, int 3, int 4, int 5, int 6, int 7, int 8, int 0, int 0, int 0, int 0, int 1, int 2, int 3, int 4, int 5, int 6, int 7, int 8, int 0, int 0, int 0, int 0, int 1, int 2, int 3, int 4, int 5, int 6, int 7, int 8, int 0, int 0, int 0, int 0, int 1, int 2, int 3, int 4, int 5, int 6, int 7, int 8, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ] ; <[144 x int]*> [#uses=0]
-%Xrank = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 1, int 1, int 1, int 1, int 1, int 1, int 1, int 1, int 0, int 0, int 0, int 0, int 2, int 2, int 2, int 2, int 2, int 2, int 2, int 2, int 0, int 0, int 0, int 0, int 3, int 3, int 3, int 3, int 3, int 3, int 3, int 3, int 0, int 0, int 0, int 0, int 4, int 4, int 4, int 4, int 4, int 4, int 4, int 4, int 0, int 0, int 0, int 0, int 5, int 5, int 5, int 5, int 5, int 5, int 5, int 5, int 0, int 0, int 0, int 0, int 6, int 6, int 6, int 6, int 6, int 6, int 6, int 6, int 0, int 0, int 0, int 0, int 7, int 7, int 7, int 7, int 7, int 7, int 7, int 7, int 0, int 0, int 0, int 0, int 8, int 8, int 8, int 8, int 8, int 8, int 8, int 8, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ] ; <[144 x int]*> [#uses=0]
-%Xdiagl = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 1, int 2, int 3, int 4, int 5, int 6, int 7, int 8, int 0, int 0, int 0, int 0, int 9, int 1, int 2, int 3, int 4, int 5, int 6, int 7, int 0, int 0, int 0, int 0, int 10, int 9, int 1, int 2, int 3, int 4, int 5, int 6, int 0, int 0, int 0, int 0, int 11, int 10, int 9, int 1, int 2, int 3, int 4, int 5, int 0, int 0, int 0, int 0, int 12, int 11, int 10, int 9, int 1, int 2, int 3, int 4, int 0, int 0, int 0, int 0, int 13, int 12, int 11, int 10, int 9, int 1, int 2, int 3, int 0, int 0, int 0, int 0, int 14, int 13, int 12, int 11, int 10, int 9, int 1, int 2, int 0, int 0, int 0, int 0, int 15, int 14, int 13, int 12, int 11, int 10, int 9, int 1, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ] ; <[144 x int]*> [#uses=0]
-%Xdiagr = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 15, int 14, int 13, int 12, int 11, int 10, int 9, int 1, int 0, int 0, int 0, int 0, int 14, int 13, int 12, int 11, int 10, int 9, int 1, int 2, int 0, int 0, int 0, int 0, int 13, int 12, int 11, int 10, int 9, int 1, int 2, int 3, int 0, int 0, int 0, int 0, int 12, int 11, int 10, int 9, int 1, int 2, int 3, int 4, int 0, int 0, int 0, int 0, int 11, int 10, int 9, int 1, int 2, int 3, int 4, int 5, int 0, int 0, int 0, int 0, int 10, int 9, int 1, int 2, int 3, int 4, int 5, int 6, int 0, int 0, int 0, int 0, int 9, int 1, int 2, int 3, int 4, int 5, int 6, int 7, int 0, int 0, int 0, int 0, int 1, int 2, int 3, int 4, int 5, int 6, int 7, int 8, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ] ; <[144 x int]*> [#uses=0]
-%sqcolor = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 1, int 0, int 1, int 0, int 1, int 0, int 1, int 0, int 0, int 0, int 0, int 0, int 0, int 1, int 0, int 1, int 0, int 1, int 0, int 1, int 0, int 0, int 0, int 0, int 1, int 0, int 1, int 0, int 1, int 0, int 1, int 0, int 0, int 0, int 0, int 0, int 0, int 1, int 0, int 1, int 0, int 1, int 0, int 1, int 0, int 0, int 0, int 0, int 1, int 0, int 1, int 0, int 1, int 0, int 1, int 0, int 0, int 0, int 0, int 0, int 0, int 1, int 0, int 1, int 0, int 1, int 0, int 1, int 0, int 0, int 0, int 0, int 1, int 0, int 1, int 0, int 1, int 0, int 1, int 0, int 0, int 0, int 0, int 0, int 0, int 1, int 0, int 1, int 0, int 1, int 0, int 1, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ] ; <[144 x int]*> [#uses=0]
-%pcsqbishop = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int -5, int -5, int -10, int -5, int -5, int -10, int -5, int -5, int 0, int 0, int 0, int 0, int -5, int 10, int 5, int 10, int 10, int 5, int 10, int -5, int 0, int 0, int 0, int 0, int -5, int 5, int 6, int 15, int 15, int 6, int 5, int -5, int 0, int 0, int 0, int 0, int -5, int 3, int 15, int 10, int 10, int 15, int 3, int -5, int 0, int 0, int 0, int 0, int -5, int 3, int 15, int 10, int 10, int 15, int 3, int -5, int 0, int 0, int 0, int 0, int -5, int 5, int 6, int 15, int 15, int 6, int 5, int -5, int 0, int 0, int 0, int 0, int -5, int 10, int 5, int 10, int 10, int 5, int 10, int -5, int 0, int 0, int 0, int 0, int -5, int -5, int -10, int -5, int -5, int -10, int -5, int -5, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ] ; <[144 x int]*> [#uses=0]
-%black_knight = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int -20, int -10, int -10, int -10, int -10, int -10, int -10, int -20, int 0, int 0, int 0, int 0, int -10, int 15, int 25, int 25, int 25, int 25, int 15, int -10, int 0, int 0, int 0, int 0, int -10, int 15, int 25, int 35, int 35, int 35, int 15, int -10, int 0, int 0, int 0, int 0, int -10, int 10, int 25, int 20, int 25, int 25, int 10, int -10, int 0, int 0, int 0, int 0, int -10, int 0, int 20, int 20, int 20, int 20, int 0, int -10, int 0, int 0, int 0, int 0, int -10, int 0, int 15, int 15, int 15, int 15, int 0, int -10, int 0, int 0, int 0, int 0, int -10, int 0, int 0, int 3, int 3, int 0, int 0, int -10, int 0, int 0, int 0, int 0, int -20, int -35, int -10, int -10, int -10, int -10, int -35, int -20, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ] ; <[144 x int]*> [#uses=0]
-%white_knight = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int -20, int -35, int -10, int -10, int -10, int -10, int -35, int -20, int 0, int 0, int 0, int 0, int -10, int 0, int 0, int 3, int 3, int 0, int 0, int -10, int 0, int 0, int 0, int 0, int -10, int 0, int 15, int 15, int 15, int 15, int 0, int -10, int 0, int 0, int 0, int 0, int -10, int 0, int 20, int 20, int 20, int 20, int 0, int -10, int 0, int 0, int 0, int 0, int -10, int 10, int 25, int 20, int 25, int 25, int 10, int -10, int 0, int 0, int 0, int 0, int -10, int 15, int 25, int 35, int 35, int 35, int 15, int -10, int 0, int 0, int 0, int 0, int -10, int 15, int 25, int 25, int 25, int 25, int 15, int -10, int 0, int 0, int 0, int 0, int -20, int -10, int -10, int -10, int -10, int -10, int -10, int -20, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ] ; <[144 x int]*> [#uses=0]
-%white_pawn = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 25, int 25, int 35, int 5, int 5, int 50, int 45, int 30, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 7, int 7, int 5, int 5, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 14, int 14, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 10, int 20, int 20, int 10, int 5, int 5, int 0, int 0, int 0, int 0, int 12, int 18, int 18, int 27, int 27, int 18, int 18, int 18, int 0, int 0, int 0, int 0, int 25, int 30, int 30, int 35, int 35, int 35, int 30, int 25, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ] ; <[144 x int]*> [#uses=0]
-%black_pawn = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 30, int 30, int 30, int 35, int 35, int 35, int 30, int 25, int 0, int 0, int 0, int 0, int 12, int 18, int 18, int 27, int 27, int 18, int 18, int 18, int 0, int 0, int 0, int 0, int 0, int 0, int 10, int 20, int 20, int 10, int 5, int 5, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 14, int 14, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 7, int 7, int 5, int 5, int 0, int 0, int 0, int 0, int 0, int 25, int 25, int 35, int 5, int 5, int 50, int 45, int 30, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ] ; <[144 x int]*> [#uses=0]
-%white_king = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int -100, int 7, int 4, int 0, int 10, int 4, int 7, int -100, int 0, int 0, int 0, int 0, int -250, int -200, int -150, int -100, int -100, int -150, int -200, int -250, int 0, int 0, int 0, int 0, int -350, int -300, int -300, int -250, int -250, int -300, int -300, int -350, int 0, int 0, int 0, int 0, int -400, int -400, int -400, int -350, int -350, int -400, int -400, int -400, int 0, int 0, int 0, int 0, int -450, int -450, int -450, int -450, int -450, int -450, int -450, int -450, int 0, int 0, int 0, int 0, int -500, int -500, int -500, int -500, int -500, int -500, int -500, int -500, int 0, int 0, int 0, int 0, int -500, int -500, int -500, int -500, int -500, int -500, int -500, int -500, int 0, int 0, int 0, int 0, int -500, int -500, int -500, int -500, int -500, int -500, int -500, int -500, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ] ; <[144 x int]*> [#uses=0]
-%black_king = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int -500, int -500, int -500, int -500, int -500, int -500, int -500, int -500, int 0, int 0, int 0, int 0, int -500, int -500, int -500, int -500, int -500, int -500, int -500, int -500, int 0, int 0, int 0, int 0, int -500, int -500, int -500, int -500, int -500, int -500, int -500, int -500, int 0, int 0, int 0, int 0, int -450, int -450, int -450, int -450, int -450, int -450, int -450, int -450, int 0, int 0, int 0, int 0, int -400, int -400, int -400, int -350, int -350, int -400, int -400, int -400, int 0, int 0, int 0, int 0, int -350, int -300, int -300, int -250, int -250, int -300, int -300, int -350, int 0, int 0, int 0, int 0, int -250, int -200, int -150, int -100, int -100, int -150, int -200, int -250, int 0, int 0, int 0, int 0, int -100, int 7, int 4, int 0, int 10, int 4, int 7, int -100, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ] ; <[144 x int]*> [#uses=0]
-%black_queen = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 5, int 5, int 5, int 10, int 10, int 5, int 5, int 5, int 0, int 0, int 0, int 0, int 0, int 0, int 3, int 3, int 3, int 3, int 3, int 0, int 0, int 0, int 0, int 0, int -30, int -30, int -30, int -30, int -30, int -30, int -30, int -30, int 0, int 0, int 0, int 0, int -60, int -40, int -40, int -60, int -60, int -40, int -40, int -60, int 0, int 0, int 0, int 0, int -40, int -40, int -40, int -40, int -40, int -40, int -40, int -40, int 0, int 0, int 0, int 0, int -15, int -15, int -15, int -10, int -10, int -15, int -15, int -15, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 7, int 10, int 5, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 5, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ] ; <[144 x int]*> [#uses=0]
-%white_queen = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 5, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 7, int 10, int 5, int 0, int 0, int 0, int 0, int 0, int 0, int -15, int -15, int -15, int -10, int -10, int -15, int -15, int -15, int 0, int 0, int 0, int 0, int -40, int -40, int -40, int -40, int -40, int -40, int -40, int -40, int 0, int 0, int 0, int 0, int -60, int -40, int -40, int -60, int -60, int -40, int -40, int -60, int 0, int 0, int 0, int 0, int -30, int -30, int -30, int -30, int -30, int -30, int -30, int -30, int 0, int 0, int 0, int 0, int 0, int 0, int 3, int 3, int 3, int 3, int 3, int 0, int 0, int 0, int 0, int 0, int 5, int 5, int 5, int 10, int 10, int 5, int 5, int 5, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ] ; <[144 x int]*> [#uses=0]
-%black_rook = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 10, int 15, int 20, int 25, int 25, int 20, int 15, int 10, int 0, int 0, int 0, int 0, int 0, int 10, int 15, int 20, int 20, int 15, int 10, int 0, int 0, int 0, int 0, int 0, int -20, int -20, int -20, int -20, int -20, int -20, int -20, int -20, int 0, int 0, int 0, int 0, int -20, int -20, int -20, int -30, int -30, int -20, int -20, int -20, int 0, int 0, int 0, int 0, int -20, int -20, int -20, int -20, int -20, int -20, int -20, int -20, int 0, int 0, int 0, int 0, int -15, int -15, int -15, int -10, int -10, int -15, int -15, int -15, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 7, int 10, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 2, int 2, int 2, int 2, int 2, int 2, int 2, int 2, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ] ; <[144 x int]*> [#uses=0]
-%white_rook = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 2, int 2, int 2, int 2, int 2, int 2, int 2, int 2, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 7, int 10, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int -15, int -15, int -15, int -10, int -10, int -15, int -15, int -15, int 0, int 0, int 0, int 0, int -20, int -20, int -20, int -20, int -20, int -20, int -20, int -20, int 0, int 0, int 0, int 0, int -20, int -20, int -20, int -30, int -30, int -20, int -20, int -20, int 0, int 0, int 0, int 0, int -20, int -20, int -20, int -20, int -20, int -20, int -20, int -20, int 0, int 0, int 0, int 0, int 0, int 10, int 15, int 20, int 20, int 15, int 10, int 0, int 0, int 0, int 0, int 0, int 10, int 15, int 20, int 25, int 25, int 20, int 15, int 10, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ] ; <[144 x int]*> [#uses=0]
-%upscale = internal global [64 x int] [ int 26, int 27, int 28, int 29, int 30, int 31, int 32, int 33, int 38, int 39, int 40, int 41, int 42, int 43, int 44, int 45, int 50, int 51, int 52, int 53, int 54, int 55, int 56, int 57, int 62, int 63, int 64, int 65, int 66, int 67, int 68, int 69, int 74, int 75, int 76, int 77, int 78, int 79, int 80, int 81, int 86, int 87, int 88, int 89, int 90, int 91, int 92, int 93, int 98, int 99, int 100, int 101, int 102, int 103, int 104, int 105, int 110, int 111, int 112, int 113, int 114, int 115, int 116, int 117 ] ; <[64 x int]*> [#uses=0]
-%pre_p_tropism = internal global [9 x int] [ int 9999, int 40, int 20, int 10, int 3, int 1, int 1, int 0, int 9999 ] ; <[9 x int]*> [#uses=0]
-%pre_r_tropism = internal global [9 x int] [ int 9999, int 50, int 40, int 15, int 5, int 1, int 1, int 0, int 9999 ] ; <[9 x int]*> [#uses=0]
-%pre_n_tropism = internal global [9 x int] [ int 9999, int 50, int 70, int 35, int 10, int 2, int 1, int 0, int 9999 ] ; <[9 x int]*> [#uses=0]
-%pre_q_tropism = internal global [9 x int] [ int 9999, int 100, int 60, int 20, int 5, int 2, int 0, int 0, int 9999 ] ; <[9 x int]*> [#uses=0]
-%pre_b_tropism = internal global [9 x int] [ int 9999, int 50, int 25, int 15, int 5, int 2, int 2, int 2, int 9999 ] ; <[9 x int]*> [#uses=0]
-%rookdistance = internal global [144 x [144 x int]] zeroinitializer ; <[144 x [144 x int]]*> [#uses=0]
-%distance = internal global [144 x [144 x int]] zeroinitializer ; <[144 x [144 x int]]*> [#uses=0]
-%p_tropism = internal global [144 x [144 x ubyte]] zeroinitializer ; <[144 x [144 x ubyte]]*> [#uses=0]
-%b_tropism = internal global [144 x [144 x ubyte]] zeroinitializer ; <[144 x [144 x ubyte]]*> [#uses=0]
-%n_tropism = internal global [144 x [144 x ubyte]] zeroinitializer ; <[144 x [144 x ubyte]]*> [#uses=0]
-%r_tropism = internal global [144 x [144 x ubyte]] zeroinitializer ; <[144 x [144 x ubyte]]*> [#uses=0]
-%q_tropism = internal global [144 x [144 x ubyte]] zeroinitializer ; <[144 x [144 x ubyte]]*> [#uses=0]
-%cfg_devscale.b = internal global bool false ; <bool*> [#uses=0]
-%pieces = internal global [62 x int] zeroinitializer ; <[62 x int]*> [#uses=0]
-%piece_count = internal global int 0 ; <int*> [#uses=1]
-%cfg_smarteval.b = internal global bool false ; <bool*> [#uses=0]
-%lcentral = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int -20, int -15, int -15, int -15, int -15, int -15, int -15, int -20, int 0, int 0, int 0, int 0, int -15, int 0, int 3, int 5, int 5, int 3, int 0, int -15, int 0, int 0, int 0, int 0, int -15, int 0, int 15, int 15, int 15, int 15, int 0, int -15, int 0, int 0, int 0, int 0, int -15, int 0, int 15, int 30, int 30, int 15, int 0, int -15, int 0, int 0, int 0, int 0, int -15, int 0, int 15, int 30, int 30, int 15, int 0, int -15, int 0, int 0, int 0, int 0, int -15, int 0, int 15, int 15, int 15, int 15, int 0, int -15, int 0, int 0, int 0, int 0, int -15, int 0, int 3, int 5, int 5, int 3, int 0, int -15, int 0, int 0, int 0, int 0, int -20, int -15, int -15, int -15, int -15, int -15, int -15, int -20, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ] ; <[144 x int]*> [#uses=0]
-%str3 = internal global [81 x sbyte] c"/Volumes/Stuff/src/speccpu2006-091-llvm/benchspec//CPU2006/458.sjeng/src/leval.c\00" ; <[81 x sbyte]*> [#uses=0]
-%str5 = internal global [21 x sbyte] c"(i > 0) && (i < 145)\00" ; <[21 x sbyte]*> [#uses=0]
-%kingcap.b = internal global bool false ; <bool*> [#uses=0]
-%numb_moves = internal global int 0 ; <int*> [#uses=2]
-%genfor = internal global %struct.move_s* null ; <%struct.move_s**> [#uses=0]
-%captures = internal global uint 0 ; <uint*> [#uses=1]
-%fcaptures.b = internal global bool false ; <bool*> [#uses=0]
-%gfrom = internal global int 0 ; <int*> [#uses=0]
-%Giveaway.b = internal global bool false ; <bool*> [#uses=0]
-%path_x = internal global [300 x %struct.move_x] zeroinitializer ; <[300 x %struct.move_x]*> [#uses=0]
-%str7 = internal global [81 x sbyte] c"/Volumes/Stuff/src/speccpu2006-091-llvm/benchspec//CPU2006/458.sjeng/src/moves.c\00" ; <[81 x sbyte]*> [#uses=0]
-%str8 = internal global [15 x sbyte] c"find_slot < 63\00" ; <[15 x sbyte]*> [#uses=0]
-%is_promoted = internal global [62 x int] zeroinitializer ; <[62 x int]*> [#uses=0]
-%squares = internal global [144 x int] zeroinitializer ; <[144 x int]*> [#uses=0]
-%str = internal global [38 x sbyte] c"promoted > frame && promoted < npiece\00" ; <[38 x sbyte]*> [#uses=0]
-%str1 = internal global [38 x sbyte] c"promoted < npiece && promoted > frame\00" ; <[38 x sbyte]*> [#uses=0]
-%evalRoutines = internal global [7 x int (int, int)*] [ int (int, int)* %ErrorIt, int (int, int)* %Pawn, int (int, int)* %Knight, int (int, int)* %King, int (int, int)* %Rook, int (int, int)* %Queen, int (int, int)* %Bishop ] ; <[7 x int (int, int)*]*> [#uses=0]
-%sbishop = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int -2, int -2, int -2, int -2, int -2, int -2, int -2, int -2, int 0, int 0, int 0, int 0, int -2, int 8, int 5, int 5, int 5, int 5, int 8, int -2, int 0, int 0, int 0, int 0, int -2, int 3, int 3, int 5, int 5, int 3, int 3, int -2, int 0, int 0, int 0, int 0, int -2, int 2, int 5, int 4, int 4, int 5, int 2, int -2, int 0, int 0, int 0, int 0, int -2, int 2, int 5, int 4, int 4, int 5, int 2, int -2, int 0, int 0, int 0, int 0, int -2, int 3, int 3, int 5, int 5, int 3, int 3, int -2, int 0, int 0, int 0, int 0, int -2, int 8, int 5, int 5, int 5, int 5, int 8, int -2, int 0, int 0, int 0, int 0, int -2, int -2, int -2, int -2, int -2, int -2, int -2, int -2, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ] ; <[144 x int]*> [#uses=0]
-%sknight = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int -20, int -10, int -10, int -10, int -10, int -10, int -10, int -20, int 0, int 0, int 0, int 0, int -10, int 0, int 0, int 3, int 3, int 0, int 0, int -10, int 0, int 0, int 0, int 0, int -10, int 0, int 5, int 5, int 5, int 5, int 0, int -10, int 0, int 0, int 0, int 0, int -10, int 0, int 5, int 10, int 10, int 5, int 0, int -10, int 0, int 0, int 0, int 0, int -10, int 0, int 5, int 10, int 10, int 5, int 0, int -10, int 0, int 0, int 0, int 0, int -10, int 0, int 5, int 5, int 5, int 5, int 0, int -10, int 0, int 0, int 0, int 0, int -10, int 0, int 0, int 3, int 3, int 0, int 0, int -10, int 0, int 0, int 0, int 0, int -20, int -10, int -10, int -10, int -10, int -10, int -10, int -20, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ] ; <[144 x int]*> [#uses=0]
-%swhite_pawn = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 1, int 2, int 3, int 10, int 10, int 3, int 2, int 1, int 0, int 0, int 0, int 0, int 2, int 4, int 6, int 12, int 12, int 6, int 4, int 2, int 0, int 0, int 0, int 0, int 3, int 6, int 9, int 14, int 14, int 9, int 6, int 3, int 0, int 0, int 0, int 0, int 10, int 12, int 14, int 16, int 16, int 14, int 12, int 10, int 0, int 0, int 0, int 0, int 20, int 22, int 24, int 26, int 26, int 24, int 22, int 20, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ] ; <[144 x int]*> [#uses=0]
-%sblack_pawn = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 20, int 22, int 24, int 26, int 26, int 24, int 22, int 20, int 0, int 0, int 0, int 0, int 10, int 12, int 14, int 16, int 16, int 14, int 12, int 10, int 0, int 0, int 0, int 0, int 3, int 6, int 9, int 14, int 14, int 9, int 6, int 3, int 0, int 0, int 0, int 0, int 2, int 4, int 6, int 12, int 12, int 6, int 4, int 2, int 0, int 0, int 0, int 0, int 1, int 2, int 3, int 10, int 10, int 3, int 2, int 1, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ] ; <[144 x int]*> [#uses=0]
-%swhite_king = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 2, int 14, int 0, int 0, int 0, int 9, int 14, int 2, int 0, int 0, int 0, int 0, int -3, int -5, int -6, int -6, int -6, int -6, int -5, int -3, int 0, int 0, int 0, int 0, int -5, int -5, int -8, int -8, int -8, int -8, int -5, int -5, int 0, int 0, int 0, int 0, int -8, int -8, int -13, int -13, int -13, int -13, int -8, int -8, int 0, int 0, int 0, int 0, int -13, int -13, int -21, int -21, int -21, int -21, int -13, int -13, int 0, int 0, int 0, int 0, int -21, int -21, int -34, int -34, int -34, int -34, int -21, int -21, int 0, int 0, int 0, int 0, int -34, int -34, int -55, int -55, int -55, int -55, int -34, int -34, int 0, int 0, int 0, int 0, int -55, int -55, int -89, int -89, int -89, int -89, int -55, int -55, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ] ; <[144 x int]*> [#uses=0]
-%sblack_king = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int -55, int -55, int -89, int -89, int -89, int -89, int -55, int -55, int 0, int 0, int 0, int 0, int -34, int -34, int -55, int -55, int -55, int -55, int -34, int -34, int 0, int 0, int 0, int 0, int -21, int -21, int -34, int -34, int -34, int -34, int -21, int -21, int 0, int 0, int 0, int 0, int -13, int -13, int -21, int -21, int -21, int -21, int -13, int -13, int 0, int 0, int 0, int 0, int -8, int -8, int -13, int -13, int -13, int -13, int -8, int -8, int 0, int 0, int 0, int 0, int -5, int -5, int -8, int -8, int -8, int -8, int -5, int -5, int 0, int 0, int 0, int 0, int -3, int -5, int -6, int -6, int -6, int -6, int -5, int -3, int 0, int 0, int 0, int 0, int 2, int 14, int 0, int 0, int 0, int 9, int 14, int 2, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ] ; <[144 x int]*> [#uses=0]
-%send_king = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int -5, int -3, int -1, int 0, int 0, int -1, int -3, int -5, int 0, int 0, int 0, int 0, int -3, int 10, int 10, int 10, int 10, int 10, int 10, int -3, int 0, int 0, int 0, int 0, int -1, int 10, int 25, int 25, int 25, int 25, int 10, int -1, int 0, int 0, int 0, int 0, int 0, int 10, int 25, int 50, int 50, int 25, int 10, int 0, int 0, int 0, int 0, int 0, int 0, int 10, int 25, int 50, int 50, int 25, int 10, int 0, int 0, int 0, int 0, int 0, int -1, int 10, int 25, int 25, int 25, int 25, int 10, int -1, int 0, int 0, int 0, int 0, int -3, int 10, int 10, int 10, int 10, int 10, int 10, int -3, int 0, int 0, int 0, int 0, int -5, int -3, int -1, int 0, int 0, int -1, int -3, int -5, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ] ; <[144 x int]*> [#uses=0]
-%srev_rank = internal global [9 x int] [ int 0, int 8, int 7, int 6, int 5, int 4, int 3, int 2, int 1 ] ; <[9 x int]*> [#uses=0]
-%std_p_tropism = internal global [8 x int] [ int 9999, int 15, int 10, int 7, int 2, int 0, int 0, int 0 ] ; <[8 x int]*> [#uses=0]
-%std_own_p_tropism = internal global [8 x int] [ int 9999, int 30, int 10, int 2, int 0, int 0, int 0, int 0 ] ; <[8 x int]*> [#uses=0]
-%std_r_tropism = internal global [16 x int] [ int 9999, int 0, int 15, int 5, int 2, int 1, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ] ; <[16 x int]*> [#uses=0]
-%std_n_tropism = internal global [8 x int] [ int 9999, int 14, int 9, int 6, int 1, int 0, int 0, int 0 ] ; <[8 x int]*> [#uses=0]
-%std_q_tropism = internal global [8 x int] [ int 9999, int 200, int 50, int 15, int 3, int 2, int 1, int 0 ] ; <[8 x int]*> [#uses=0]
-%std_b_tropism = internal global [8 x int] [ int 9999, int 12, int 7, int 5, int 0, int 0, int 0, int 0 ] ; <[8 x int]*> [#uses=0]
-%phase = internal global int 0 ; <int*> [#uses=1]
-%dir.3001 = internal global [4 x int] [ int -13, int -11, int 11, int 13 ] ; <[4 x int]*> [#uses=0]
-%dir.3021 = internal global [4 x int] [ int -1, int 1, int 12, int -12 ] ; <[4 x int]*> [#uses=0]
-%king_locs = internal global [2 x int] zeroinitializer ; <[2 x int]*> [#uses=0]
-%square_d1.3081 = internal global [2 x int] [ int 29, int 113 ] ; <[2 x int]*> [#uses=0]
-%wmat = internal global int 0 ; <int*> [#uses=0]
-%bmat = internal global int 0 ; <int*> [#uses=0]
-%str = internal global [35 x sbyte] c"Illegal piece detected sq=%i c=%i\0A\00" ; <[35 x sbyte]*> [#uses=0]
-%str10 = internal global [81 x sbyte] c"/Volumes/Stuff/src/speccpu2006-091-llvm/benchspec//CPU2006/458.sjeng/src/neval.c\00" ; <[81 x sbyte]*> [#uses=0]
-%std_hand_value = internal global [13 x int] [ int 0, int 100, int -100, int 210, int -210, int 0, int 0, int 250, int -250, int 450, int -450, int 230, int -230 ] ; <[13 x int]*> [#uses=0]
-%xb_mode = internal global int 0 ; <int*> [#uses=0]
-%str = internal global [69 x sbyte] c"tellics ptell Hello! I am Sjeng and hope you enjoy playing with me.\0A\00" ; <[69 x sbyte]*> [#uses=0]
-%str = internal global [76 x sbyte] c"tellics ptell For help on some commands that I understand, ptell me 'help'\0A\00" ; <[76 x sbyte]*> [#uses=0]
-%str12 = internal global [3 x sbyte] c"%s\00" ; <[3 x sbyte]*> [#uses=0]
-%my_partner = internal global [256 x sbyte] zeroinitializer ; <[256 x sbyte]*> [#uses=0]
-%str13 = internal global [25 x sbyte] c"tellics set f5 bughouse\0A\00" ; <[25 x sbyte]*> [#uses=0]
-%str = internal global [16 x sbyte] c"tellics unseek\0A\00" ; <[16 x sbyte]*> [#uses=0]
-%str = internal global [20 x sbyte] c"tellics set f5 1=1\0A\00" ; <[20 x sbyte]*> [#uses=0]
-%str = internal global [80 x sbyte] c"is...uh...what did you say?\0A\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00" ; <[80 x sbyte]*> [#uses=0]
-%str = internal global [5 x sbyte] c"help\00" ; <[5 x sbyte]*> [#uses=0]
-%str = internal global [147 x sbyte] c"tellics ptell Commands that I understand are : sit, go, fast, slow, abort, flag, +/++/+++/-/--/---{p,n,b,r,q,d,h,trades}, x, dead, formula, help.\0A\00" ; <[147 x sbyte]*> [#uses=0]
-%str = internal global [6 x sbyte] c"sorry\00" ; <[6 x sbyte]*> [#uses=0]
-%str = internal global [59 x sbyte] c"tellics ptell Sorry, but I'm not playing a bughouse game.\0A\00" ; <[59 x sbyte]*> [#uses=0]
-%str = internal global [4 x sbyte] c"sit\00" ; <[4 x sbyte]*> [#uses=0]
-%str = internal global [56 x sbyte] c"tellics ptell Ok, I sit next move. Tell me when to go.\0A\00" ; <[56 x sbyte]*> [#uses=0]
-%must_sit.b = internal global bool false ; <bool*> [#uses=0]
-%str114 = internal global [3 x sbyte] c"go\00" ; <[3 x sbyte]*> [#uses=0]
-%str2 = internal global [5 x sbyte] c"move\00" ; <[5 x sbyte]*> [#uses=0]
-%str = internal global [31 x sbyte] c"tellics ptell Ok, I'm moving.\0A\00" ; <[31 x sbyte]*> [#uses=0]
-%str3 = internal global [5 x sbyte] c"fast\00" ; <[5 x sbyte]*> [#uses=0]
-%str4 = internal global [5 x sbyte] c"time\00" ; <[5 x sbyte]*> [#uses=0]
-%str15 = internal global [35 x sbyte] c"tellics ptell Ok, I'm going FAST!\0A\00" ; <[35 x sbyte]*> [#uses=0]
-%go_fast.b = internal global bool false ; <bool*> [#uses=0]
-%str5 = internal global [5 x sbyte] c"slow\00" ; <[5 x sbyte]*> [#uses=0]
-%str16 = internal global [36 x sbyte] c"tellics ptell Ok, moving normally.\0A\00" ; <[36 x sbyte]*> [#uses=0]
-%str6 = internal global [6 x sbyte] c"abort\00" ; <[6 x sbyte]*> [#uses=0]
-%str7 = internal global [35 x sbyte] c"tellics ptell Requesting abort...\0A\00" ; <[35 x sbyte]*> [#uses=0]
-%str17 = internal global [15 x sbyte] c"tellics abort\0A\00" ; <[15 x sbyte]*> [#uses=0]
-%str8 = internal global [5 x sbyte] c"flag\00" ; <[5 x sbyte]*> [#uses=0]
-%str = internal global [27 x sbyte] c"tellics ptell Flagging...\0A\00" ; <[27 x sbyte]*> [#uses=0]
-%str = internal global [14 x sbyte] c"tellics flag\0A\00" ; <[14 x sbyte]*> [#uses=0]
-%str18 = internal global [2 x sbyte] c"+\00" ; <[2 x sbyte]*> [#uses=0]
-%str9 = internal global [6 x sbyte] c"trade\00" ; <[6 x sbyte]*> [#uses=0]
-%str10 = internal global [35 x sbyte] c"tellics ptell Ok, trading is GOOD\0A\00" ; <[35 x sbyte]*> [#uses=0]
-%str11 = internal global [4 x sbyte] c"+++\00" ; <[4 x sbyte]*> [#uses=0]
-%str12 = internal global [6 x sbyte] c"mates\00" ; <[6 x sbyte]*> [#uses=0]
-%str13 = internal global [3 x sbyte] c"++\00" ; <[3 x sbyte]*> [#uses=0]
-%str = internal global [49 x sbyte] c"is VERY good (ptell me 'x' to play normal again)\00" ; <[49 x sbyte]*> [#uses=0]
-%str = internal global [44 x sbyte] c"is good (ptell me 'x' to play normal again)\00" ; <[44 x sbyte]*> [#uses=0]
-%str19 = internal global [29 x sbyte] c"tellics ptell Ok, Knight %s\0A\00" ; <[29 x sbyte]*> [#uses=0]
-%str14 = internal global [29 x sbyte] c"tellics ptell Ok, Bishop %s\0A\00" ; <[29 x sbyte]*> [#uses=0]
-%str15 = internal global [27 x sbyte] c"tellics ptell Ok, Rook %s\0A\00" ; <[27 x sbyte]*> [#uses=0]
-%str = internal global [28 x sbyte] c"tellics ptell Ok, Queen %s\0A\00" ; <[28 x sbyte]*> [#uses=0]
-%str16 = internal global [27 x sbyte] c"tellics ptell Ok, Pawn %s\0A\00" ; <[27 x sbyte]*> [#uses=0]
-%str17 = internal global [31 x sbyte] c"tellics ptell Ok, Diagonal %s\0A\00" ; <[31 x sbyte]*> [#uses=0]
-%str18 = internal global [28 x sbyte] c"tellics ptell Ok, Heavy %s\0A\00" ; <[28 x sbyte]*> [#uses=0]
-%str20 = internal global [34 x sbyte] c"tellics ptell Ok, trading is BAD\0A\00" ; <[34 x sbyte]*> [#uses=0]
-%str20 = internal global [4 x sbyte] c"---\00" ; <[4 x sbyte]*> [#uses=0]
-%str = internal global [53 x sbyte] c"mates you (ptell me 'x' when it no longer mates you)\00" ; <[53 x sbyte]*> [#uses=0]
-%str21 = internal global [3 x sbyte] c"--\00" ; <[3 x sbyte]*> [#uses=0]
-%str = internal global [52 x sbyte] c"is VERY bad (ptell me 'x' when it is no longer bad)\00" ; <[52 x sbyte]*> [#uses=0]
-%str21 = internal global [47 x sbyte] c"is bad (ptell me 'x' when it is no longer bad)\00" ; <[47 x sbyte]*> [#uses=0]
-%str23 = internal global [16 x sbyte] c"mate me anymore\00" ; <[16 x sbyte]*> [#uses=0]
-%str24 = internal global [6 x sbyte] c"never\00" ; <[6 x sbyte]*> [#uses=0]
-%str25 = internal global [5 x sbyte] c"mind\00" ; <[5 x sbyte]*> [#uses=0]
-%str22 = internal global [9 x sbyte] c"ptell me\00" ; <[9 x sbyte]*> [#uses=0]
-%str = internal global [55 x sbyte] c"tellics ptell Ok, reverting to STANDARD piece values!\0A\00" ; <[55 x sbyte]*> [#uses=0]
-%partnerdead.b = internal global bool false ; <bool*> [#uses=0]
-%piecedead.b = internal global bool false ; <bool*> [#uses=0]
-%str = internal global [26 x sbyte] c"i'll have to sit...(dead)\00" ; <[26 x sbyte]*> [#uses=0]
-%str27 = internal global [5 x sbyte] c"dead\00" ; <[5 x sbyte]*> [#uses=0]
-%str28 = internal global [27 x sbyte] c"i'll have to sit...(piece)\00" ; <[27 x sbyte]*> [#uses=0]
-%str29 = internal global [3 x sbyte] c"ok\00" ; <[3 x sbyte]*> [#uses=0]
-%str30 = internal global [3 x sbyte] c"hi\00" ; <[3 x sbyte]*> [#uses=0]
-%str31 = internal global [6 x sbyte] c"hello\00" ; <[6 x sbyte]*> [#uses=0]
-%str32 = internal global [26 x sbyte] c"tellics ptell Greetings.\0A\00" ; <[26 x sbyte]*> [#uses=0]
-%str = internal global [8 x sbyte] c"formula\00" ; <[8 x sbyte]*> [#uses=0]
-%str = internal global [87 x sbyte] c"tellics ptell Setting formula, if you are still interrupted, complain to my operator.\0A\00" ; <[87 x sbyte]*> [#uses=0]
-%str33 = internal global [59 x sbyte] c"tellics ptell Sorry, but I don't understand that command.\0A\00" ; <[59 x sbyte]*> [#uses=0]
-%pawnmated.3298 = internal global int 0 ; <int*> [#uses=0]
-%knightmated.3299 = internal global int 0 ; <int*> [#uses=0]
-%bishopmated.3300 = internal global int 0 ; <int*> [#uses=0]
-%rookmated.3301 = internal global int 0 ; <int*> [#uses=0]
-%queenmated.3302 = internal global int 0 ; <int*> [#uses=0]
-%str = internal global [41 x sbyte] c"tellics ptell p doesn't mate me anymore\0A\00" ; <[41 x sbyte]*> [#uses=0]
-%str34 = internal global [41 x sbyte] c"tellics ptell n doesn't mate me anymore\0A\00" ; <[41 x sbyte]*> [#uses=0]
-%str35 = internal global [41 x sbyte] c"tellics ptell b doesn't mate me anymore\0A\00" ; <[41 x sbyte]*> [#uses=0]
-%str36 = internal global [41 x sbyte] c"tellics ptell r doesn't mate me anymore\0A\00" ; <[41 x sbyte]*> [#uses=0]
-%str37 = internal global [41 x sbyte] c"tellics ptell q doesn't mate me anymore\0A\00" ; <[41 x sbyte]*> [#uses=0]
-%str38 = internal global [20 x sbyte] c"tellics ptell ---p\0A\00" ; <[20 x sbyte]*> [#uses=0]
-%str39 = internal global [20 x sbyte] c"tellics ptell ---n\0A\00" ; <[20 x sbyte]*> [#uses=0]
-%str40 = internal global [20 x sbyte] c"tellics ptell ---b\0A\00" ; <[20 x sbyte]*> [#uses=0]
-%str41 = internal global [20 x sbyte] c"tellics ptell ---r\0A\00" ; <[20 x sbyte]*> [#uses=0]
-%str42 = internal global [20 x sbyte] c"tellics ptell ---q\0A\00" ; <[20 x sbyte]*> [#uses=0]
-%str23 = internal global [17 x sbyte] c"tellics ptell x\0A\00" ; <[17 x sbyte]*> [#uses=0]
-%str = internal global [18 x sbyte] c"tellics ptell go\0A\00" ; <[18 x sbyte]*> [#uses=0]
-%bufftop = internal global int 0 ; <int*> [#uses=2]
-%membuff = internal global ubyte* null ; <ubyte**> [#uses=3]
-%maxply = internal global int 0 ; <int*> [#uses=1]
-%forwards = internal global int 0 ; <int*> [#uses=1]
-%nodecount = internal global int 0 ; <int*> [#uses=1]
-%frees = internal global int 0 ; <int*> [#uses=0]
-%PBSize.b = internal global bool false ; <bool*> [#uses=1]
-%alllosers.b = internal global bool false ; <bool*> [#uses=1]
-%rootlosers = internal global [300 x int] zeroinitializer ; <[300 x int]*> [#uses=1]
-%pn_move = internal global %struct.move_s zeroinitializer ; <%struct.move_s*> [#uses=7]
-%iters = internal global int 0 ; <int*> [#uses=1]
-%kibitzed.b = internal global bool false ; <bool*> [#uses=0]
-%str24 = internal global [28 x sbyte] c"tellics kibitz Forced win!\0A\00" ; <[28 x sbyte]*> [#uses=0]
-%str25 = internal global [34 x sbyte] c"tellics kibitz Forced win! (alt)\0A\00" ; <[34 x sbyte]*> [#uses=0]
-%pn_time = internal global int 0 ; <int*> [#uses=1]
-%post = internal global uint 0 ; <uint*> [#uses=0]
-%str = internal global [94 x sbyte] c"tellics whisper proof %d, disproof %d, %d losers, highest depth %d, primary %d, secondary %d\0A\00" ; <[94 x sbyte]*> [#uses=0]
-%str26 = internal global [30 x sbyte] c"tellics whisper Forced reply\0A\00" ; <[30 x sbyte]*> [#uses=0]
-%str27 = internal global [60 x sbyte] c"P: %d D: %d N: %d S: %d Mem: %2.2fM Iters: %d MaxDepth: %d\0A\00" ; <[60 x sbyte]*> [#uses=0]
-%str = internal global [90 x sbyte] c"tellics whisper proof %d, disproof %d, %d nodes, %d forwards, %d iters, highest depth %d\0A\00" ; <[90 x sbyte]*> [#uses=0]
-%str = internal global [11 x sbyte] c"Time : %f\0A\00" ; <[11 x sbyte]*> [#uses=0]
-%str28 = internal global [23 x sbyte] c"This position is WON.\0A\00" ; <[23 x sbyte]*> [#uses=0]
-%str29 = internal global [5 x sbyte] c"PV: \00" ; <[5 x sbyte]*> [#uses=0]
-%str30 = internal global [4 x sbyte] c"%s \00" ; <[4 x sbyte]*> [#uses=0]
-%str31 = internal global [2 x sbyte] c" \00" ; <[2 x sbyte]*> [#uses=0]
-%str32 = internal global [41 x sbyte] c"\0Atellics kibitz Forced win in %d moves.\0A\00" ; <[41 x sbyte]*> [#uses=0]
-%str33 = internal global [20 x sbyte] c"\0A1-0 {White mates}\0A\00" ; <[20 x sbyte]*> [#uses=0]
-%result = internal global int 0 ; <int*> [#uses=4]
-%str1 = internal global [20 x sbyte] c"\0A0-1 {Black mates}\0A\00" ; <[20 x sbyte]*> [#uses=0]
-%str35 = internal global [24 x sbyte] c"This position is LOST.\0A\00" ; <[24 x sbyte]*> [#uses=0]
-%str36 = internal global [27 x sbyte] c"This position is UNKNOWN.\0A\00" ; <[27 x sbyte]*> [#uses=0]
-%str37 = internal global [47 x sbyte] c"P: %d D: %d N: %d S: %d Mem: %2.2fM Iters: %d\0A\00" ; <[47 x sbyte]*> [#uses=0]
-%s_threat.b = internal global bool false ; <bool*> [#uses=0]
-%TTSize.b = internal global bool false ; <bool*> [#uses=3]
-%cfg_razordrop.b = internal global bool false ; <bool*> [#uses=0]
-%cfg_futprune.b = internal global bool false ; <bool*> [#uses=0]
-%cfg_onerep.b = internal global bool false ; <bool*> [#uses=0]
-%setcode = internal global [30 x sbyte] zeroinitializer ; <[30 x sbyte]*> [#uses=0]
-%str38 = internal global [3 x sbyte] c"%u\00" ; <[3 x sbyte]*> [#uses=0]
-%searching_pv.b = internal global bool false ; <bool*> [#uses=0]
-%pv = internal global [300 x [300 x %struct.move_s]] zeroinitializer ; <[300 x [300 x %struct.move_s]]*> [#uses=0]
-%i_depth = internal global int 0 ; <int*> [#uses=0]
-%history_h = internal global [144 x [144 x uint]] zeroinitializer ; <[144 x [144 x uint]]*> [#uses=0]
-%killer1 = internal global [300 x %struct.move_s] zeroinitializer ; <[300 x %struct.move_s]*> [#uses=0]
-%killer2 = internal global [300 x %struct.move_s] zeroinitializer ; <[300 x %struct.move_s]*> [#uses=0]
-%killer3 = internal global [300 x %struct.move_s] zeroinitializer ; <[300 x %struct.move_s]*> [#uses=0]
-%rootnodecount = internal global [512 x uint] zeroinitializer ; <[512 x uint]*> [#uses=0]
-%raw_nodes = internal global int 0 ; <int*> [#uses=0]
-%pv_length = internal global [300 x int] zeroinitializer ; <[300 x int]*> [#uses=0]
-%time_exit.b = internal global bool false ; <bool*> [#uses=0]
-%time_for_move = internal global int 0 ; <int*> [#uses=3]
-%failed = internal global int 0 ; <int*> [#uses=0]
-%extendedtime.b = internal global bool false ; <bool*> [#uses=1]
-%time_left = internal global int 0 ; <int*> [#uses=0]
-%str39 = internal global [38 x sbyte] c"Extended from %d to %d, time left %d\0A\00" ; <[38 x sbyte]*> [#uses=0]
-%checks = internal global [300 x uint] zeroinitializer ; <[300 x uint]*> [#uses=0]
-%singular = internal global [300 x uint] zeroinitializer ; <[300 x uint]*> [#uses=0]
-%recaps = internal global [300 x uint] zeroinitializer ; <[300 x uint]*> [#uses=0]
-%ext_onerep = internal global uint 0 ; <uint*> [#uses=1]
-%FULL = internal global uint 0 ; <uint*> [#uses=1]
-%PVS = internal global uint 0 ; <uint*> [#uses=1]
-%PVSF = internal global uint 0 ; <uint*> [#uses=1]
-%killer_scores = internal global [300 x int] zeroinitializer ; <[300 x int]*> [#uses=0]
-%killer_scores2 = internal global [300 x int] zeroinitializer ; <[300 x int]*> [#uses=0]
-%killer_scores3 = internal global [300 x int] zeroinitializer ; <[300 x int]*> [#uses=0]
-%time_failure.b = internal global bool false ; <bool*> [#uses=0]
-%cur_score = internal global int 0 ; <int*> [#uses=0]
-%legals = internal global int 0 ; <int*> [#uses=3]
-%movetotal = internal global int 0 ; <int*> [#uses=0]
-%searching_move = internal global [20 x sbyte] zeroinitializer ; <[20 x sbyte]*> [#uses=0]
-%is_pondering.b = internal global bool false ; <bool*> [#uses=6]
-%true_i_depth = internal global sbyte 0 ; <sbyte*> [#uses=1]
-%is_analyzing.b = internal global bool false ; <bool*> [#uses=0]
-%inc = internal global int 0 ; <int*> [#uses=1]
-%time_cushion = internal global int 0 ; <int*> [#uses=2]
-%str40 = internal global [16 x sbyte] c"Opening phase.\0A\00" ; <[16 x sbyte]*> [#uses=1]
-%str = internal global [19 x sbyte] c"Middlegame phase.\0A\00" ; <[19 x sbyte]*> [#uses=1]
-%str1 = internal global [16 x sbyte] c"Endgame phase.\0A\00" ; <[16 x sbyte]*> [#uses=1]
-%str43 = internal global [20 x sbyte] c"Time for move : %d\0A\00" ; <[20 x sbyte]*> [#uses=1]
-%postpv = internal global [256 x sbyte] zeroinitializer ; <[256 x sbyte]*> [#uses=0]
-%str44 = internal global [49 x sbyte] c"tellics whisper %d restart(s), ended up with %s\0A\00" ; <[49 x sbyte]*> [#uses=0]
-%moves_to_tc = internal global int 0 ; <int*> [#uses=0]
-%str45 = internal global [27 x sbyte] c"tellics kibitz Mate in %d\0A\00" ; <[27 x sbyte]*> [#uses=0]
-%str46 = internal global [52 x sbyte] c"tellics ptell Mate in %d, give him no more pieces.\0A\00" ; <[52 x sbyte]*> [#uses=0]
-%tradefreely.b = internal global bool false ; <bool*> [#uses=0]
-%str = internal global [37 x sbyte] c"tellics ptell You can trade freely.\0A\00" ; <[37 x sbyte]*> [#uses=0]
-%str47 = internal global [25 x sbyte] c"tellics ptell ---trades\0A\00" ; <[25 x sbyte]*> [#uses=0]
-%str2 = internal global [49 x sbyte] c"tellics kibitz Both players dead...resigning...\0A\00" ; <[49 x sbyte]*> [#uses=0]
-%str3 = internal global [16 x sbyte] c"tellics resign\0A\00" ; <[16 x sbyte]*> [#uses=0]
-%str48 = internal global [81 x sbyte] c"tellics ptell I am forcedly mated (dead). Tell me 'go' to start moving into it.\0A\00" ; <[81 x sbyte]*> [#uses=0]
-%str = internal global [62 x sbyte] c"tellics ptell I'll have to sit...(lose piece that mates you)\0A\00" ; <[62 x sbyte]*> [#uses=0]
-%see_num_attackers = internal global [2 x int] zeroinitializer ; <[2 x int]*> [#uses=0]
-%see_attackers = internal global [2 x [16 x %struct.see_data]] zeroinitializer ; <[2 x [16 x %struct.see_data]]*> [#uses=0]
-%scentral = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int -20, int -10, int -10, int -10, int -10, int -10, int -10, int -20, int 0, int 0, int 0, int 0, int -10, int 0, int 3, int 5, int 5, int 3, int 0, int -10, int 0, int 0, int 0, int 0, int -10, int 2, int 15, int 15, int 15, int 15, int 2, int -10, int 0, int 0, int 0, int 0, int -10, int 7, int 15, int 25, int 25, int 15, int 7, int -10, int 0, int 0, int 0, int 0, int -10, int 7, int 15, int 25, int 25, int 15, int 7, int -10, int 0, int 0, int 0, int 0, int -10, int 2, int 15, int 15, int 15, int 15, int 2, int -10, int 0, int 0, int 0, int 0, int -10, int 0, int 3, int 5, int 5, int 3, int 0, int -10, int 0, int 0, int 0, int 0, int -20, int -10, int -10, int -10, int -10, int -10, int -10, int -20, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ] ; <[144 x int]*> [#uses=0]
-%str51 = internal global [81 x sbyte] c"/Volumes/Stuff/src/speccpu2006-091-llvm/benchspec//CPU2006/458.sjeng/src/seval.c\00" ; <[81 x sbyte]*> [#uses=0]
-%divider = internal global [50 x sbyte] c"-------------------------------------------------\00" ; <[50 x sbyte]*> [#uses=0]
-%min_per_game = internal global int 0 ; <int*> [#uses=0]
-%opp_rating = internal global int 0 ; <int*> [#uses=0]
-%my_rating = internal global int 0 ; <int*> [#uses=0]
-%str53 = internal global [15 x sbyte] c"SPEC Workload\0A\00" ; <[15 x sbyte]*> [#uses=0]
-%opening_history = internal global [256 x sbyte] zeroinitializer ; <[256 x sbyte]*> [#uses=0]
-%str60 = internal global [81 x sbyte] c"Material score: %d Eval : %d MaxPosDiff: %d White hand: %d Black hand : %d\0A\00" ; <[81 x sbyte]*> [#uses=0]
-%str61 = internal global [26 x sbyte] c"Hash : %X HoldHash : %X\0A\00" ; <[26 x sbyte]*> [#uses=0]
-%str62 = internal global [9 x sbyte] c"move %s\0A\00" ; <[9 x sbyte]*> [#uses=0]
-%str63 = internal global [5 x sbyte] c"\0A%s\0A\00" ; <[5 x sbyte]*> [#uses=0]
-%str64 = internal global [19 x sbyte] c"0-1 {Black Mates}\0A\00" ; <[19 x sbyte]*> [#uses=0]
-%str1 = internal global [19 x sbyte] c"1-0 {White Mates}\0A\00" ; <[19 x sbyte]*> [#uses=0]
-%str65 = internal global [27 x sbyte] c"1/2-1/2 {Fifty move rule}\0A\00" ; <[27 x sbyte]*> [#uses=0]
-%str2 = internal global [29 x sbyte] c"1/2-1/2 {3 fold repetition}\0A\00" ; <[29 x sbyte]*> [#uses=0]
-%str66 = internal global [16 x sbyte] c"1/2-1/2 {Draw}\0A\00" ; <[16 x sbyte]*> [#uses=0]
-%str68 = internal global [8 x sbyte] c"Sjeng: \00" ; <[8 x sbyte]*> [#uses=0]
-%str69 = internal global [18 x sbyte] c"Illegal move: %s\0A\00" ; <[18 x sbyte]*> [#uses=0]
-%str3 = internal global [9 x sbyte] c"setboard\00" ; <[9 x sbyte]*> [#uses=0]
-%str470 = internal global [5 x sbyte] c"quit\00" ; <[5 x sbyte]*> [#uses=0]
-%str571 = internal global [5 x sbyte] c"exit\00" ; <[5 x sbyte]*> [#uses=0]
-%str6 = internal global [8 x sbyte] c"diagram\00" ; <[8 x sbyte]*> [#uses=0]
-%str7 = internal global [2 x sbyte] c"d\00" ; <[2 x sbyte]*> [#uses=0]
-%str72 = internal global [6 x sbyte] c"perft\00" ; <[6 x sbyte]*> [#uses=0]
-%str73 = internal global [3 x sbyte] c"%d\00" ; <[3 x sbyte]*> [#uses=0]
-%str74 = internal global [28 x sbyte] c"Raw nodes for depth %d: %i\0A\00" ; <[28 x sbyte]*> [#uses=0]
-%str = internal global [13 x sbyte] c"Time : %.2f\0A\00" ; <[13 x sbyte]*> [#uses=0]
-%str75 = internal global [4 x sbyte] c"new\00" ; <[4 x sbyte]*> [#uses=0]
-%str = internal global [40 x sbyte] c"tellics set 1 Sjeng SPEC 1.0 (SPEC/%s)\0A\00" ; <[40 x sbyte]*> [#uses=0]
-%str = internal global [7 x sbyte] c"xboard\00" ; <[7 x sbyte]*> [#uses=0]
-%str8 = internal global [6 x sbyte] c"nodes\00" ; <[6 x sbyte]*> [#uses=0]
-%str77 = internal global [38 x sbyte] c"Number of nodes: %i (%0.2f%% qnodes)\0A\00" ; <[38 x sbyte]*> [#uses=0]
-%str9 = internal global [5 x sbyte] c"post\00" ; <[5 x sbyte]*> [#uses=0]
-%str10 = internal global [7 x sbyte] c"nopost\00" ; <[7 x sbyte]*> [#uses=0]
-%str11 = internal global [7 x sbyte] c"random\00" ; <[7 x sbyte]*> [#uses=0]
-%str12 = internal global [5 x sbyte] c"hard\00" ; <[5 x sbyte]*> [#uses=0]
-%str13 = internal global [5 x sbyte] c"easy\00" ; <[5 x sbyte]*> [#uses=0]
-%str14 = internal global [2 x sbyte] c"?\00" ; <[2 x sbyte]*> [#uses=0]
-%str15 = internal global [6 x sbyte] c"white\00" ; <[6 x sbyte]*> [#uses=0]
-%str16 = internal global [6 x sbyte] c"black\00" ; <[6 x sbyte]*> [#uses=0]
-%str17 = internal global [6 x sbyte] c"force\00" ; <[6 x sbyte]*> [#uses=0]
-%str18 = internal global [5 x sbyte] c"eval\00" ; <[5 x sbyte]*> [#uses=0]
-%str = internal global [10 x sbyte] c"Eval: %d\0A\00" ; <[10 x sbyte]*> [#uses=0]
-%str2178 = internal global [3 x sbyte] c"%i\00" ; <[3 x sbyte]*> [#uses=0]
-%str22 = internal global [5 x sbyte] c"otim\00" ; <[5 x sbyte]*> [#uses=0]
-%opp_time = internal global int 0 ; <int*> [#uses=0]
-%str23 = internal global [6 x sbyte] c"level\00" ; <[6 x sbyte]*> [#uses=0]
-%str = internal global [12 x sbyte] c"%i %i:%i %i\00" ; <[12 x sbyte]*> [#uses=0]
-%sec_per_game = internal global int 0 ; <int*> [#uses=0]
-%str24 = internal global [9 x sbyte] c"%i %i %i\00" ; <[9 x sbyte]*> [#uses=0]
-%str25 = internal global [7 x sbyte] c"rating\00" ; <[7 x sbyte]*> [#uses=0]
-%str26 = internal global [6 x sbyte] c"%i %i\00" ; <[6 x sbyte]*> [#uses=0]
-%str27 = internal global [8 x sbyte] c"holding\00" ; <[8 x sbyte]*> [#uses=0]
-%str28 = internal global [8 x sbyte] c"variant\00" ; <[8 x sbyte]*> [#uses=0]
-%str29 = internal global [7 x sbyte] c"normal\00" ; <[7 x sbyte]*> [#uses=0]
-%str79 = internal global [11 x sbyte] c"crazyhouse\00" ; <[11 x sbyte]*> [#uses=0]
-%str30 = internal global [9 x sbyte] c"bughouse\00" ; <[9 x sbyte]*> [#uses=0]
-%str31 = internal global [8 x sbyte] c"suicide\00" ; <[8 x sbyte]*> [#uses=0]
-%str32 = internal global [9 x sbyte] c"giveaway\00" ; <[9 x sbyte]*> [#uses=0]
-%str33 = internal global [7 x sbyte] c"losers\00" ; <[7 x sbyte]*> [#uses=0]
-%str34 = internal global [8 x sbyte] c"analyze\00" ; <[8 x sbyte]*> [#uses=0]
-%str35 = internal global [5 x sbyte] c"undo\00" ; <[5 x sbyte]*> [#uses=0]
-%str36 = internal global [18 x sbyte] c"Move number : %d\0A\00" ; <[18 x sbyte]*> [#uses=0]
-%str37 = internal global [7 x sbyte] c"remove\00" ; <[7 x sbyte]*> [#uses=0]
-%str38 = internal global [5 x sbyte] c"edit\00" ; <[5 x sbyte]*> [#uses=0]
-%str41 = internal global [2 x sbyte] c"#\00" ; <[2 x sbyte]*> [#uses=0]
-%str42 = internal global [8 x sbyte] c"partner\00" ; <[8 x sbyte]*> [#uses=0]
-%str43 = internal global [9 x sbyte] c"$partner\00" ; <[9 x sbyte]*> [#uses=0]
-%str44 = internal global [6 x sbyte] c"ptell\00" ; <[6 x sbyte]*> [#uses=0]
-%str45 = internal global [5 x sbyte] c"test\00" ; <[5 x sbyte]*> [#uses=0]
-%str46 = internal global [3 x sbyte] c"st\00" ; <[3 x sbyte]*> [#uses=0]
-%str47 = internal global [7 x sbyte] c"result\00" ; <[7 x sbyte]*> [#uses=0]
-%str48 = internal global [6 x sbyte] c"prove\00" ; <[6 x sbyte]*> [#uses=0]
-%str49 = internal global [26 x sbyte] c"\0AMax time to search (s): \00" ; <[26 x sbyte]*> [#uses=0]
-%str50 = internal global [5 x sbyte] c"ping\00" ; <[5 x sbyte]*> [#uses=0]
-%str51 = internal global [9 x sbyte] c"pong %d\0A\00" ; <[9 x sbyte]*> [#uses=0]
-%str52 = internal global [6 x sbyte] c"fritz\00" ; <[6 x sbyte]*> [#uses=0]
-%str53 = internal global [6 x sbyte] c"reset\00" ; <[6 x sbyte]*> [#uses=0]
-%str54 = internal global [3 x sbyte] c"sd\00" ; <[3 x sbyte]*> [#uses=0]
-%str55 = internal global [26 x sbyte] c"New max depth set to: %d\0A\00" ; <[26 x sbyte]*> [#uses=0]
-%str56 = internal global [5 x sbyte] c"auto\00" ; <[5 x sbyte]*> [#uses=0]
-%str57 = internal global [9 x sbyte] c"protover\00" ; <[9 x sbyte]*> [#uses=0]
-%str = internal global [63 x sbyte] c"feature ping=0 setboard=1 playother=0 san=0 usermove=0 time=1\0A\00" ; <[63 x sbyte]*> [#uses=0]
-%str80 = internal global [53 x sbyte] c"feature draw=0 sigint=0 sigterm=0 reuse=1 analyze=0\0A\00" ; <[53 x sbyte]*> [#uses=0]
-%str = internal global [33 x sbyte] c"feature myname=\22Sjeng SPEC 1.0\22\0A\00" ; <[33 x sbyte]*> [#uses=0]
-%str = internal global [71 x sbyte] c"feature variants=\22normal,bughouse,crazyhouse,suicide,giveaway,losers\22\0A\00" ; <[71 x sbyte]*> [#uses=0]
-%str = internal global [46 x sbyte] c"feature colors=1 ics=0 name=0 pause=0 done=1\0A\00" ; <[46 x sbyte]*> [#uses=0]
-%str58 = internal global [9 x sbyte] c"accepted\00" ; <[9 x sbyte]*> [#uses=0]
-%str59 = internal global [9 x sbyte] c"rejected\00" ; <[9 x sbyte]*> [#uses=0]
-%str = internal global [65 x sbyte] c"Interface does not support a required feature...expect trouble.\0A\00" ; <[65 x sbyte]*> [#uses=0]
-%str61 = internal global [6 x sbyte] c"\0A%s\0A\0A\00" ; <[6 x sbyte]*> [#uses=0]
-%str81 = internal global [41 x sbyte] c"diagram/d: toggle diagram display\0A\00" ; <[41 x sbyte]*> [#uses=0]
-%str82 = internal global [34 x sbyte] c"exit/quit: terminate Sjeng\0A\00" ; <[34 x sbyte]*> [#uses=0]
-%str62 = internal global [51 x sbyte] c"go: make Sjeng play the side to move\0A\00" ; <[51 x sbyte]*> [#uses=0]
-%str83 = internal global [35 x sbyte] c"new: start a new game\0A\00" ; <[35 x sbyte]*> [#uses=0]
-%str84 = internal global [55 x sbyte] c"level <x>: the xboard style command to set time\0A\00" ; <[55 x sbyte]*> [#uses=0]
-%str85 = internal global [49 x sbyte] c" <x> should be in the form: <a> <b> <c> where:\0A\00" ; <[49 x sbyte]*> [#uses=0]
-%str63 = internal global [49 x sbyte] c" a -> moves to TC (0 if using an ICS style TC)\0A\00" ; <[49 x sbyte]*> [#uses=0]
-%str86 = internal global [25 x sbyte] c" b -> minutes per game\0A\00" ; <[25 x sbyte]*> [#uses=0]
-%str64 = internal global [29 x sbyte] c" c -> increment in seconds\0A\00" ; <[29 x sbyte]*> [#uses=0]
-%str65 = internal global [55 x sbyte] c"nodes: outputs the number of nodes searched\0A\00" ; <[55 x sbyte]*> [#uses=0]
-%str87 = internal global [47 x sbyte] c"perft <x>: compute raw nodes to depth x\0A\00" ; <[47 x sbyte]*> [#uses=0]
-%str = internal global [42 x sbyte] c"post: toggles thinking output\0A\00" ; <[42 x sbyte]*> [#uses=0]
-%str = internal global [45 x sbyte] c"xboard: put Sjeng into xboard mode\0A\00" ; <[45 x sbyte]*> [#uses=0]
-%str = internal global [39 x sbyte] c"test: run an EPD testsuite\0A\00" ; <[39 x sbyte]*> [#uses=0]
-%str88 = internal global [52 x sbyte] c"speed: test movegen and evaluation speed\0A\00" ; <[52 x sbyte]*> [#uses=0]
-%str89 = internal global [59 x sbyte] c"proof: try to prove or disprove the current pos\0A\00" ; <[59 x sbyte]*> [#uses=0]
-%str90 = internal global [44 x sbyte] c"sd <x>: limit thinking to depth x\0A\00" ; <[44 x sbyte]*> [#uses=0]
-%str66 = internal global [51 x sbyte] c"st <x>: limit thinking to x centiseconds\0A\00" ; <[51 x sbyte]*> [#uses=0]
-%str67 = internal global [54 x sbyte] c"setboard <FEN>: set board to a specified FEN string\0A\00" ; <[54 x sbyte]*> [#uses=0]
-%str68 = internal global [38 x sbyte] c"undo: back up a half move\0A\00" ; <[38 x sbyte]*> [#uses=0]
-%str69 = internal global [38 x sbyte] c"remove: back up a full move\0A\00" ; <[38 x sbyte]*> [#uses=0]
-%str70 = internal global [42 x sbyte] c"force: disable computer moving\0A\00" ; <[42 x sbyte]*> [#uses=0]
-%str71 = internal global [44 x sbyte] c"auto: computer plays both sides\0A\00" ; <[44 x sbyte]*> [#uses=0]
-%DP_TTable = internal global %struct.TType* null ; <%struct.TType**> [#uses=1]
-%AS_TTable = internal global %struct.TType* null ; <%struct.TType**> [#uses=1]
-%QS_TTable = internal global %struct.QTType* null ; <%struct.QTType**> [#uses=1]
-%str93 = internal global [38 x sbyte] c"Out of memory allocating hashtables.\0A\00" ; <[38 x sbyte]*> [#uses=0]
-%type_to_char.3058 = internal global [14 x int] [ int 70, int 80, int 80, int 78, int 78, int 75, int 75, int 82, int 82, int 81, int 81, int 66, int 66, int 69 ] ; <[14 x int]*> [#uses=0]
-%str94 = internal global [8 x sbyte] c"%c@%c%d\00" ; <[8 x sbyte]*> [#uses=0]
-%str95 = internal global [5 x sbyte] c"%c%d\00" ; <[5 x sbyte]*> [#uses=0]
-%str1 = internal global [8 x sbyte] c"%c%d=%c\00" ; <[8 x sbyte]*> [#uses=0]
-%str2 = internal global [8 x sbyte] c"%cx%c%d\00" ; <[8 x sbyte]*> [#uses=0]
-%str96 = internal global [11 x sbyte] c"%cx%c%d=%c\00" ; <[11 x sbyte]*> [#uses=0]
-%str97 = internal global [4 x sbyte] c"O-O\00" ; <[4 x sbyte]*> [#uses=0]
-%str98 = internal global [6 x sbyte] c"O-O-O\00" ; <[6 x sbyte]*> [#uses=0]
-%str99 = internal global [9 x sbyte] c"%c%c%c%d\00" ; <[9 x sbyte]*> [#uses=0]
-%str3100 = internal global [9 x sbyte] c"%c%d%c%d\00" ; <[9 x sbyte]*> [#uses=0]
-%str101 = internal global [10 x sbyte] c"%c%cx%c%d\00" ; <[10 x sbyte]*> [#uses=0]
-%str4 = internal global [10 x sbyte] c"%c%dx%c%d\00" ; <[10 x sbyte]*> [#uses=0]
-%str102 = internal global [7 x sbyte] c"%c%c%d\00" ; <[7 x sbyte]*> [#uses=0]
-%str5103 = internal global [5 x sbyte] c"illg\00" ; <[5 x sbyte]*> [#uses=0]
-%type_to_char.3190 = internal global [14 x int] [ int 70, int 80, int 112, int 78, int 110, int 75, int 107, int 82, int 114, int 81, int 113, int 66, int 98, int 69 ] ; <[14 x int]*> [#uses=0]
-%str7 = internal global [10 x sbyte] c"%c%d%c%dn\00" ; <[10 x sbyte]*> [#uses=0]
-%str8 = internal global [10 x sbyte] c"%c%d%c%dr\00" ; <[10 x sbyte]*> [#uses=0]
-%str9 = internal global [10 x sbyte] c"%c%d%c%db\00" ; <[10 x sbyte]*> [#uses=0]
-%str10 = internal global [10 x sbyte] c"%c%d%c%dk\00" ; <[10 x sbyte]*> [#uses=0]
-%str11 = internal global [10 x sbyte] c"%c%d%c%dq\00" ; <[10 x sbyte]*> [#uses=0]
-%C.88.3251 = internal global [14 x sbyte*] [ sbyte* getelementptr ([3 x sbyte]* %str105, int 0, int 0), sbyte* getelementptr ([3 x sbyte]* %str12106, int 0, int 0), sbyte* getelementptr ([3 x sbyte]* %str13107, int 0, int 0), sbyte* getelementptr ([3 x sbyte]* %str14, int 0, int 0), sbyte* getelementptr ([3 x sbyte]* %str15, int 0, int 0), sbyte* getelementptr ([3 x sbyte]* %str16, int 0, int 0), sbyte* getelementptr ([3 x sbyte]* %str17, int 0, int 0), sbyte* getelementptr ([3 x sbyte]* %str18, int 0, int 0), sbyte* getelementptr ([3 x sbyte]* %str19108, int 0, int 0), sbyte* getelementptr ([3 x sbyte]* %str20, int 0, int 0), sbyte* getelementptr ([3 x sbyte]* %str21109, int 0, int 0), sbyte* getelementptr ([3 x sbyte]* %str22, int 0, int 0), sbyte* getelementptr ([3 x sbyte]* %str23, int 0, int 0), sbyte* getelementptr ([3 x sbyte]* %str24, int 0, int 0) ] ; <[14 x sbyte*]*> [#uses=0]
-%str105 = internal global [3 x sbyte] c"!!\00" ; <[3 x sbyte]*> [#uses=1]
-%str12106 = internal global [3 x sbyte] c" P\00" ; <[3 x sbyte]*> [#uses=1]
-%str13107 = internal global [3 x sbyte] c"*P\00" ; <[3 x sbyte]*> [#uses=1]
-%str14 = internal global [3 x sbyte] c" N\00" ; <[3 x sbyte]*> [#uses=1]
-%str15 = internal global [3 x sbyte] c"*N\00" ; <[3 x sbyte]*> [#uses=1]
-%str16 = internal global [3 x sbyte] c" K\00" ; <[3 x sbyte]*> [#uses=1]
-%str17 = internal global [3 x sbyte] c"*K\00" ; <[3 x sbyte]*> [#uses=1]
-%str18 = internal global [3 x sbyte] c" R\00" ; <[3 x sbyte]*> [#uses=1]
-%str19108 = internal global [3 x sbyte] c"*R\00" ; <[3 x sbyte]*> [#uses=1]
-%str20 = internal global [3 x sbyte] c" Q\00" ; <[3 x sbyte]*> [#uses=1]
-%str21109 = internal global [3 x sbyte] c"*Q\00" ; <[3 x sbyte]*> [#uses=1]
-%str22 = internal global [3 x sbyte] c" B\00" ; <[3 x sbyte]*> [#uses=1]
-%str23 = internal global [3 x sbyte] c"*B\00" ; <[3 x sbyte]*> [#uses=1]
-%str24 = internal global [3 x sbyte] c" \00" ; <[3 x sbyte]*> [#uses=1]
-%str110 = internal global [42 x sbyte] c"+----+----+----+----+----+----+----+----+\00" ; <[42 x sbyte]*> [#uses=0]
-%str25 = internal global [6 x sbyte] c" %s\0A\00" ; <[6 x sbyte]*> [#uses=0]
-%str26 = internal global [5 x sbyte] c"%d |\00" ; <[5 x sbyte]*> [#uses=0]
-%str27 = internal global [6 x sbyte] c" %s |\00" ; <[6 x sbyte]*> [#uses=0]
-%str28 = internal global [7 x sbyte] c"\0A %s\0A\00" ; <[7 x sbyte]*> [#uses=0]
-%str111 = internal global [45 x sbyte] c"\0A a b c d e f g h\0A\0A\00" ; <[45 x sbyte]*> [#uses=0]
-%str29 = internal global [45 x sbyte] c"\0A h g f e d c b a\0A\0A\00" ; <[45 x sbyte]*> [#uses=0]
-%str33 = internal global [2 x sbyte] c"<\00" ; <[2 x sbyte]*> [#uses=0]
-%str34 = internal global [3 x sbyte] c"> \00" ; <[3 x sbyte]*> [#uses=0]
-%str114 = internal global [18 x sbyte] c"%2i %7i %5i %8i \00" ; <[18 x sbyte]*> [#uses=0]
-%str115 = internal global [20 x sbyte] c"%2i %c%1i.%02i %9i \00" ; <[20 x sbyte]*> [#uses=0]
-%str39 = internal global [5 x sbyte] c"%s !\00" ; <[5 x sbyte]*> [#uses=0]
-%str40 = internal global [6 x sbyte] c"%s !!\00" ; <[6 x sbyte]*> [#uses=0]
-%str41 = internal global [6 x sbyte] c"%s ??\00" ; <[6 x sbyte]*> [#uses=0]
-%str124 = internal global [71 x sbyte] c"\0ASjeng version SPEC 1.0, Copyright (C) 2000-2005 Gian-Carlo Pascutto\0A\0A\00" ; <[71 x sbyte]*> [#uses=0]
-%state = internal global [625 x uint] zeroinitializer ; <[625 x uint]*> [#uses=0]
-
-implementation ; Functions:
-
-declare fastcc int %calc_attackers(int, int)
-
-declare fastcc uint %is_attacked(int, int)
-
-declare fastcc void %ProcessHoldings(sbyte*)
-
-declare void %llvm.memset.i32(sbyte*, ubyte, uint, uint)
-
-declare sbyte* %strncpy(sbyte*, sbyte*, uint)
-
-declare void %llvm.memcpy.i32(sbyte*, sbyte*, uint, uint)
-
-declare void %__eprintf(sbyte*, sbyte*, uint, sbyte*)
-
-declare fastcc void %addHolding(int, int)
-
-declare fastcc void %removeHolding(int, int)
-
-declare fastcc void %DropremoveHolding(int, int)
-
-declare int %printf(sbyte*, ...)
-
-declare fastcc uint %is_draw()
-
-declare void %exit(int)
-
-declare fastcc void %setup_epd_line(sbyte*)
-
-declare int %atoi(sbyte*)
-
-declare fastcc void %reset_piece_square()
-
-declare fastcc void %initialize_hash()
-
-declare int %__maskrune(int, uint)
-
-declare fastcc void %comp_to_san(long, long, long, sbyte*)
-
-declare sbyte* %strstr(sbyte*, sbyte*)
-
-declare int %atol(sbyte*)
-
-declare %struct.FILE* %fopen(sbyte*, sbyte*)
-
-declare fastcc void %display_board(int)
-
-internal csretcc void %think(%struct.move_s* %agg.result) {
+ %struct.__sbuf = type { i8*, i32 }
+ %struct.move_s = type { i32, i32, i32, i32, i32, i32 }
+ %struct.move_x = type { i32, i32, i32, i32 }
+ %struct.node_t = type { i8, i8, i8, i8, i32, i32, %struct.node_t**, %struct.node_t*, %struct.move_s }
+ %struct.see_data = type { i32, i32 }
+@rook_o.2925 = internal global [4 x i32] [ i32 12, i32 -12, i32 1, i32 -1 ] ; <[4 x i32]*> [#uses=0]
+@bishop_o.2926 = internal global [4 x i32] [ i32 11, i32 -11, i32 13, i32 -13 ] ; <[4 x i32]*> [#uses=0]
+@knight_o.2927 = internal global [8 x i32] [ i32 10, i32 -10, i32 14, i32 -14, i32 23, i32 -23, i32 25, i32 -25 ] ; <[8 x i32]*> [#uses=0]
+@board = internal global [144 x i32] zeroinitializer ; <[144 x i32]*> [#uses=0]
+@holding = internal global [2 x [16 x i32]] zeroinitializer ; <[2 x [16 x i32]]*> [#uses=0]
+@hold_hash = internal global i32 0 ; <i32*> [#uses=0]
+@white_hand_eval = internal global i32 0 ; <i32*> [#uses=0]
+@black_hand_eval = internal global i32 0 ; <i32*> [#uses=0]
+@num_holding = internal global [2 x i32] zeroinitializer ; <[2 x i32]*> [#uses=0]
+@zobrist = internal global [14 x [144 x i32]] zeroinitializer ; <[14 x [144 x i32]]*> [#uses=0]
+@Variant = internal global i32 0 ; <i32*> [#uses=7]
+@userealholdings.b = internal global i1 false ; <i1*> [#uses=1]
+@realholdings = internal global [255 x i8] zeroinitializer ; <[255 x i8]*> [#uses=0]
+@comp_color = internal global i32 0 ; <i32*> [#uses=0]
+@C.97.3177 = internal global [13 x i32] [ i32 0, i32 2, i32 1, i32 4, i32 3, i32 0, i32 0, i32 8, i32 7, i32 10, i32 9, i32 12, i32 11 ] ; <[13 x i32]*> [#uses=0]
+@str = internal global [30 x i8] c"%s:%u: failed assertion `%s'\0A\00" ; <[30 x i8]*> [#uses=0]
+@str.upgrd.1 = internal global [81 x i8] c"/Volumes/Stuff/src/speccpu2006-091-llvm/benchspec//CPU2006/458.sjeng/src/crazy.c\00" ; <[81 x i8]*> [#uses=0]
+@str.upgrd.2 = internal global [32 x i8] c"piece > frame && piece < npiece\00" ; <[32 x i8]*> [#uses=0]
+@C.101.3190 = internal global [13 x i32] [ i32 0, i32 2, i32 1, i32 2, i32 1, i32 0, i32 0, i32 2, i32 1, i32 2, i32 1, i32 2, i32 1 ] ; <[13 x i32]*> [#uses=0]
+@hand_value = internal global [13 x i32] [ i32 0, i32 100, i32 -100, i32 210, i32 -210, i32 0, i32 0, i32 250, i32 -250, i32 450, i32 -450, i32 230, i32 -230 ] ; <[13 x i32]*> [#uses=0]
+@material = internal global [14 x i32] zeroinitializer ; <[14 x i32]*> [#uses=0]
+@Material = internal global i32 0 ; <i32*> [#uses=0]
+@str.upgrd.3 = internal global [23 x i8] c"holding[who][what] > 0\00" ; <[23 x i8]*> [#uses=0]
+@str.upgrd.4 = internal global [24 x i8] c"holding[who][what] < 20\00" ; <[24 x i8]*> [#uses=0]
+@fifty = internal global i32 0 ; <i32*> [#uses=0]
+@move_number = internal global i32 0 ; <i32*> [#uses=1]
+@ply = internal global i32 0 ; <i32*> [#uses=2]
+@hash_history = internal global [600 x i32] zeroinitializer ; <[600 x i32]*> [#uses=1]
+@hash = internal global i32 0 ; <i32*> [#uses=1]
+@ECacheSize.b = internal global i1 false ; <i1*> [#uses=1]
+@ECache = internal global %struct.ECacheType* null ; <%struct.ECacheType**> [#uses=1]
+@ECacheProbes = internal global i32 0 ; <i32*> [#uses=1]
+@ECacheHits = internal global i32 0 ; <i32*> [#uses=1]
+@str.upgrd.5 = internal global [34 x i8] c"Out of memory allocating ECache.\0A\00" ; <[34 x i8]*> [#uses=0]
+@rankoffsets.2930 = internal global [8 x i32] [ i32 110, i32 98, i32 86, i32 74, i32 62, i32 50, i32 38, i32 26 ] ; <[8 x i32]*> [#uses=0]
+@white_castled = internal global i32 0 ; <i32*> [#uses=0]
+@black_castled = internal global i32 0 ; <i32*> [#uses=0]
+@book_ply = internal global i32 0 ; <i32*> [#uses=0]
+@bking_loc = internal global i32 0 ; <i32*> [#uses=1]
+@wking_loc = internal global i32 0 ; <i32*> [#uses=1]
+@white_to_move = internal global i32 0 ; <i32*> [#uses=3]
+@moved = internal global [144 x i32] zeroinitializer ; <[144 x i32]*> [#uses=0]
+@ep_square = internal global i32 0 ; <i32*> [#uses=0]
+@_DefaultRuneLocale = external global %struct._RuneLocale ; <%struct._RuneLocale*> [#uses=0]
+@str.upgrd.6 = internal global [3 x i8] c"bm\00" ; <[3 x i8]*> [#uses=0]
+@str1 = internal global [3 x i8] c"am\00" ; <[3 x i8]*> [#uses=0]
+@str1.upgrd.7 = internal global [34 x i8] c"No best-move or avoid-move found!\00" ; <[34 x i8]*> [#uses=0]
+@str.upgrd.8 = internal global [25 x i8] c"\0AName of EPD testsuite: \00" ; <[25 x i8]*> [#uses=0]
+@__sF = external global [0 x %struct.FILE] ; <[0 x %struct.FILE]*> [#uses=0]
+@str.upgrd.9 = internal global [21 x i8] c"\0ATime per move (s): \00" ; <[21 x i8]*> [#uses=0]
+@str.upgrd.10 = internal global [2 x i8] c"\0A\00" ; <[2 x i8]*> [#uses=0]
+@str2 = internal global [2 x i8] c"r\00" ; <[2 x i8]*> [#uses=0]
+@root_to_move = internal global i32 0 ; <i32*> [#uses=1]
+@forcedwin.b = internal global i1 false ; <i1*> [#uses=2]
+@fixed_time = internal global i32 0 ; <i32*> [#uses=1]
+@nodes = internal global i32 0 ; <i32*> [#uses=1]
+@qnodes = internal global i32 0 ; <i32*> [#uses=1]
+@str.upgrd.11 = internal global [29 x i8] c"\0ANodes: %i (%0.2f%% qnodes)\0A\00" ; <[29 x i8]*> [#uses=0]
+@str.upgrd.12 = internal global [54 x i8] c"ECacheProbes : %u ECacheHits : %u HitRate : %f%%\0A\00" ; <[54 x i8]*> [#uses=0]
+@TTStores = internal global i32 0 ; <i32*> [#uses=1]
+@TTProbes = internal global i32 0 ; <i32*> [#uses=1]
+@TTHits = internal global i32 0 ; <i32*> [#uses=1]
+@str.upgrd.13 = internal global [60 x i8] c"TTStores : %u TTProbes : %u TTHits : %u HitRate : %f%%\0A\00" ; <[60 x i8]*> [#uses=0]
+@NTries = internal global i32 0 ; <i32*> [#uses=1]
+@NCuts = internal global i32 0 ; <i32*> [#uses=1]
+@TExt = internal global i32 0 ; <i32*> [#uses=1]
+@str.upgrd.14 = internal global [51 x i8] c"NTries : %u NCuts : %u CutRate : %f%% TExt: %u\0A\00" ; <[51 x i8]*> [#uses=0]
+@ext_check = internal global i32 0 ; <i32*> [#uses=1]
+@razor_drop = internal global i32 0 ; <i32*> [#uses=1]
+@razor_material = internal global i32 0 ; <i32*> [#uses=1]
+@str.upgrd.15 = internal global [61 x i8] c"Check extensions: %u Razor drops : %u Razor Material : %u\0A\00" ; <[61 x i8]*> [#uses=0]
+@FHF = internal global i32 0 ; <i32*> [#uses=1]
+@FH = internal global i32 0 ; <i32*> [#uses=1]
+@str.upgrd.16 = internal global [22 x i8] c"Move ordering : %f%%\0A\00" ; <[22 x i8]*> [#uses=0]
+@maxposdiff = internal global i32 0 ; <i32*> [#uses=1]
+@str.upgrd.17 = internal global [47 x i8] c"Material score: %d Eval : %d MaxPosDiff: %d\0A\00" ; <[47 x i8]*> [#uses=0]
+@str.upgrd.18 = internal global [17 x i8] c"Solution found.\0A\00" ; <[17 x i8]*> [#uses=0]
+@str3 = internal global [21 x i8] c"Solution not found.\0A\00" ; <[21 x i8]*> [#uses=0]
+@str.upgrd.19 = internal global [15 x i8] c"Solved: %d/%d\0A\00" ; <[15 x i8]*> [#uses=0]
+@str.upgrd.20 = internal global [9 x i8] c"EPD: %s\0A\00" ; <[9 x i8]*> [#uses=0]
+@str4 = internal global [21 x i8] c"Searching to %d ply\0A\00" ; <[21 x i8]*> [#uses=0]
+@maxdepth = internal global i32 0 ; <i32*> [#uses=0]
+@std_material = internal global [14 x i32] [ i32 0, i32 100, i32 -100, i32 310, i32 -310, i32 4000, i32 -4000, i32 500, i32 -500, i32 900, i32 -900, i32 325, i32 -325, i32 0 ] ; <[14 x i32]*> [#uses=0]
+@zh_material = internal global [14 x i32] [ i32 0, i32 100, i32 -100, i32 210, i32 -210, i32 4000, i32 -4000, i32 250, i32 -250, i32 450, i32 -450, i32 230, i32 -230, i32 0 ] ; <[14 x i32]*> [#uses=0]
+@suicide_material = internal global [14 x i32] [ i32 0, i32 15, i32 -15, i32 150, i32 -150, i32 500, i32 -500, i32 150, i32 -150, i32 50, i32 -50, i32 0, i32 0, i32 0 ] ; <[14 x i32]*> [#uses=0]
+@losers_material = internal global [14 x i32] [ i32 0, i32 80, i32 -80, i32 320, i32 -320, i32 1000, i32 -1000, i32 350, i32 -350, i32 400, i32 -400, i32 270, i32 -270, i32 0 ] ; <[14 x i32]*> [#uses=0]
+@Xfile = internal global [144 x i32] [ i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 0, i32 0, i32 0, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 0, i32 0, i32 0, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 0, i32 0, i32 0, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 0, i32 0, i32 0, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 0, i32 0, i32 0, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 0, i32 0, i32 0, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 0, i32 0, i32 0, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0 ] ; <[144 x i32]*> [#uses=0]
+@Xrank = internal global [144 x i32] [ i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 0, i32 0, i32 0, i32 0, i32 3, i32 3, i32 3, i32 3, i32 3, i32 3, i32 3, i32 3, i32 0, i32 0, i32 0, i32 0, i32 4, i32 4, i32 4, i32 4, i32 4, i32 4, i32 4, i32 4, i32 0, i32 0, i32 0, i32 0, i32 5, i32 5, i32 5, i32 5, i32 5, i32 5, i32 5, i32 5, i32 0, i32 0, i32 0, i32 0, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 0, i32 0, i32 0, i32 0, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7, i32 0, i32 0, i32 0, i32 0, i32 8, i32 8, i32 8, i32 8, i32 8, i32 8, i32 8, i32 8, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0 ] ; <[144 x i32]*> [#uses=0]
+@Xdiagl = internal global [144 x i32] [ i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 0, i32 0, i32 0, i32 0, i32 9, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 10, i32 9, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 0, i32 0, i32 0, i32 0, i32 11, i32 10, i32 9, i32 1, i32 2, i32 3, i32 4, i32 5, i32 0, i32 0, i32 0, i32 0, i32 12, i32 11, i32 10, i32 9, i32 1, i32 2, i32 3, i32 4, i32 0, i32 0, i32 0, i32 0, i32 13, i32 12, i32 11, i32 10, i32 9, i32 1, i32 2, i32 3, i32 0, i32 0, i32 0, i32 0, i32 14, i32 13, i32 12, i32 11, i32 10, i32 9, i32 1, i32 2, i32 0, i32 0, i32 0, i32 0, i32 15, i32 14, i32 13, i32 12, i32 11, i32 10, i32 9, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0 ] ; <[144 x i32]*> [#uses=0]
+@Xdiagr = internal global [144 x i32] [ i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 15, i32 14, i32 13, i32 12, i32 11, i32 10, i32 9, i32 1, i32 0, i32 0, i32 0, i32 0, i32 14, i32 13, i32 12, i32 11, i32 10, i32 9, i32 1, i32 2, i32 0, i32 0, i32 0, i32 0, i32 13, i32 12, i32 11, i32 10, i32 9, i32 1, i32 2, i32 3, i32 0, i32 0, i32 0, i32 0, i32 12, i32 11, i32 10, i32 9, i32 1, i32 2, i32 3, i32 4, i32 0, i32 0, i32 0, i32 0, i32 11, i32 10, i32 9, i32 1, i32 2, i32 3, i32 4, i32 5, i32 0, i32 0, i32 0, i32 0, i32 10, i32 9, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 0, i32 0, i32 0, i32 0, i32 9, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 0, i32 0, i32 0, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0 ] ; <[144 x i32]*> [#uses=0]
+@sqcolor = internal global [144 x i32] [ i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 1, i32 0, i32 1, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 1, i32 0, i32 1, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 1, i32 0, i32 1, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 1, i32 0, i32 1, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 1, i32 0, i32 1, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 1, i32 0, i32 1, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 1, i32 0, i32 1, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 1, i32 0, i32 1, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0 ] ; <[144 x i32]*> [#uses=0]
+@pcsqbishop = internal global [144 x i32] [ i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 -5, i32 -5, i32 -10, i32 -5, i32 -5, i32 -10, i32 -5, i32 -5, i32 0, i32 0, i32 0, i32 0, i32 -5, i32 10, i32 5, i32 10, i32 10, i32 5, i32 10, i32 -5, i32 0, i32 0, i32 0, i32 0, i32 -5, i32 5, i32 6, i32 15, i32 15, i32 6, i32 5, i32 -5, i32 0, i32 0, i32 0, i32 0, i32 -5, i32 3, i32 15, i32 10, i32 10, i32 15, i32 3, i32 -5, i32 0, i32 0, i32 0, i32 0, i32 -5, i32 3, i32 15, i32 10, i32 10, i32 15, i32 3, i32 -5, i32 0, i32 0, i32 0, i32 0, i32 -5, i32 5, i32 6, i32 15, i32 15, i32 6, i32 5, i32 -5, i32 0, i32 0, i32 0, i32 0, i32 -5, i32 10, i32 5, i32 10, i32 10, i32 5, i32 10, i32 -5, i32 0, i32 0, i32 0, i32 0, i32 -5, i32 -5, i32 -10, i32 -5, i32 -5, i32 -10, i32 -5, i32 -5, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0 ] ; <[144 x i32]*> [#uses=0]
+@black_knight = internal global [144 x i32] [ i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 -20, i32 -10, i32 -10, i32 -10, i32 -10, i32 -10, i32 -10, i32 -20, i32 0, i32 0, i32 0, i32 0, i32 -10, i32 15, i32 25, i32 25, i32 25, i32 25, i32 15, i32 -10, i32 0, i32 0, i32 0, i32 0, i32 -10, i32 15, i32 25, i32 35, i32 35, i32 35, i32 15, i32 -10, i32 0, i32 0, i32 0, i32 0, i32 -10, i32 10, i32 25, i32 20, i32 25, i32 25, i32 10, i32 -10, i32 0, i32 0, i32 0, i32 0, i32 -10, i32 0, i32 20, i32 20, i32 20, i32 20, i32 0, i32 -10, i32 0, i32 0, i32 0, i32 0, i32 -10, i32 0, i32 15, i32 15, i32 15, i32 15, i32 0, i32 -10, i32 0, i32 0, i32 0, i32 0, i32 -10, i32 0, i32 0, i32 3, i32 3, i32 0, i32 0, i32 -10, i32 0, i32 0, i32 0, i32 0, i32 -20, i32 -35, i32 -10, i32 -10, i32 -10, i32 -10, i32 -35, i32 -20, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0 ] ; <[144 x i32]*> [#uses=0]
+@white_knight = internal global [144 x i32] [ i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 -20, i32 -35, i32 -10, i32 -10, i32 -10, i32 -10, i32 -35, i32 -20, i32 0, i32 0, i32 0, i32 0, i32 -10, i32 0, i32 0, i32 3, i32 3, i32 0, i32 0, i32 -10, i32 0, i32 0, i32 0, i32 0, i32 -10, i32 0, i32 15, i32 15, i32 15, i32 15, i32 0, i32 -10, i32 0, i32 0, i32 0, i32 0, i32 -10, i32 0, i32 20, i32 20, i32 20, i32 20, i32 0, i32 -10, i32 0, i32 0, i32 0, i32 0, i32 -10, i32 10, i32 25, i32 20, i32 25, i32 25, i32 10, i32 -10, i32 0, i32 0, i32 0, i32 0, i32 -10, i32 15, i32 25, i32 35, i32 35, i32 35, i32 15, i32 -10, i32 0, i32 0, i32 0, i32 0, i32 -10, i32 15, i32 25, i32 25, i32 25, i32 25, i32 15, i32 -10, i32 0, i32 0, i32 0, i32 0, i32 -20, i32 -10, i32 -10, i32 -10, i32 -10, i32 -10, i32 -10, i32 -20, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0 ] ; <[144 x i32]*> [#uses=0]
+@white_pawn = internal global [144 x i32] [ i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 25, i32 25, i32 35, i32 5, i32 5, i32 50, i32 45, i32 30, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 7, i32 7, i32 5, i32 5, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 14, i32 14, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 10, i32 20, i32 20, i32 10, i32 5, i32 5, i32 0, i32 0, i32 0, i32 0, i32 12, i32 18, i32 18, i32 27, i32 27, i32 18, i32 18, i32 18, i32 0, i32 0, i32 0, i32 0, i32 25, i32 30, i32 30, i32 35, i32 35, i32 35, i32 30, i32 25, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0 ] ; <[144 x i32]*> [#uses=0]
+@black_pawn = internal global [144 x i32] [ i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 30, i32 30, i32 30, i32 35, i32 35, i32 35, i32 30, i32 25, i32 0, i32 0, i32 0, i32 0, i32 12, i32 18, i32 18, i32 27, i32 27, i32 18, i32 18, i32 18, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 10, i32 20, i32 20, i32 10, i32 5, i32 5, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 14, i32 14, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 7, i32 7, i32 5, i32 5, i32 0, i32 0, i32 0, i32 0, i32 0, i32 25, i32 25, i32 35, i32 5, i32 5, i32 50, i32 45, i32 30, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0 ] ; <[144 x i32]*> [#uses=0]
+@white_king = internal global [144 x i32] [ i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 -100, i32 7, i32 4, i32 0, i32 10, i32 4, i32 7, i32 -100, i32 0, i32 0, i32 0, i32 0, i32 -250, i32 -200, i32 -150, i32 -100, i32 -100, i32 -150, i32 -200, i32 -250, i32 0, i32 0, i32 0, i32 0, i32 -350, i32 -300, i32 -300, i32 -250, i32 -250, i32 -300, i32 -300, i32 -350, i32 0, i32 0, i32 0, i32 0, i32 -400, i32 -400, i32 -400, i32 -350, i32 -350, i32 -400, i32 -400, i32 -400, i32 0, i32 0, i32 0, i32 0, i32 -450, i32 -450, i32 -450, i32 -450, i32 -450, i32 -450, i32 -450, i32 -450, i32 0, i32 0, i32 0, i32 0, i32 -500, i32 -500, i32 -500, i32 -500, i32 -500, i32 -500, i32 -500, i32 -500, i32 0, i32 0, i32 0, i32 0, i32 -500, i32 -500, i32 -500, i32 -500, i32 -500, i32 -500, i32 -500, i32 -500, i32 0, i32 0, i32 0, i32 0, i32 -500, i32 -500, i32 -500, i32 -500, i32 -500, i32 -500, i32 -500, i32 -500, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0 ] ; <[144 x i32]*> [#uses=0]
+@black_king = internal global [144 x i32] [ i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 -500, i32 -500, i32 -500, i32 -500, i32 -500, i32 -500, i32 -500, i32 -500, i32 0, i32 0, i32 0, i32 0, i32 -500, i32 -500, i32 -500, i32 -500, i32 -500, i32 -500, i32 -500, i32 -500, i32 0, i32 0, i32 0, i32 0, i32 -500, i32 -500, i32 -500, i32 -500, i32 -500, i32 -500, i32 -500, i32 -500, i32 0, i32 0, i32 0, i32 0, i32 -450, i32 -450, i32 -450, i32 -450, i32 -450, i32 -450, i32 -450, i32 -450, i32 0, i32 0, i32 0, i32 0, i32 -400, i32 -400, i32 -400, i32 -350, i32 -350, i32 -400, i32 -400, i32 -400, i32 0, i32 0, i32 0, i32 0, i32 -350, i32 -300, i32 -300, i32 -250, i32 -250, i32 -300, i32 -300, i32 -350, i32 0, i32 0, i32 0, i32 0, i32 -250, i32 -200, i32 -150, i32 -100, i32 -100, i32 -150, i32 -200, i32 -250, i32 0, i32 0, i32 0, i32 0, i32 -100, i32 7, i32 4, i32 0, i32 10, i32 4, i32 7, i32 -100, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0 ] ; <[144 x i32]*> [#uses=0]
+@black_queen = internal global [144 x i32] [ i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 5, i32 5, i32 5, i32 10, i32 10, i32 5, i32 5, i32 5, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 3, i32 3, i32 3, i32 3, i32 3, i32 0, i32 0, i32 0, i32 0, i32 0, i32 -30, i32 -30, i32 -30, i32 -30, i32 -30, i32 -30, i32 -30, i32 -30, i32 0, i32 0, i32 0, i32 0, i32 -60, i32 -40, i32 -40, i32 -60, i32 -60, i32 -40, i32 -40, i32 -60, i32 0, i32 0, i32 0, i32 0, i32 -40, i32 -40, i32 -40, i32 -40, i32 -40, i32 -40, i32 -40, i32 -40, i32 0, i32 0, i32 0, i32 0, i32 -15, i32 -15, i32 -15, i32 -10, i32 -10, i32 -15, i32 -15, i32 -15, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 7, i32 10, i32 5, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 5, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0 ] ; <[144 x i32]*> [#uses=0]
+@white_queen = internal global [144 x i32] [ i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 5, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 7, i32 10, i32 5, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 -15, i32 -15, i32 -15, i32 -10, i32 -10, i32 -15, i32 -15, i32 -15, i32 0, i32 0, i32 0, i32 0, i32 -40, i32 -40, i32 -40, i32 -40, i32 -40, i32 -40, i32 -40, i32 -40, i32 0, i32 0, i32 0, i32 0, i32 -60, i32 -40, i32 -40, i32 -60, i32 -60, i32 -40, i32 -40, i32 -60, i32 0, i32 0, i32 0, i32 0, i32 -30, i32 -30, i32 -30, i32 -30, i32 -30, i32 -30, i32 -30, i32 -30, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 3, i32 3, i32 3, i32 3, i32 3, i32 0, i32 0, i32 0, i32 0, i32 0, i32 5, i32 5, i32 5, i32 10, i32 10, i32 5, i32 5, i32 5, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0 ] ; <[144 x i32]*> [#uses=0]
+@black_rook = internal global [144 x i32] [ i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 10, i32 15, i32 20, i32 25, i32 25, i32 20, i32 15, i32 10, i32 0, i32 0, i32 0, i32 0, i32 0, i32 10, i32 15, i32 20, i32 20, i32 15, i32 10, i32 0, i32 0, i32 0, i32 0, i32 0, i32 -20, i32 -20, i32 -20, i32 -20, i32 -20, i32 -20, i32 -20, i32 -20, i32 0, i32 0, i32 0, i32 0, i32 -20, i32 -20, i32 -20, i32 -30, i32 -30, i32 -20, i32 -20, i32 -20, i32 0, i32 0, i32 0, i32 0, i32 -20, i32 -20, i32 -20, i32 -20, i32 -20, i32 -20, i32 -20, i32 -20, i32 0, i32 0, i32 0, i32 0, i32 -15, i32 -15, i32 -15, i32 -10, i32 -10, i32 -15, i32 -15, i32 -15, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 7, i32 10, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0 ] ; <[144 x i32]*> [#uses=0]
+@white_rook = internal global [144 x i32] [ i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 7, i32 10, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 -15, i32 -15, i32 -15, i32 -10, i32 -10, i32 -15, i32 -15, i32 -15, i32 0, i32 0, i32 0, i32 0, i32 -20, i32 -20, i32 -20, i32 -20, i32 -20, i32 -20, i32 -20, i32 -20, i32 0, i32 0, i32 0, i32 0, i32 -20, i32 -20, i32 -20, i32 -30, i32 -30, i32 -20, i32 -20, i32 -20, i32 0, i32 0, i32 0, i32 0, i32 -20, i32 -20, i32 -20, i32 -20, i32 -20, i32 -20, i32 -20, i32 -20, i32 0, i32 0, i32 0, i32 0, i32 0, i32 10, i32 15, i32 20, i32 20, i32 15, i32 10, i32 0, i32 0, i32 0, i32 0, i32 0, i32 10, i32 15, i32 20, i32 25, i32 25, i32 20, i32 15, i32 10, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0 ] ; <[144 x i32]*> [#uses=0]
+@upscale = internal global [64 x i32] [ i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 62, i32 63, i32 64, i32 65, i32 66, i32 67, i32 68, i32 69, i32 74, i32 75, i32 76, i32 77, i32 78, i32 79, i32 80, i32 81, i32 86, i32 87, i32 88, i32 89, i32 90, i32 91, i32 92, i32 93, i32 98, i32 99, i32 100, i32 101, i32 102, i32 103, i32 104, i32 105, i32 110, i32 111, i32 112, i32 113, i32 114, i32 115, i32 116, i32 117 ] ; <[64 x i32]*> [#uses=0]
+@pre_p_tropism = internal global [9 x i32] [ i32 9999, i32 40, i32 20, i32 10, i32 3, i32 1, i32 1, i32 0, i32 9999 ] ; <[9 x i32]*> [#uses=0]
+@pre_r_tropism = internal global [9 x i32] [ i32 9999, i32 50, i32 40, i32 15, i32 5, i32 1, i32 1, i32 0, i32 9999 ] ; <[9 x i32]*> [#uses=0]
+@pre_n_tropism = internal global [9 x i32] [ i32 9999, i32 50, i32 70, i32 35, i32 10, i32 2, i32 1, i32 0, i32 9999 ] ; <[9 x i32]*> [#uses=0]
+@pre_q_tropism = internal global [9 x i32] [ i32 9999, i32 100, i32 60, i32 20, i32 5, i32 2, i32 0, i32 0, i32 9999 ] ; <[9 x i32]*> [#uses=0]
+@pre_b_tropism = internal global [9 x i32] [ i32 9999, i32 50, i32 25, i32 15, i32 5, i32 2, i32 2, i32 2, i32 9999 ] ; <[9 x i32]*> [#uses=0]
+@rookdistance = internal global [144 x [144 x i32]] zeroinitializer ; <[144 x [144 x i32]]*> [#uses=0]
+@distance = internal global [144 x [144 x i32]] zeroinitializer ; <[144 x [144 x i32]]*> [#uses=0]
+@p_tropism = internal global [144 x [144 x i8]] zeroinitializer ; <[144 x [144 x i8]]*> [#uses=0]
+@b_tropism = internal global [144 x [144 x i8]] zeroinitializer ; <[144 x [144 x i8]]*> [#uses=0]
+@n_tropism = internal global [144 x [144 x i8]] zeroinitializer ; <[144 x [144 x i8]]*> [#uses=0]
+@r_tropism = internal global [144 x [144 x i8]] zeroinitializer ; <[144 x [144 x i8]]*> [#uses=0]
+@q_tropism = internal global [144 x [144 x i8]] zeroinitializer ; <[144 x [144 x i8]]*> [#uses=0]
+@cfg_devscale.b = internal global i1 false ; <i1*> [#uses=0]
+@pieces = internal global [62 x i32] zeroinitializer ; <[62 x i32]*> [#uses=0]
+@piece_count = internal global i32 0 ; <i32*> [#uses=1]
+@cfg_smarteval.b = internal global i1 false ; <i1*> [#uses=0]
+@lcentral = internal global [144 x i32] [ i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 -20, i32 -15, i32 -15, i32 -15, i32 -15, i32 -15, i32 -15, i32 -20, i32 0, i32 0, i32 0, i32 0, i32 -15, i32 0, i32 3, i32 5, i32 5, i32 3, i32 0, i32 -15, i32 0, i32 0, i32 0, i32 0, i32 -15, i32 0, i32 15, i32 15, i32 15, i32 15, i32 0, i32 -15, i32 0, i32 0, i32 0, i32 0, i32 -15, i32 0, i32 15, i32 30, i32 30, i32 15, i32 0, i32 -15, i32 0, i32 0, i32 0, i32 0, i32 -15, i32 0, i32 15, i32 30, i32 30, i32 15, i32 0, i32 -15, i32 0, i32 0, i32 0, i32 0, i32 -15, i32 0, i32 15, i32 15, i32 15, i32 15, i32 0, i32 -15, i32 0, i32 0, i32 0, i32 0, i32 -15, i32 0, i32 3, i32 5, i32 5, i32 3, i32 0, i32 -15, i32 0, i32 0, i32 0, i32 0, i32 -20, i32 -15, i32 -15, i32 -15, i32 -15, i32 -15, i32 -15, i32 -20, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0 ] ; <[144 x i32]*> [#uses=0]
+@str3.upgrd.21 = internal global [81 x i8] c"/Volumes/Stuff/src/speccpu2006-091-llvm/benchspec//CPU2006/458.sjeng/src/leval.c\00" ; <[81 x i8]*> [#uses=0]
+@str5 = internal global [21 x i8] c"(i > 0) && (i < 145)\00" ; <[21 x i8]*> [#uses=0]
+@kingcap.b = internal global i1 false ; <i1*> [#uses=0]
+@numb_moves = internal global i32 0 ; <i32*> [#uses=2]
+@genfor = internal global %struct.move_s* null ; <%struct.move_s**> [#uses=0]
+@captures = internal global i32 0 ; <i32*> [#uses=1]
+@fcaptures.b = internal global i1 false ; <i1*> [#uses=0]
+@gfrom = internal global i32 0 ; <i32*> [#uses=0]
+@Giveaway.b = internal global i1 false ; <i1*> [#uses=0]
+@path_x = internal global [300 x %struct.move_x] zeroinitializer ; <[300 x %struct.move_x]*> [#uses=0]
+@str7 = internal global [81 x i8] c"/Volumes/Stuff/src/speccpu2006-091-llvm/benchspec//CPU2006/458.sjeng/src/moves.c\00" ; <[81 x i8]*> [#uses=0]
+@str8 = internal global [15 x i8] c"find_slot < 63\00" ; <[15 x i8]*> [#uses=0]
+@is_promoted = internal global [62 x i32] zeroinitializer ; <[62 x i32]*> [#uses=0]
+@squares = internal global [144 x i32] zeroinitializer ; <[144 x i32]*> [#uses=0]
+@str.upgrd.22 = internal global [38 x i8] c"promoted > frame && promoted < npiece\00" ; <[38 x i8]*> [#uses=0]
+@str1.upgrd.23 = internal global [38 x i8] c"promoted < npiece && promoted > frame\00" ; <[38 x i8]*> [#uses=0]
+@evalRoutines = internal global [7 x i32 (i32, i32)*] [ i32 (i32, i32)* @ErrorIt, i32 (i32, i32)* @Pawn, i32 (i32, i32)* @Knight, i32 (i32, i32)* @King, i32 (i32, i32)* @Rook, i32 (i32, i32)* @Queen, i32 (i32, i32)* @Bishop ] ; <[7 x i32 (i32, i32)*]*> [#uses=0]
+@sbishop = internal global [144 x i32] [ i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 -2, i32 -2, i32 -2, i32 -2, i32 -2, i32 -2, i32 -2, i32 -2, i32 0, i32 0, i32 0, i32 0, i32 -2, i32 8, i32 5, i32 5, i32 5, i32 5, i32 8, i32 -2, i32 0, i32 0, i32 0, i32 0, i32 -2, i32 3, i32 3, i32 5, i32 5, i32 3, i32 3, i32 -2, i32 0, i32 0, i32 0, i32 0, i32 -2, i32 2, i32 5, i32 4, i32 4, i32 5, i32 2, i32 -2, i32 0, i32 0, i32 0, i32 0, i32 -2, i32 2, i32 5, i32 4, i32 4, i32 5, i32 2, i32 -2, i32 0, i32 0, i32 0, i32 0, i32 -2, i32 3, i32 3, i32 5, i32 5, i32 3, i32 3, i32 -2, i32 0, i32 0, i32 0, i32 0, i32 -2, i32 8, i32 5, i32 5, i32 5, i32 5, i32 8, i32 -2, i32 0, i32 0, i32 0, i32 0, i32 -2, i32 -2, i32 -2, i32 -2, i32 -2, i32 -2, i32 -2, i32 -2, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0 ] ; <[144 x i32]*> [#uses=0]
+@sknight = internal global [144 x i32] [ i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 -20, i32 -10, i32 -10, i32 -10, i32 -10, i32 -10, i32 -10, i32 -20, i32 0, i32 0, i32 0, i32 0, i32 -10, i32 0, i32 0, i32 3, i32 3, i32 0, i32 0, i32 -10, i32 0, i32 0, i32 0, i32 0, i32 -10, i32 0, i32 5, i32 5, i32 5, i32 5, i32 0, i32 -10, i32 0, i32 0, i32 0, i32 0, i32 -10, i32 0, i32 5, i32 10, i32 10, i32 5, i32 0, i32 -10, i32 0, i32 0, i32 0, i32 0, i32 -10, i32 0, i32 5, i32 10, i32 10, i32 5, i32 0, i32 -10, i32 0, i32 0, i32 0, i32 0, i32 -10, i32 0, i32 5, i32 5, i32 5, i32 5, i32 0, i32 -10, i32 0, i32 0, i32 0, i32 0, i32 -10, i32 0, i32 0, i32 3, i32 3, i32 0, i32 0, i32 -10, i32 0, i32 0, i32 0, i32 0, i32 -20, i32 -10, i32 -10, i32 -10, i32 -10, i32 -10, i32 -10, i32 -20, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0 ] ; <[144 x i32]*> [#uses=0]
+@swhite_pawn = internal global [144 x i32] [ i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 2, i32 3, i32 10, i32 10, i32 3, i32 2, i32 1, i32 0, i32 0, i32 0, i32 0, i32 2, i32 4, i32 6, i32 12, i32 12, i32 6, i32 4, i32 2, i32 0, i32 0, i32 0, i32 0, i32 3, i32 6, i32 9, i32 14, i32 14, i32 9, i32 6, i32 3, i32 0, i32 0, i32 0, i32 0, i32 10, i32 12, i32 14, i32 16, i32 16, i32 14, i32 12, i32 10, i32 0, i32 0, i32 0, i32 0, i32 20, i32 22, i32 24, i32 26, i32 26, i32 24, i32 22, i32 20, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0 ] ; <[144 x i32]*> [#uses=0]
+@sblack_pawn = internal global [144 x i32] [ i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 20, i32 22, i32 24, i32 26, i32 26, i32 24, i32 22, i32 20, i32 0, i32 0, i32 0, i32 0, i32 10, i32 12, i32 14, i32 16, i32 16, i32 14, i32 12, i32 10, i32 0, i32 0, i32 0, i32 0, i32 3, i32 6, i32 9, i32 14, i32 14, i32 9, i32 6, i32 3, i32 0, i32 0, i32 0, i32 0, i32 2, i32 4, i32 6, i32 12, i32 12, i32 6, i32 4, i32 2, i32 0, i32 0, i32 0, i32 0, i32 1, i32 2, i32 3, i32 10, i32 10, i32 3, i32 2, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0 ] ; <[144 x i32]*> [#uses=0]
+@swhite_king = internal global [144 x i32] [ i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2, i32 14, i32 0, i32 0, i32 0, i32 9, i32 14, i32 2, i32 0, i32 0, i32 0, i32 0, i32 -3, i32 -5, i32 -6, i32 -6, i32 -6, i32 -6, i32 -5, i32 -3, i32 0, i32 0, i32 0, i32 0, i32 -5, i32 -5, i32 -8, i32 -8, i32 -8, i32 -8, i32 -5, i32 -5, i32 0, i32 0, i32 0, i32 0, i32 -8, i32 -8, i32 -13, i32 -13, i32 -13, i32 -13, i32 -8, i32 -8, i32 0, i32 0, i32 0, i32 0, i32 -13, i32 -13, i32 -21, i32 -21, i32 -21, i32 -21, i32 -13, i32 -13, i32 0, i32 0, i32 0, i32 0, i32 -21, i32 -21, i32 -34, i32 -34, i32 -34, i32 -34, i32 -21, i32 -21, i32 0, i32 0, i32 0, i32 0, i32 -34, i32 -34, i32 -55, i32 -55, i32 -55, i32 -55, i32 -34, i32 -34, i32 0, i32 0, i32 0, i32 0, i32 -55, i32 -55, i32 -89, i32 -89, i32 -89, i32 -89, i32 -55, i32 -55, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0 ] ; <[144 x i32]*> [#uses=0]
+@sblack_king = internal global [144 x i32] [ i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 -55, i32 -55, i32 -89, i32 -89, i32 -89, i32 -89, i32 -55, i32 -55, i32 0, i32 0, i32 0, i32 0, i32 -34, i32 -34, i32 -55, i32 -55, i32 -55, i32 -55, i32 -34, i32 -34, i32 0, i32 0, i32 0, i32 0, i32 -21, i32 -21, i32 -34, i32 -34, i32 -34, i32 -34, i32 -21, i32 -21, i32 0, i32 0, i32 0, i32 0, i32 -13, i32 -13, i32 -21, i32 -21, i32 -21, i32 -21, i32 -13, i32 -13, i32 0, i32 0, i32 0, i32 0, i32 -8, i32 -8, i32 -13, i32 -13, i32 -13, i32 -13, i32 -8, i32 -8, i32 0, i32 0, i32 0, i32 0, i32 -5, i32 -5, i32 -8, i32 -8, i32 -8, i32 -8, i32 -5, i32 -5, i32 0, i32 0, i32 0, i32 0, i32 -3, i32 -5, i32 -6, i32 -6, i32 -6, i32 -6, i32 -5, i32 -3, i32 0, i32 0, i32 0, i32 0, i32 2, i32 14, i32 0, i32 0, i32 0, i32 9, i32 14, i32 2, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0 ] ; <[144 x i32]*> [#uses=0]
+@send_king = internal global [144 x i32] [ i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 -5, i32 -3, i32 -1, i32 0, i32 0, i32 -1, i32 -3, i32 -5, i32 0, i32 0, i32 0, i32 0, i32 -3, i32 10, i32 10, i32 10, i32 10, i32 10, i32 10, i32 -3, i32 0, i32 0, i32 0, i32 0, i32 -1, i32 10, i32 25, i32 25, i32 25, i32 25, i32 10, i32 -1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 10, i32 25, i32 50, i32 50, i32 25, i32 10, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 10, i32 25, i32 50, i32 50, i32 25, i32 10, i32 0, i32 0, i32 0, i32 0, i32 0, i32 -1, i32 10, i32 25, i32 25, i32 25, i32 25, i32 10, i32 -1, i32 0, i32 0, i32 0, i32 0, i32 -3, i32 10, i32 10, i32 10, i32 10, i32 10, i32 10, i32 -3, i32 0, i32 0, i32 0, i32 0, i32 -5, i32 -3, i32 -1, i32 0, i32 0, i32 -1, i32 -3, i32 -5, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0 ] ; <[144 x i32]*> [#uses=0]
+@srev_rank = internal global [9 x i32] [ i32 0, i32 8, i32 7, i32 6, i32 5, i32 4, i32 3, i32 2, i32 1 ] ; <[9 x i32]*> [#uses=0]
+@std_p_tropism = internal global [8 x i32] [ i32 9999, i32 15, i32 10, i32 7, i32 2, i32 0, i32 0, i32 0 ] ; <[8 x i32]*> [#uses=0]
+@std_own_p_tropism = internal global [8 x i32] [ i32 9999, i32 30, i32 10, i32 2, i32 0, i32 0, i32 0, i32 0 ] ; <[8 x i32]*> [#uses=0]
+@std_r_tropism = internal global [16 x i32] [ i32 9999, i32 0, i32 15, i32 5, i32 2, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0 ] ; <[16 x i32]*> [#uses=0]
+@std_n_tropism = internal global [8 x i32] [ i32 9999, i32 14, i32 9, i32 6, i32 1, i32 0, i32 0, i32 0 ] ; <[8 x i32]*> [#uses=0]
+@std_q_tropism = internal global [8 x i32] [ i32 9999, i32 200, i32 50, i32 15, i32 3, i32 2, i32 1, i32 0 ] ; <[8 x i32]*> [#uses=0]
+@std_b_tropism = internal global [8 x i32] [ i32 9999, i32 12, i32 7, i32 5, i32 0, i32 0, i32 0, i32 0 ] ; <[8 x i32]*> [#uses=0]
+@phase = internal global i32 0 ; <i32*> [#uses=1]
+@dir.3001 = internal global [4 x i32] [ i32 -13, i32 -11, i32 11, i32 13 ] ; <[4 x i32]*> [#uses=0]
+@dir.3021 = internal global [4 x i32] [ i32 -1, i32 1, i32 12, i32 -12 ] ; <[4 x i32]*> [#uses=0]
+@king_locs = internal global [2 x i32] zeroinitializer ; <[2 x i32]*> [#uses=0]
+@square_d1.3081 = internal global [2 x i32] [ i32 29, i32 113 ] ; <[2 x i32]*> [#uses=0]
+@wmat = internal global i32 0 ; <i32*> [#uses=0]
+@bmat = internal global i32 0 ; <i32*> [#uses=0]
+@str.upgrd.24 = internal global [35 x i8] c"Illegal piece detected sq=%i c=%i\0A\00" ; <[35 x i8]*> [#uses=0]
+@str10 = internal global [81 x i8] c"/Volumes/Stuff/src/speccpu2006-091-llvm/benchspec//CPU2006/458.sjeng/src/neval.c\00" ; <[81 x i8]*> [#uses=0]
+@std_hand_value = internal global [13 x i32] [ i32 0, i32 100, i32 -100, i32 210, i32 -210, i32 0, i32 0, i32 250, i32 -250, i32 450, i32 -450, i32 230, i32 -230 ] ; <[13 x i32]*> [#uses=0]
+@xb_mode = internal global i32 0 ; <i32*> [#uses=0]
+@str.upgrd.25 = internal global [69 x i8] c"tellics ptell Hello! I am Sjeng and hope you enjoy playing with me.\0A\00" ; <[69 x i8]*> [#uses=0]
+@str.upgrd.26 = internal global [76 x i8] c"tellics ptell For help on some commands that I understand, ptell me 'help'\0A\00" ; <[76 x i8]*> [#uses=0]
+@str12 = internal global [3 x i8] c"%s\00" ; <[3 x i8]*> [#uses=0]
+@my_partner = internal global [256 x i8] zeroinitializer ; <[256 x i8]*> [#uses=0]
+@str13 = internal global [25 x i8] c"tellics set f5 bughouse\0A\00" ; <[25 x i8]*> [#uses=0]
+@str.upgrd.27 = internal global [16 x i8] c"tellics unseek\0A\00" ; <[16 x i8]*> [#uses=0]
+@str.upgrd.28 = internal global [20 x i8] c"tellics set f5 1=1\0A\00" ; <[20 x i8]*> [#uses=0]
+@str.upgrd.29 = internal global [80 x i8] c"is...uh...what did you say?\0A\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00" ; <[80 x i8]*> [#uses=0]
+@str.upgrd.30 = internal global [5 x i8] c"help\00" ; <[5 x i8]*> [#uses=0]
+@str.upgrd.31 = internal global [147 x i8] c"tellics ptell Commands that I understand are : sit, go, fast, slow, abort, flag, +/++/+++/-/--/---{p,n,b,r,q,d,h,trades}, x, dead, formula, help.\0A\00" ; <[147 x i8]*> [#uses=0]
+@str.upgrd.32 = internal global [6 x i8] c"sorry\00" ; <[6 x i8]*> [#uses=0]
+@str.upgrd.33 = internal global [59 x i8] c"tellics ptell Sorry, but I'm not playing a bughouse game.\0A\00" ; <[59 x i8]*> [#uses=0]
+@str.upgrd.34 = internal global [4 x i8] c"sit\00" ; <[4 x i8]*> [#uses=0]
+@str.upgrd.35 = internal global [56 x i8] c"tellics ptell Ok, I sit next move. Tell me when to go.\0A\00" ; <[56 x i8]*> [#uses=0]
+@must_sit.b = internal global i1 false ; <i1*> [#uses=0]
+@str114 = internal global [3 x i8] c"go\00" ; <[3 x i8]*> [#uses=0]
+@str2.upgrd.36 = internal global [5 x i8] c"move\00" ; <[5 x i8]*> [#uses=0]
+@str.upgrd.37 = internal global [31 x i8] c"tellics ptell Ok, I'm moving.\0A\00" ; <[31 x i8]*> [#uses=0]
+@str3.upgrd.38 = internal global [5 x i8] c"fast\00" ; <[5 x i8]*> [#uses=0]
+@str4.upgrd.39 = internal global [5 x i8] c"time\00" ; <[5 x i8]*> [#uses=0]
+@str15 = internal global [35 x i8] c"tellics ptell Ok, I'm going FAST!\0A\00" ; <[35 x i8]*> [#uses=0]
+@go_fast.b = internal global i1 false ; <i1*> [#uses=0]
+@str5.upgrd.40 = internal global [5 x i8] c"slow\00" ; <[5 x i8]*> [#uses=0]
+@str16 = internal global [36 x i8] c"tellics ptell Ok, moving normally.\0A\00" ; <[36 x i8]*> [#uses=0]
+@str6 = internal global [6 x i8] c"abort\00" ; <[6 x i8]*> [#uses=0]
+@str7.upgrd.41 = internal global [35 x i8] c"tellics ptell Requesting abort...\0A\00" ; <[35 x i8]*> [#uses=0]
+@str17 = internal global [15 x i8] c"tellics abort\0A\00" ; <[15 x i8]*> [#uses=0]
+@str8.upgrd.42 = internal global [5 x i8] c"flag\00" ; <[5 x i8]*> [#uses=0]
+@str.upgrd.43 = internal global [27 x i8] c"tellics ptell Flagging...\0A\00" ; <[27 x i8]*> [#uses=0]
+@str.upgrd.44 = internal global [14 x i8] c"tellics flag\0A\00" ; <[14 x i8]*> [#uses=0]
+@str18 = internal global [2 x i8] c"+\00" ; <[2 x i8]*> [#uses=0]
+@str9 = internal global [6 x i8] c"trade\00" ; <[6 x i8]*> [#uses=0]
+@str10.upgrd.45 = internal global [35 x i8] c"tellics ptell Ok, trading is GOOD\0A\00" ; <[35 x i8]*> [#uses=0]
+@str11 = internal global [4 x i8] c"+++\00" ; <[4 x i8]*> [#uses=0]
+@str12.upgrd.46 = internal global [6 x i8] c"mates\00" ; <[6 x i8]*> [#uses=0]
+@str13.upgrd.47 = internal global [3 x i8] c"++\00" ; <[3 x i8]*> [#uses=0]
+@str.upgrd.48 = internal global [49 x i8] c"is VERY good (ptell me 'x' to play normal again)\00" ; <[49 x i8]*> [#uses=0]
+@str.upgrd.49 = internal global [44 x i8] c"is good (ptell me 'x' to play normal again)\00" ; <[44 x i8]*> [#uses=0]
+@str19 = internal global [29 x i8] c"tellics ptell Ok, Knight %s\0A\00" ; <[29 x i8]*> [#uses=0]
+@str14 = internal global [29 x i8] c"tellics ptell Ok, Bishop %s\0A\00" ; <[29 x i8]*> [#uses=0]
+@str15.upgrd.50 = internal global [27 x i8] c"tellics ptell Ok, Rook %s\0A\00" ; <[27 x i8]*> [#uses=0]
+@str.upgrd.51 = internal global [28 x i8] c"tellics ptell Ok, Queen %s\0A\00" ; <[28 x i8]*> [#uses=0]
+@str16.upgrd.52 = internal global [27 x i8] c"tellics ptell Ok, Pawn %s\0A\00" ; <[27 x i8]*> [#uses=0]
+@str17.upgrd.53 = internal global [31 x i8] c"tellics ptell Ok, Diagonal %s\0A\00" ; <[31 x i8]*> [#uses=0]
+@str18.upgrd.54 = internal global [28 x i8] c"tellics ptell Ok, Heavy %s\0A\00" ; <[28 x i8]*> [#uses=0]
+@str20 = internal global [34 x i8] c"tellics ptell Ok, trading is BAD\0A\00" ; <[34 x i8]*> [#uses=0]
+@str20.upgrd.55 = internal global [4 x i8] c"---\00" ; <[4 x i8]*> [#uses=0]
+@str.upgrd.56 = internal global [53 x i8] c"mates you (ptell me 'x' when it no longer mates you)\00" ; <[53 x i8]*> [#uses=0]
+@str21 = internal global [3 x i8] c"--\00" ; <[3 x i8]*> [#uses=0]
+@str.upgrd.57 = internal global [52 x i8] c"is VERY bad (ptell me 'x' when it is no longer bad)\00" ; <[52 x i8]*> [#uses=0]
+@str21.upgrd.58 = internal global [47 x i8] c"is bad (ptell me 'x' when it is no longer bad)\00" ; <[47 x i8]*> [#uses=0]
+@str23 = internal global [16 x i8] c"mate me anymore\00" ; <[16 x i8]*> [#uses=0]
+@str24 = internal global [6 x i8] c"never\00" ; <[6 x i8]*> [#uses=0]
+@str25 = internal global [5 x i8] c"mind\00" ; <[5 x i8]*> [#uses=0]
+@str22 = internal global [9 x i8] c"ptell me\00" ; <[9 x i8]*> [#uses=0]
+@str.upgrd.59 = internal global [55 x i8] c"tellics ptell Ok, reverting to STANDARD piece values!\0A\00" ; <[55 x i8]*> [#uses=0]
+@partnerdead.b = internal global i1 false ; <i1*> [#uses=0]
+@piecedead.b = internal global i1 false ; <i1*> [#uses=0]
+@str.upgrd.60 = internal global [26 x i8] c"i'll have to sit...(dead)\00" ; <[26 x i8]*> [#uses=0]
+@str27 = internal global [5 x i8] c"dead\00" ; <[5 x i8]*> [#uses=0]
+@str28 = internal global [27 x i8] c"i'll have to sit...(piece)\00" ; <[27 x i8]*> [#uses=0]
+@str29 = internal global [3 x i8] c"ok\00" ; <[3 x i8]*> [#uses=0]
+@str30 = internal global [3 x i8] c"hi\00" ; <[3 x i8]*> [#uses=0]
+@str31 = internal global [6 x i8] c"hello\00" ; <[6 x i8]*> [#uses=0]
+@str32 = internal global [26 x i8] c"tellics ptell Greetings.\0A\00" ; <[26 x i8]*> [#uses=0]
+@str.upgrd.61 = internal global [8 x i8] c"formula\00" ; <[8 x i8]*> [#uses=0]
+@str.upgrd.62 = internal global [87 x i8] c"tellics ptell Setting formula, if you are still interrupted, complain to my operator.\0A\00" ; <[87 x i8]*> [#uses=0]
+@str33 = internal global [59 x i8] c"tellics ptell Sorry, but I don't understand that command.\0A\00" ; <[59 x i8]*> [#uses=0]
+@pawnmated.3298 = internal global i32 0 ; <i32*> [#uses=0]
+@knightmated.3299 = internal global i32 0 ; <i32*> [#uses=0]
+@bishopmated.3300 = internal global i32 0 ; <i32*> [#uses=0]
+@rookmated.3301 = internal global i32 0 ; <i32*> [#uses=0]
+@queenmated.3302 = internal global i32 0 ; <i32*> [#uses=0]
+@str.upgrd.63 = internal global [41 x i8] c"tellics ptell p doesn't mate me anymore\0A\00" ; <[41 x i8]*> [#uses=0]
+@str34 = internal global [41 x i8] c"tellics ptell n doesn't mate me anymore\0A\00" ; <[41 x i8]*> [#uses=0]
+@str35 = internal global [41 x i8] c"tellics ptell b doesn't mate me anymore\0A\00" ; <[41 x i8]*> [#uses=0]
+@str36 = internal global [41 x i8] c"tellics ptell r doesn't mate me anymore\0A\00" ; <[41 x i8]*> [#uses=0]
+@str37 = internal global [41 x i8] c"tellics ptell q doesn't mate me anymore\0A\00" ; <[41 x i8]*> [#uses=0]
+@str38 = internal global [20 x i8] c"tellics ptell ---p\0A\00" ; <[20 x i8]*> [#uses=0]
+@str39 = internal global [20 x i8] c"tellics ptell ---n\0A\00" ; <[20 x i8]*> [#uses=0]
+@str40 = internal global [20 x i8] c"tellics ptell ---b\0A\00" ; <[20 x i8]*> [#uses=0]
+@str41 = internal global [20 x i8] c"tellics ptell ---r\0A\00" ; <[20 x i8]*> [#uses=0]
+@str42 = internal global [20 x i8] c"tellics ptell ---q\0A\00" ; <[20 x i8]*> [#uses=0]
+@str23.upgrd.64 = internal global [17 x i8] c"tellics ptell x\0A\00" ; <[17 x i8]*> [#uses=0]
+@str.upgrd.65 = internal global [18 x i8] c"tellics ptell go\0A\00" ; <[18 x i8]*> [#uses=0]
+@bufftop = internal global i32 0 ; <i32*> [#uses=2]
+@membuff = internal global i8* null ; <i8**> [#uses=3]
+@maxply = internal global i32 0 ; <i32*> [#uses=1]
+@forwards = internal global i32 0 ; <i32*> [#uses=1]
+@nodecount = internal global i32 0 ; <i32*> [#uses=1]
+@frees = internal global i32 0 ; <i32*> [#uses=0]
+@PBSize.b = internal global i1 false ; <i1*> [#uses=1]
+@alllosers.b = internal global i1 false ; <i1*> [#uses=1]
+@rootlosers = internal global [300 x i32] zeroinitializer ; <[300 x i32]*> [#uses=1]
+@pn_move = internal global %struct.move_s zeroinitializer ; <%struct.move_s*> [#uses=7]
+@iters = internal global i32 0 ; <i32*> [#uses=1]
+@kibitzed.b = internal global i1 false ; <i1*> [#uses=0]
+@str24.upgrd.66 = internal global [28 x i8] c"tellics kibitz Forced win!\0A\00" ; <[28 x i8]*> [#uses=0]
+@str25.upgrd.67 = internal global [34 x i8] c"tellics kibitz Forced win! (alt)\0A\00" ; <[34 x i8]*> [#uses=0]
+@pn_time = internal global i32 0 ; <i32*> [#uses=1]
+@post = internal global i32 0 ; <i32*> [#uses=0]
+@str.upgrd.68 = internal global [94 x i8] c"tellics whisper proof %d, disproof %d, %d losers, highest depth %d, primary %d, secondary %d\0A\00" ; <[94 x i8]*> [#uses=0]
+@str26 = internal global [30 x i8] c"tellics whisper Forced reply\0A\00" ; <[30 x i8]*> [#uses=0]
+@str27.upgrd.69 = internal global [60 x i8] c"P: %d D: %d N: %d S: %d Mem: %2.2fM Iters: %d MaxDepth: %d\0A\00" ; <[60 x i8]*> [#uses=0]
+@str.upgrd.70 = internal global [90 x i8] c"tellics whisper proof %d, disproof %d, %d nodes, %d forwards, %d iters, highest depth %d\0A\00" ; <[90 x i8]*> [#uses=0]
+@str.upgrd.71 = internal global [11 x i8] c"Time : %f\0A\00" ; <[11 x i8]*> [#uses=0]
+@str28.upgrd.72 = internal global [23 x i8] c"This position is WON.\0A\00" ; <[23 x i8]*> [#uses=0]
+@str29.upgrd.73 = internal global [5 x i8] c"PV: \00" ; <[5 x i8]*> [#uses=0]
+@str30.upgrd.74 = internal global [4 x i8] c"%s \00" ; <[4 x i8]*> [#uses=0]
+@str31.upgrd.75 = internal global [2 x i8] c" \00" ; <[2 x i8]*> [#uses=0]
+@str32.upgrd.76 = internal global [41 x i8] c"\0Atellics kibitz Forced win in %d moves.\0A\00" ; <[41 x i8]*> [#uses=0]
+@str33.upgrd.77 = internal global [20 x i8] c"\0A1-0 {White mates}\0A\00" ; <[20 x i8]*> [#uses=0]
+@result = internal global i32 0 ; <i32*> [#uses=4]
+@str1.upgrd.78 = internal global [20 x i8] c"\0A0-1 {Black mates}\0A\00" ; <[20 x i8]*> [#uses=0]
+@str35.upgrd.79 = internal global [24 x i8] c"This position is LOST.\0A\00" ; <[24 x i8]*> [#uses=0]
+@str36.upgrd.80 = internal global [27 x i8] c"This position is UNKNOWN.\0A\00" ; <[27 x i8]*> [#uses=0]
+@str37.upgrd.81 = internal global [47 x i8] c"P: %d D: %d N: %d S: %d Mem: %2.2fM Iters: %d\0A\00" ; <[47 x i8]*> [#uses=0]
+@s_threat.b = internal global i1 false ; <i1*> [#uses=0]
+@TTSize.b = internal global i1 false ; <i1*> [#uses=3]
+@cfg_razordrop.b = internal global i1 false ; <i1*> [#uses=0]
+@cfg_futprune.b = internal global i1 false ; <i1*> [#uses=0]
+@cfg_onerep.b = internal global i1 false ; <i1*> [#uses=0]
+@setcode = internal global [30 x i8] zeroinitializer ; <[30 x i8]*> [#uses=0]
+@str38.upgrd.82 = internal global [3 x i8] c"%u\00" ; <[3 x i8]*> [#uses=0]
+@searching_pv.b = internal global i1 false ; <i1*> [#uses=0]
+@pv = internal global [300 x [300 x %struct.move_s]] zeroinitializer ; <[300 x [300 x %struct.move_s]]*> [#uses=0]
+@i_depth = internal global i32 0 ; <i32*> [#uses=0]
+@history_h = internal global [144 x [144 x i32]] zeroinitializer ; <[144 x [144 x i32]]*> [#uses=0]
+@killer1 = internal global [300 x %struct.move_s] zeroinitializer ; <[300 x %struct.move_s]*> [#uses=0]
+@killer2 = internal global [300 x %struct.move_s] zeroinitializer ; <[300 x %struct.move_s]*> [#uses=0]
+@killer3 = internal global [300 x %struct.move_s] zeroinitializer ; <[300 x %struct.move_s]*> [#uses=0]
+@rootnodecount = internal global [512 x i32] zeroinitializer ; <[512 x i32]*> [#uses=0]
+@raw_nodes = internal global i32 0 ; <i32*> [#uses=0]
+@pv_length = internal global [300 x i32] zeroinitializer ; <[300 x i32]*> [#uses=0]
+@time_exit.b = internal global i1 false ; <i1*> [#uses=0]
+@time_for_move = internal global i32 0 ; <i32*> [#uses=3]
+@failed = internal global i32 0 ; <i32*> [#uses=0]
+@extendedtime.b = internal global i1 false ; <i1*> [#uses=1]
+@time_left = internal global i32 0 ; <i32*> [#uses=0]
+@str39.upgrd.83 = internal global [38 x i8] c"Extended from %d to %d, time left %d\0A\00" ; <[38 x i8]*> [#uses=0]
+@checks = internal global [300 x i32] zeroinitializer ; <[300 x i32]*> [#uses=0]
+@singular = internal global [300 x i32] zeroinitializer ; <[300 x i32]*> [#uses=0]
+@recaps = internal global [300 x i32] zeroinitializer ; <[300 x i32]*> [#uses=0]
+@ext_onerep = internal global i32 0 ; <i32*> [#uses=1]
+@FULL = internal global i32 0 ; <i32*> [#uses=1]
+@PVS = internal global i32 0 ; <i32*> [#uses=1]
+@PVSF = internal global i32 0 ; <i32*> [#uses=1]
+@killer_scores = internal global [300 x i32] zeroinitializer ; <[300 x i32]*> [#uses=0]
+@killer_scores2 = internal global [300 x i32] zeroinitializer ; <[300 x i32]*> [#uses=0]
+@killer_scores3 = internal global [300 x i32] zeroinitializer ; <[300 x i32]*> [#uses=0]
+@time_failure.b = internal global i1 false ; <i1*> [#uses=0]
+@cur_score = internal global i32 0 ; <i32*> [#uses=0]
+@legals = internal global i32 0 ; <i32*> [#uses=3]
+@movetotal = internal global i32 0 ; <i32*> [#uses=0]
+@searching_move = internal global [20 x i8] zeroinitializer ; <[20 x i8]*> [#uses=0]
+@is_pondering.b = internal global i1 false ; <i1*> [#uses=6]
+@true_i_depth = internal global i8 0 ; <i8*> [#uses=1]
+@is_analyzing.b = internal global i1 false ; <i1*> [#uses=0]
+@inc = internal global i32 0 ; <i32*> [#uses=1]
+@time_cushion = internal global i32 0 ; <i32*> [#uses=2]
+@str40.upgrd.84 = internal global [16 x i8] c"Opening phase.\0A\00" ; <[16 x i8]*> [#uses=1]
+@str.upgrd.85 = internal global [19 x i8] c"Middlegame phase.\0A\00" ; <[19 x i8]*> [#uses=1]
+@str1.upgrd.86 = internal global [16 x i8] c"Endgame phase.\0A\00" ; <[16 x i8]*> [#uses=1]
+@str43 = internal global [20 x i8] c"Time for move : %d\0A\00" ; <[20 x i8]*> [#uses=1]
+@postpv = internal global [256 x i8] zeroinitializer ; <[256 x i8]*> [#uses=0]
+@str44 = internal global [49 x i8] c"tellics whisper %d restart(s), ended up with %s\0A\00" ; <[49 x i8]*> [#uses=0]
+@moves_to_tc = internal global i32 0 ; <i32*> [#uses=0]
+@str45 = internal global [27 x i8] c"tellics kibitz Mate in %d\0A\00" ; <[27 x i8]*> [#uses=0]
+@str46 = internal global [52 x i8] c"tellics ptell Mate in %d, give him no more pieces.\0A\00" ; <[52 x i8]*> [#uses=0]
+@tradefreely.b = internal global i1 false ; <i1*> [#uses=0]
+@str.upgrd.87 = internal global [37 x i8] c"tellics ptell You can trade freely.\0A\00" ; <[37 x i8]*> [#uses=0]
+@str47 = internal global [25 x i8] c"tellics ptell ---trades\0A\00" ; <[25 x i8]*> [#uses=0]
+@str2.upgrd.88 = internal global [49 x i8] c"tellics kibitz Both players dead...resigning...\0A\00" ; <[49 x i8]*> [#uses=0]
+@str3.upgrd.89 = internal global [16 x i8] c"tellics resign\0A\00" ; <[16 x i8]*> [#uses=0]
+@str48 = internal global [81 x i8] c"tellics ptell I am forcedly mated (dead). Tell me 'go' to start moving into it.\0A\00" ; <[81 x i8]*> [#uses=0]
+@str.upgrd.90 = internal global [62 x i8] c"tellics ptell I'll have to sit...(lose piece that mates you)\0A\00" ; <[62 x i8]*> [#uses=0]
+@see_num_attackers = internal global [2 x i32] zeroinitializer ; <[2 x i32]*> [#uses=0]
+@see_attackers = internal global [2 x [16 x %struct.see_data]] zeroinitializer ; <[2 x [16 x %struct.see_data]]*> [#uses=0]
+@scentral = internal global [144 x i32] [ i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 -20, i32 -10, i32 -10, i32 -10, i32 -10, i32 -10, i32 -10, i32 -20, i32 0, i32 0, i32 0, i32 0, i32 -10, i32 0, i32 3, i32 5, i32 5, i32 3, i32 0, i32 -10, i32 0, i32 0, i32 0, i32 0, i32 -10, i32 2, i32 15, i32 15, i32 15, i32 15, i32 2, i32 -10, i32 0, i32 0, i32 0, i32 0, i32 -10, i32 7, i32 15, i32 25, i32 25, i32 15, i32 7, i32 -10, i32 0, i32 0, i32 0, i32 0, i32 -10, i32 7, i32 15, i32 25, i32 25, i32 15, i32 7, i32 -10, i32 0, i32 0, i32 0, i32 0, i32 -10, i32 2, i32 15, i32 15, i32 15, i32 15, i32 2, i32 -10, i32 0, i32 0, i32 0, i32 0, i32 -10, i32 0, i32 3, i32 5, i32 5, i32 3, i32 0, i32 -10, i32 0, i32 0, i32 0, i32 0, i32 -20, i32 -10, i32 -10, i32 -10, i32 -10, i32 -10, i32 -10, i32 -20, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0 ] ; <[144 x i32]*> [#uses=0]
+@str51 = internal global [81 x i8] c"/Volumes/Stuff/src/speccpu2006-091-llvm/benchspec//CPU2006/458.sjeng/src/seval.c\00" ; <[81 x i8]*> [#uses=0]
+@divider = internal global [50 x i8] c"-------------------------------------------------\00" ; <[50 x i8]*> [#uses=0]
+@min_per_game = internal global i32 0 ; <i32*> [#uses=0]
+@opp_rating = internal global i32 0 ; <i32*> [#uses=0]
+@my_rating = internal global i32 0 ; <i32*> [#uses=0]
+@str53 = internal global [15 x i8] c"SPEC Workload\0A\00" ; <[15 x i8]*> [#uses=0]
+@opening_history = internal global [256 x i8] zeroinitializer ; <[256 x i8]*> [#uses=0]
+@str60 = internal global [81 x i8] c"Material score: %d Eval : %d MaxPosDiff: %d White hand: %d Black hand : %d\0A\00" ; <[81 x i8]*> [#uses=0]
+@str61 = internal global [26 x i8] c"Hash : %X HoldHash : %X\0A\00" ; <[26 x i8]*> [#uses=0]
+@str62 = internal global [9 x i8] c"move %s\0A\00" ; <[9 x i8]*> [#uses=0]
+@str63 = internal global [5 x i8] c"\0A%s\0A\00" ; <[5 x i8]*> [#uses=0]
+@str64 = internal global [19 x i8] c"0-1 {Black Mates}\0A\00" ; <[19 x i8]*> [#uses=0]
+@str1.upgrd.91 = internal global [19 x i8] c"1-0 {White Mates}\0A\00" ; <[19 x i8]*> [#uses=0]
+@str65 = internal global [27 x i8] c"1/2-1/2 {Fifty move rule}\0A\00" ; <[27 x i8]*> [#uses=0]
+@str2.upgrd.92 = internal global [29 x i8] c"1/2-1/2 {3 fold repetition}\0A\00" ; <[29 x i8]*> [#uses=0]
+@str66 = internal global [16 x i8] c"1/2-1/2 {Draw}\0A\00" ; <[16 x i8]*> [#uses=0]
+@str68 = internal global [8 x i8] c"Sjeng: \00" ; <[8 x i8]*> [#uses=0]
+@str69 = internal global [18 x i8] c"Illegal move: %s\0A\00" ; <[18 x i8]*> [#uses=0]
+@str3.upgrd.93 = internal global [9 x i8] c"setboard\00" ; <[9 x i8]*> [#uses=0]
+@str470 = internal global [5 x i8] c"quit\00" ; <[5 x i8]*> [#uses=0]
+@str571 = internal global [5 x i8] c"exit\00" ; <[5 x i8]*> [#uses=0]
+@str6.upgrd.94 = internal global [8 x i8] c"diagram\00" ; <[8 x i8]*> [#uses=0]
+@str7.upgrd.95 = internal global [2 x i8] c"d\00" ; <[2 x i8]*> [#uses=0]
+@str72 = internal global [6 x i8] c"perft\00" ; <[6 x i8]*> [#uses=0]
+@str73 = internal global [3 x i8] c"%d\00" ; <[3 x i8]*> [#uses=0]
+@str74 = internal global [28 x i8] c"Raw nodes for depth %d: %i\0A\00" ; <[28 x i8]*> [#uses=0]
+@str.upgrd.96 = internal global [13 x i8] c"Time : %.2f\0A\00" ; <[13 x i8]*> [#uses=0]
+@str75 = internal global [4 x i8] c"new\00" ; <[4 x i8]*> [#uses=0]
+@str.upgrd.97 = internal global [40 x i8] c"tellics set 1 Sjeng SPEC 1.0 (SPEC/%s)\0A\00" ; <[40 x i8]*> [#uses=0]
+@str.upgrd.98 = internal global [7 x i8] c"xboard\00" ; <[7 x i8]*> [#uses=0]
+@str8.upgrd.99 = internal global [6 x i8] c"nodes\00" ; <[6 x i8]*> [#uses=0]
+@str77 = internal global [38 x i8] c"Number of nodes: %i (%0.2f%% qnodes)\0A\00" ; <[38 x i8]*> [#uses=0]
+@str9.upgrd.100 = internal global [5 x i8] c"post\00" ; <[5 x i8]*> [#uses=0]
+@str10.upgrd.101 = internal global [7 x i8] c"nopost\00" ; <[7 x i8]*> [#uses=0]
+@str11.upgrd.102 = internal global [7 x i8] c"random\00" ; <[7 x i8]*> [#uses=0]
+@str12.upgrd.103 = internal global [5 x i8] c"hard\00" ; <[5 x i8]*> [#uses=0]
+@str13.upgrd.104 = internal global [5 x i8] c"easy\00" ; <[5 x i8]*> [#uses=0]
+@str14.upgrd.105 = internal global [2 x i8] c"?\00" ; <[2 x i8]*> [#uses=0]
+@str15.upgrd.106 = internal global [6 x i8] c"white\00" ; <[6 x i8]*> [#uses=0]
+@str16.upgrd.107 = internal global [6 x i8] c"black\00" ; <[6 x i8]*> [#uses=0]
+@str17.upgrd.108 = internal global [6 x i8] c"force\00" ; <[6 x i8]*> [#uses=0]
+@str18.upgrd.109 = internal global [5 x i8] c"eval\00" ; <[5 x i8]*> [#uses=0]
+@str.upgrd.110 = internal global [10 x i8] c"Eval: %d\0A\00" ; <[10 x i8]*> [#uses=0]
+@str2178 = internal global [3 x i8] c"%i\00" ; <[3 x i8]*> [#uses=0]
+@str22.upgrd.111 = internal global [5 x i8] c"otim\00" ; <[5 x i8]*> [#uses=0]
+@opp_time = internal global i32 0 ; <i32*> [#uses=0]
+@str23.upgrd.112 = internal global [6 x i8] c"level\00" ; <[6 x i8]*> [#uses=0]
+@str.upgrd.113 = internal global [12 x i8] c"%i %i:%i %i\00" ; <[12 x i8]*> [#uses=0]
+@sec_per_game = internal global i32 0 ; <i32*> [#uses=0]
+@str24.upgrd.114 = internal global [9 x i8] c"%i %i %i\00" ; <[9 x i8]*> [#uses=0]
+@str25.upgrd.115 = internal global [7 x i8] c"rating\00" ; <[7 x i8]*> [#uses=0]
+@str26.upgrd.116 = internal global [6 x i8] c"%i %i\00" ; <[6 x i8]*> [#uses=0]
+@str27.upgrd.117 = internal global [8 x i8] c"holding\00" ; <[8 x i8]*> [#uses=0]
+@str28.upgrd.118 = internal global [8 x i8] c"variant\00" ; <[8 x i8]*> [#uses=0]
+@str29.upgrd.119 = internal global [7 x i8] c"normal\00" ; <[7 x i8]*> [#uses=0]
+@str79 = internal global [11 x i8] c"crazyhouse\00" ; <[11 x i8]*> [#uses=0]
+@str30.upgrd.120 = internal global [9 x i8] c"bughouse\00" ; <[9 x i8]*> [#uses=0]
+@str31.upgrd.121 = internal global [8 x i8] c"suicide\00" ; <[8 x i8]*> [#uses=0]
+@str32.upgrd.122 = internal global [9 x i8] c"giveaway\00" ; <[9 x i8]*> [#uses=0]
+@str33.upgrd.123 = internal global [7 x i8] c"losers\00" ; <[7 x i8]*> [#uses=0]
+@str34.upgrd.124 = internal global [8 x i8] c"analyze\00" ; <[8 x i8]*> [#uses=0]
+@str35.upgrd.125 = internal global [5 x i8] c"undo\00" ; <[5 x i8]*> [#uses=0]
+@str36.upgrd.126 = internal global [18 x i8] c"Move number : %d\0A\00" ; <[18 x i8]*> [#uses=0]
+@str37.upgrd.127 = internal global [7 x i8] c"remove\00" ; <[7 x i8]*> [#uses=0]
+@str38.upgrd.128 = internal global [5 x i8] c"edit\00" ; <[5 x i8]*> [#uses=0]
+@str41.upgrd.129 = internal global [2 x i8] c"#\00" ; <[2 x i8]*> [#uses=0]
+@str42.upgrd.130 = internal global [8 x i8] c"partner\00" ; <[8 x i8]*> [#uses=0]
+@str43.upgrd.131 = internal global [9 x i8] c"$partner\00" ; <[9 x i8]*> [#uses=0]
+@str44.upgrd.132 = internal global [6 x i8] c"ptell\00" ; <[6 x i8]*> [#uses=0]
+@str45.upgrd.133 = internal global [5 x i8] c"test\00" ; <[5 x i8]*> [#uses=0]
+@str46.upgrd.134 = internal global [3 x i8] c"st\00" ; <[3 x i8]*> [#uses=0]
+@str47.upgrd.135 = internal global [7 x i8] c"result\00" ; <[7 x i8]*> [#uses=0]
+@str48.upgrd.136 = internal global [6 x i8] c"prove\00" ; <[6 x i8]*> [#uses=0]
+@str49 = internal global [26 x i8] c"\0AMax time to search (s): \00" ; <[26 x i8]*> [#uses=0]
+@str50 = internal global [5 x i8] c"ping\00" ; <[5 x i8]*> [#uses=0]
+@str51.upgrd.137 = internal global [9 x i8] c"pong %d\0A\00" ; <[9 x i8]*> [#uses=0]
+@str52 = internal global [6 x i8] c"fritz\00" ; <[6 x i8]*> [#uses=0]
+@str53.upgrd.138 = internal global [6 x i8] c"reset\00" ; <[6 x i8]*> [#uses=0]
+@str54 = internal global [3 x i8] c"sd\00" ; <[3 x i8]*> [#uses=0]
+@str55 = internal global [26 x i8] c"New max depth set to: %d\0A\00" ; <[26 x i8]*> [#uses=0]
+@str56 = internal global [5 x i8] c"auto\00" ; <[5 x i8]*> [#uses=0]
+@str57 = internal global [9 x i8] c"protover\00" ; <[9 x i8]*> [#uses=0]
+@str.upgrd.139 = internal global [63 x i8] c"feature ping=0 setboard=1 playother=0 san=0 usermove=0 time=1\0A\00" ; <[63 x i8]*> [#uses=0]
+@str80 = internal global [53 x i8] c"feature draw=0 sigint=0 sigterm=0 reuse=1 analyze=0\0A\00" ; <[53 x i8]*> [#uses=0]
+@str.upgrd.140 = internal global [33 x i8] c"feature myname=\22Sjeng SPEC 1.0\22\0A\00" ; <[33 x i8]*> [#uses=0]
+@str.upgrd.141 = internal global [71 x i8] c"feature variants=\22normal,bughouse,crazyhouse,suicide,giveaway,losers\22\0A\00" ; <[71 x i8]*> [#uses=0]
+@str.upgrd.142 = internal global [46 x i8] c"feature colors=1 ics=0 name=0 pause=0 done=1\0A\00" ; <[46 x i8]*> [#uses=0]
+@str58 = internal global [9 x i8] c"accepted\00" ; <[9 x i8]*> [#uses=0]
+@str59 = internal global [9 x i8] c"rejected\00" ; <[9 x i8]*> [#uses=0]
+@str.upgrd.143 = internal global [65 x i8] c"Interface does not support a required feature...expect trouble.\0A\00" ; <[65 x i8]*> [#uses=0]
+@str61.upgrd.144 = internal global [6 x i8] c"\0A%s\0A\0A\00" ; <[6 x i8]*> [#uses=0]
+@str81 = internal global [41 x i8] c"diagram/d: toggle diagram display\0A\00" ; <[41 x i8]*> [#uses=0]
+@str82 = internal global [34 x i8] c"exit/quit: terminate Sjeng\0A\00" ; <[34 x i8]*> [#uses=0]
+@str62.upgrd.145 = internal global [51 x i8] c"go: make Sjeng play the side to move\0A\00" ; <[51 x i8]*> [#uses=0]
+@str83 = internal global [35 x i8] c"new: start a new game\0A\00" ; <[35 x i8]*> [#uses=0]
+@str84 = internal global [55 x i8] c"level <x>: the xboard style command to set time\0A\00" ; <[55 x i8]*> [#uses=0]
+@str85 = internal global [49 x i8] c" <x> should be in the form: <a> <b> <c> where:\0A\00" ; <[49 x i8]*> [#uses=0]
+@str63.upgrd.146 = internal global [49 x i8] c" a -> moves to TC (0 if using an ICS style TC)\0A\00" ; <[49 x i8]*> [#uses=0]
+@str86 = internal global [25 x i8] c" b -> minutes per game\0A\00" ; <[25 x i8]*> [#uses=0]
+@str64.upgrd.147 = internal global [29 x i8] c" c -> increment in seconds\0A\00" ; <[29 x i8]*> [#uses=0]
+@str65.upgrd.148 = internal global [55 x i8] c"nodes: outputs the number of nodes searched\0A\00" ; <[55 x i8]*> [#uses=0]
+@str87 = internal global [47 x i8] c"perft <x>: compute raw nodes to depth x\0A\00" ; <[47 x i8]*> [#uses=0]
+@str.upgrd.149 = internal global [42 x i8] c"post: toggles thinking output\0A\00" ; <[42 x i8]*> [#uses=0]
+@str.upgrd.150 = internal global [45 x i8] c"xboard: put Sjeng into xboard mode\0A\00" ; <[45 x i8]*> [#uses=0]
+@str.upgrd.151 = internal global [39 x i8] c"test: run an EPD testsuite\0A\00" ; <[39 x i8]*> [#uses=0]
+@str88 = internal global [52 x i8] c"speed: test movegen and evaluation speed\0A\00" ; <[52 x i8]*> [#uses=0]
+@str89 = internal global [59 x i8] c"proof: try to prove or disprove the current pos\0A\00" ; <[59 x i8]*> [#uses=0]
+@str90 = internal global [44 x i8] c"sd <x>: limit thinking to depth x\0A\00" ; <[44 x i8]*> [#uses=0]
+@str66.upgrd.152 = internal global [51 x i8] c"st <x>: limit thinking to x centiseconds\0A\00" ; <[51 x i8]*> [#uses=0]
+@str67 = internal global [54 x i8] c"setboard <FEN>: set board to a specified FEN string\0A\00" ; <[54 x i8]*> [#uses=0]
+@str68.upgrd.153 = internal global [38 x i8] c"undo: back up a half move\0A\00" ; <[38 x i8]*> [#uses=0]
+@str69.upgrd.154 = internal global [38 x i8] c"remove: back up a full move\0A\00" ; <[38 x i8]*> [#uses=0]
+@str70 = internal global [42 x i8] c"force: disable computer moving\0A\00" ; <[42 x i8]*> [#uses=0]
+@str71 = internal global [44 x i8] c"auto: computer plays both sides\0A\00" ; <[44 x i8]*> [#uses=0]
+@DP_TTable = internal global %struct.TType* null ; <%struct.TType**> [#uses=1]
+@AS_TTable = internal global %struct.TType* null ; <%struct.TType**> [#uses=1]
+@QS_TTable = internal global %struct.QTType* null ; <%struct.QTType**> [#uses=1]
+@str93 = internal global [38 x i8] c"Out of memory allocating hashtables.\0A\00" ; <[38 x i8]*> [#uses=0]
+@type_to_char.3058 = internal global [14 x i32] [ i32 70, i32 80, i32 80, i32 78, i32 78, i32 75, i32 75, i32 82, i32 82, i32 81, i32 81, i32 66, i32 66, i32 69 ] ; <[14 x i32]*> [#uses=0]
+@str94 = internal global [8 x i8] c"%c@%c%d\00" ; <[8 x i8]*> [#uses=0]
+@str95 = internal global [5 x i8] c"%c%d\00" ; <[5 x i8]*> [#uses=0]
+@str1.upgrd.155 = internal global [8 x i8] c"%c%d=%c\00" ; <[8 x i8]*> [#uses=0]
+@str2.upgrd.156 = internal global [8 x i8] c"%cx%c%d\00" ; <[8 x i8]*> [#uses=0]
+@str96 = internal global [11 x i8] c"%cx%c%d=%c\00" ; <[11 x i8]*> [#uses=0]
+@str97 = internal global [4 x i8] c"O-O\00" ; <[4 x i8]*> [#uses=0]
+@str98 = internal global [6 x i8] c"O-O-O\00" ; <[6 x i8]*> [#uses=0]
+@str99 = internal global [9 x i8] c"%c%c%c%d\00" ; <[9 x i8]*> [#uses=0]
+@str3100 = internal global [9 x i8] c"%c%d%c%d\00" ; <[9 x i8]*> [#uses=0]
+@str101 = internal global [10 x i8] c"%c%cx%c%d\00" ; <[10 x i8]*> [#uses=0]
+@str4.upgrd.157 = internal global [10 x i8] c"%c%dx%c%d\00" ; <[10 x i8]*> [#uses=0]
+@str102 = internal global [7 x i8] c"%c%c%d\00" ; <[7 x i8]*> [#uses=0]
+@str5103 = internal global [5 x i8] c"illg\00" ; <[5 x i8]*> [#uses=0]
+@type_to_char.3190 = internal global [14 x i32] [ i32 70, i32 80, i32 112, i32 78, i32 110, i32 75, i32 107, i32 82, i32 114, i32 81, i32 113, i32 66, i32 98, i32 69 ] ; <[14 x i32]*> [#uses=0]
+@str7.upgrd.158 = internal global [10 x i8] c"%c%d%c%dn\00" ; <[10 x i8]*> [#uses=0]
+@str8.upgrd.159 = internal global [10 x i8] c"%c%d%c%dr\00" ; <[10 x i8]*> [#uses=0]
+@str9.upgrd.160 = internal global [10 x i8] c"%c%d%c%db\00" ; <[10 x i8]*> [#uses=0]
+@str10.upgrd.161 = internal global [10 x i8] c"%c%d%c%dk\00" ; <[10 x i8]*> [#uses=0]
+@str11.upgrd.162 = internal global [10 x i8] c"%c%d%c%dq\00" ; <[10 x i8]*> [#uses=0]
+@C.88.3251 = internal global [14 x i8*] [ i8* getelementptr ([3 x i8]* @str105, i32 0, i32 0), i8* getelementptr ([3 x i8]* @str12106, i32 0, i32 0), i8* getelementptr ([3 x i8]* @str13107, i32 0, i32 0), i8* getelementptr ([3 x i8]* @str141, i32 0, i32 0), i8* getelementptr ([3 x i8]* @str152, i32 0, i32 0), i8* getelementptr ([3 x i8]* @str163, i32 0, i32 0), i8* getelementptr ([3 x i8]* @str174, i32 0, i32 0), i8* getelementptr ([3 x i8]* @str185, i32 0, i32 0), i8* getelementptr ([3 x i8]* @str19108, i32 0, i32 0), i8* getelementptr ([3 x i8]* @str206, i32 0, i32 0), i8* getelementptr ([3 x i8]* @str21109, i32 0, i32 0), i8* getelementptr ([3 x i8]* @str227, i32 0, i32 0), i8* getelementptr ([3 x i8]* @str238, i32 0, i32 0), i8* getelementptr ([3 x i8]* @str249, i32 0, i32 0) ] ; <[14 x i8*]*> [#uses=0]
+@str105 = internal global [3 x i8] c"!!\00" ; <[3 x i8]*> [#uses=1]
+@str12106 = internal global [3 x i8] c" P\00" ; <[3 x i8]*> [#uses=1]
+@str13107 = internal global [3 x i8] c"*P\00" ; <[3 x i8]*> [#uses=1]
+@str141 = internal global [3 x i8] c" N\00" ; <[3 x i8]*> [#uses=1]
+@str152 = internal global [3 x i8] c"*N\00" ; <[3 x i8]*> [#uses=1]
+@str163 = internal global [3 x i8] c" K\00" ; <[3 x i8]*> [#uses=1]
+@str174 = internal global [3 x i8] c"*K\00" ; <[3 x i8]*> [#uses=1]
+@str185 = internal global [3 x i8] c" R\00" ; <[3 x i8]*> [#uses=1]
+@str19108 = internal global [3 x i8] c"*R\00" ; <[3 x i8]*> [#uses=1]
+@str206 = internal global [3 x i8] c" Q\00" ; <[3 x i8]*> [#uses=1]
+@str21109 = internal global [3 x i8] c"*Q\00" ; <[3 x i8]*> [#uses=1]
+@str227 = internal global [3 x i8] c" B\00" ; <[3 x i8]*> [#uses=1]
+@str238 = internal global [3 x i8] c"*B\00" ; <[3 x i8]*> [#uses=1]
+@str249 = internal global [3 x i8] c" \00" ; <[3 x i8]*> [#uses=1]
+@str110 = internal global [42 x i8] c"+----+----+----+----+----+----+----+----+\00" ; <[42 x i8]*> [#uses=0]
+@str25.upgrd.163 = internal global [6 x i8] c" %s\0A\00" ; <[6 x i8]*> [#uses=0]
+@str26.upgrd.164 = internal global [5 x i8] c"%d |\00" ; <[5 x i8]*> [#uses=0]
+@str27.upgrd.165 = internal global [6 x i8] c" %s |\00" ; <[6 x i8]*> [#uses=0]
+@str28.upgrd.166 = internal global [7 x i8] c"\0A %s\0A\00" ; <[7 x i8]*> [#uses=0]
+@str111 = internal global [45 x i8] c"\0A a b c d e f g h\0A\0A\00" ; <[45 x i8]*> [#uses=0]
+@str29.upgrd.167 = internal global [45 x i8] c"\0A h g f e d c b a\0A\0A\00" ; <[45 x i8]*> [#uses=0]
+@str33.upgrd.168 = internal global [2 x i8] c"<\00" ; <[2 x i8]*> [#uses=0]
+@str34.upgrd.169 = internal global [3 x i8] c"> \00" ; <[3 x i8]*> [#uses=0]
+@str114.upgrd.170 = internal global [18 x i8] c"%2i %7i %5i %8i \00" ; <[18 x i8]*> [#uses=0]
+@str115 = internal global [20 x i8] c"%2i %c%1i.%02i %9i \00" ; <[20 x i8]*> [#uses=0]
+@str39.upgrd.171 = internal global [5 x i8] c"%s !\00" ; <[5 x i8]*> [#uses=0]
+@str40.upgrd.172 = internal global [6 x i8] c"%s !!\00" ; <[6 x i8]*> [#uses=0]
+@str41.upgrd.173 = internal global [6 x i8] c"%s ??\00" ; <[6 x i8]*> [#uses=0]
+@str124 = internal global [71 x i8] c"\0ASjeng version SPEC 1.0, Copyright (C) 2000-2005 Gian-Carlo Pascutto\0A\0A\00" ; <[71 x i8]*> [#uses=0]
+@state = internal global [625 x i32] zeroinitializer ; <[625 x i32]*> [#uses=0]
+
+declare fastcc i32 @calc_attackers(i32, i32)
+
+declare fastcc i32 @is_attacked(i32, i32)
+
+declare fastcc void @ProcessHoldings(i8*)
+
+declare void @llvm.memset.i32(i8*, i8, i32, i32)
+
+declare i8* @strncpy(i8*, i8*, i32)
+
+declare void @llvm.memcpy.i32(i8*, i8*, i32, i32)
+
+declare void @__eprintf(i8*, i8*, i32, i8*)
+
+declare fastcc void @addHolding(i32, i32)
+
+declare fastcc void @removeHolding(i32, i32)
+
+declare fastcc void @DropremoveHolding(i32, i32)
+
+declare i32 @printf(i8*, ...)
+
+declare fastcc i32 @is_draw()
+
+declare void @exit(i32)
+
+declare fastcc void @setup_epd_line(i8*)
+
+declare i32 @atoi(i8*)
+
+declare fastcc void @reset_piece_square()
+
+declare fastcc void @initialize_hash()
+
+declare i32 @__maskrune(i32, i32)
+
+declare fastcc void @comp_to_san(i64, i64, i64, i8*)
+
+declare i8* @strstr(i8*, i8*)
+
+declare i32 @atol(i8*)
+
+declare %struct.FILE* @fopen(i8*, i8*)
+
+declare fastcc void @display_board(i32)
+
+define internal void @think(%struct.move_s* sret %agg.result) {
entry:
- %output.i = alloca [8 x sbyte], align 8 ; <[8 x sbyte]*> [#uses=0]
+ %output.i = alloca [8 x i8], align 8 ; <[8 x i8]*> [#uses=0]
%comp_move = alloca %struct.move_s, align 16 ; <%struct.move_s*> [#uses=7]
%temp_move = alloca %struct.move_s, align 16 ; <%struct.move_s*> [#uses=6]
%moves = alloca [512 x %struct.move_s], align 16 ; <[512 x %struct.move_s]*> [#uses=7]
- %output = alloca [8 x sbyte], align 8 ; <[8 x sbyte]*> [#uses=1]
- store bool false, bool* %userealholdings.b
- %tmp = getelementptr [512 x %struct.move_s]* %moves, int 0, int 0 ; <%struct.move_s*> [#uses=3]
- %tmp362 = getelementptr %struct.move_s* %comp_move, int 0, uint 0 ; <int*> [#uses=0]
- %tmp365 = getelementptr %struct.move_s* %comp_move, int 0, uint 1 ; <int*> [#uses=0]
- %tmp368 = getelementptr %struct.move_s* %comp_move, int 0, uint 2 ; <int*> [#uses=0]
- %tmp371 = getelementptr %struct.move_s* %comp_move, int 0, uint 3 ; <int*> [#uses=0]
- %tmp374 = getelementptr %struct.move_s* %comp_move, int 0, uint 4 ; <int*> [#uses=0]
- %tmp377 = getelementptr %struct.move_s* %comp_move, int 0, uint 5 ; <int*> [#uses=0]
- %tmp = cast %struct.move_s* %comp_move to { long, long, long }* ; <{ long, long, long }*> [#uses=3]
- %tmp = getelementptr { long, long, long }* %tmp, int 0, uint 0 ; <long*> [#uses=0]
- %tmp829 = getelementptr { long, long, long }* %tmp, int 0, uint 1 ; <long*> [#uses=0]
- %tmp832 = getelementptr { long, long, long }* %tmp, int 0, uint 2 ; <long*> [#uses=0]
- %output = getelementptr [8 x sbyte]* %output, int 0, int 0 ; <sbyte*> [#uses=0]
- %tmp573 = getelementptr %struct.move_s* %temp_move, int 0, uint 0 ; <int*> [#uses=0]
- %tmp576 = getelementptr %struct.move_s* %temp_move, int 0, uint 1 ; <int*> [#uses=0]
- %tmp579 = getelementptr %struct.move_s* %temp_move, int 0, uint 2 ; <int*> [#uses=0]
- %tmp582 = getelementptr %struct.move_s* %temp_move, int 0, uint 3 ; <int*> [#uses=0]
- %tmp585 = getelementptr %struct.move_s* %temp_move, int 0, uint 4 ; <int*> [#uses=0]
- %tmp588 = getelementptr %struct.move_s* %temp_move, int 0, uint 5 ; <int*> [#uses=0]
- %pn_restart.0.ph = cast uint 0 to int ; <int> [#uses=2]
- %tmp21362 = seteq uint 0, 0 ; <bool> [#uses=2]
- %tmp216 = cast int %pn_restart.0.ph to float ; <float> [#uses=1]
- %tmp216 = cast float %tmp216 to double ; <double> [#uses=1]
- %tmp217 = add double %tmp216, 1.000000e+00 ; <double> [#uses=1]
- %tmp835 = setgt int %pn_restart.0.ph, 9 ; <bool> [#uses=0]
- store int 0, int* %nodes
- store int 0, int* %qnodes
- store int 1, int* %ply
- store uint 0, uint* %ECacheProbes
- store uint 0, uint* %ECacheHits
- store uint 0, uint* %TTProbes
- store uint 0, uint* %TTHits
- store uint 0, uint* %TTStores
- store uint 0, uint* %NCuts
- store uint 0, uint* %NTries
- store uint 0, uint* %TExt
- store uint 0, uint* %FH
- store uint 0, uint* %FHF
- store uint 0, uint* %PVS
- store uint 0, uint* %FULL
- store uint 0, uint* %PVSF
- store uint 0, uint* %ext_check
- store uint 0, uint* %ext_onerep
- store uint 0, uint* %razor_drop
- store uint 0, uint* %razor_material
- store bool false, bool* %extendedtime.b
- store bool false, bool* %forcedwin.b
- store int 200, int* %maxposdiff
- store sbyte 0, sbyte* %true_i_depth
- store int 0, int* %legals
- %tmp48 = load int* %Variant ; <int> [#uses=1]
- %tmp49 = seteq int %tmp48, 4 ; <bool> [#uses=1]
- %storemerge = cast bool %tmp49 to uint ; <uint> [#uses=1]
- store uint %storemerge, uint* %captures
- call fastcc void %gen( %struct.move_s* %tmp )
- %tmp53 = load int* %numb_moves ; <int> [#uses=1]
- %tmp.i = load int* %Variant ; <int> [#uses=1]
- %tmp.i = seteq int %tmp.i, 3 ; <bool> [#uses=1]
- br bool %tmp.i, label %in_check.exit, label %cond_next.i
+ %output = alloca [8 x i8], align 8 ; <[8 x i8]*> [#uses=1]
+ store i1 false, i1* @userealholdings.b
+ %tmp = getelementptr [512 x %struct.move_s]* %moves, i32 0, i32 0 ; <%struct.move_s*> [#uses=3]
+ %tmp362 = getelementptr %struct.move_s* %comp_move, i32 0, i32 0 ; <i32*> [#uses=0]
+ %tmp365 = getelementptr %struct.move_s* %comp_move, i32 0, i32 1 ; <i32*> [#uses=0]
+ %tmp368 = getelementptr %struct.move_s* %comp_move, i32 0, i32 2 ; <i32*> [#uses=0]
+ %tmp371 = getelementptr %struct.move_s* %comp_move, i32 0, i32 3 ; <i32*> [#uses=0]
+ %tmp374 = getelementptr %struct.move_s* %comp_move, i32 0, i32 4 ; <i32*> [#uses=0]
+ %tmp377 = getelementptr %struct.move_s* %comp_move, i32 0, i32 5 ; <i32*> [#uses=0]
+ %tmp.upgrd.174 = bitcast %struct.move_s* %comp_move to { i64, i64, i64 }* ; <{ i64, i64, i64 }*> [#uses=3]
+ %tmp.upgrd.175 = getelementptr { i64, i64, i64 }* %tmp.upgrd.174, i32 0, i32 0 ; <i64*> [#uses=0]
+ %tmp829 = getelementptr { i64, i64, i64 }* %tmp.upgrd.174, i32 0, i32 1 ; <i64*> [#uses=0]
+ %tmp832 = getelementptr { i64, i64, i64 }* %tmp.upgrd.174, i32 0, i32 2 ; <i64*> [#uses=0]
+ %output.upgrd.176 = getelementptr [8 x i8]* %output, i32 0, i32 0 ; <i8*> [#uses=0]
+ %tmp573 = getelementptr %struct.move_s* %temp_move, i32 0, i32 0 ; <i32*> [#uses=0]
+ %tmp576 = getelementptr %struct.move_s* %temp_move, i32 0, i32 1 ; <i32*> [#uses=0]
+ %tmp579 = getelementptr %struct.move_s* %temp_move, i32 0, i32 2 ; <i32*> [#uses=0]
+ %tmp582 = getelementptr %struct.move_s* %temp_move, i32 0, i32 3 ; <i32*> [#uses=0]
+ %tmp585 = getelementptr %struct.move_s* %temp_move, i32 0, i32 4 ; <i32*> [#uses=0]
+ %tmp588 = getelementptr %struct.move_s* %temp_move, i32 0, i32 5 ; <i32*> [#uses=0]
+ %pn_restart.0.ph = bitcast i32 0 to i32 ; <i32> [#uses=2]
+ %tmp21362 = icmp eq i32 0, 0 ; <i1> [#uses=2]
+ %tmp216 = sitofp i32 %pn_restart.0.ph to float ; <float> [#uses=1]
+ %tmp216.upgrd.177 = fpext float %tmp216 to double ; <double> [#uses=1]
+ %tmp217 = add double %tmp216.upgrd.177, 1.000000e+00 ; <double> [#uses=1]
+ %tmp835 = icmp sgt i32 %pn_restart.0.ph, 9 ; <i1> [#uses=0]
+ store i32 0, i32* @nodes
+ store i32 0, i32* @qnodes
+ store i32 1, i32* @ply
+ store i32 0, i32* @ECacheProbes
+ store i32 0, i32* @ECacheHits
+ store i32 0, i32* @TTProbes
+ store i32 0, i32* @TTHits
+ store i32 0, i32* @TTStores
+ store i32 0, i32* @NCuts
+ store i32 0, i32* @NTries
+ store i32 0, i32* @TExt
+ store i32 0, i32* @FH
+ store i32 0, i32* @FHF
+ store i32 0, i32* @PVS
+ store i32 0, i32* @FULL
+ store i32 0, i32* @PVSF
+ store i32 0, i32* @ext_check
+ store i32 0, i32* @ext_onerep
+ store i32 0, i32* @razor_drop
+ store i32 0, i32* @razor_material
+ store i1 false, i1* @extendedtime.b
+ store i1 false, i1* @forcedwin.b
+ store i32 200, i32* @maxposdiff
+ store i8 0, i8* @true_i_depth
+ store i32 0, i32* @legals
+ %tmp48 = load i32* @Variant ; <i32> [#uses=1]
+ %tmp49 = icmp eq i32 %tmp48, 4 ; <i1> [#uses=1]
+ %storemerge = zext i1 %tmp49 to i32 ; <i32> [#uses=1]
+ store i32 %storemerge, i32* @captures
+ call fastcc void @gen( %struct.move_s* %tmp )
+ %tmp53 = load i32* @numb_moves ; <i32> [#uses=1]
+ %tmp.i = load i32* @Variant ; <i32> [#uses=1]
+ %tmp.i.upgrd.178 = icmp eq i32 %tmp.i, 3 ; <i1> [#uses=1]
+ br i1 %tmp.i.upgrd.178, label %in_check.exit, label %cond_next.i
cond_next.i: ; preds = %entry
- %tmp2.i5 = load int* %white_to_move ; <int> [#uses=1]
- %tmp3.i = seteq int %tmp2.i5, 1 ; <bool> [#uses=0]
+ %tmp2.i5 = load i32* @white_to_move ; <i32> [#uses=1]
+ %tmp3.i = icmp eq i32 %tmp2.i5, 1 ; <i1> [#uses=0]
ret void
in_check.exit: ; preds = %entry
- %tmp7637 = setgt int %tmp53, 0 ; <bool> [#uses=1]
- br bool %tmp7637, label %cond_true77, label %bb80
+ %tmp7637 = icmp sgt i32 %tmp53, 0 ; <i1> [#uses=1]
+ br i1 %tmp7637, label %cond_true77, label %bb80
cond_true77: ; preds = %in_check.exit
- %l.1.0 = cast uint 0 to int ; <int> [#uses=2]
- call fastcc void %make( %struct.move_s* %tmp, int %l.1.0 )
- %tmp61 = call fastcc uint %check_legal( %struct.move_s* %tmp, int %l.1.0, int 0 ) ; <uint> [#uses=1]
- %tmp62 = seteq uint %tmp61, 0 ; <bool> [#uses=0]
+ %l.1.0 = bitcast i32 0 to i32 ; <i32> [#uses=2]
+ call fastcc void @make( %struct.move_s* %tmp, i32 %l.1.0 )
+ %tmp61 = call fastcc i32 @check_legal( %struct.move_s* %tmp, i32 %l.1.0, i32 0 ) ; <i32> [#uses=1]
+ %tmp62 = icmp eq i32 %tmp61, 0 ; <i1> [#uses=0]
ret void
bb80: ; preds = %in_check.exit
- %tmp81 = load int* %Variant ; <int> [#uses=1]
- %tmp82 = seteq int %tmp81, 4 ; <bool> [#uses=1]
- br bool %tmp82, label %cond_true83, label %cond_next118
+ %tmp81 = load i32* @Variant ; <i32> [#uses=1]
+ %tmp82 = icmp eq i32 %tmp81, 4 ; <i1> [#uses=1]
+ br i1 %tmp82, label %cond_true83, label %cond_next118
cond_true83: ; preds = %bb80
- %tmp84 = load int* %legals ; <int> [#uses=1]
- %tmp85 = seteq int %tmp84, 0 ; <bool> [#uses=0]
+ %tmp84 = load i32* @legals ; <i32> [#uses=1]
+ %tmp85 = icmp eq i32 %tmp84, 0 ; <i1> [#uses=0]
ret void
cond_next118: ; preds = %bb80
- %tmp119 = load int* %Variant ; <int> [#uses=1]
- %tmp120 = seteq int %tmp119, 1 ; <bool> [#uses=1]
- br bool %tmp120, label %cond_next176, label %cond_true121
+ %tmp119 = load i32* @Variant ; <i32> [#uses=1]
+ %tmp120 = icmp eq i32 %tmp119, 1 ; <i1> [#uses=1]
+ br i1 %tmp120, label %cond_next176, label %cond_true121
cond_true121: ; preds = %cond_next118
- %tmp122.b = load bool* %is_pondering.b ; <bool> [#uses=1]
- br bool %tmp122.b, label %cond_next176, label %cond_true124
+ %tmp122.b = load i1* @is_pondering.b ; <i1> [#uses=1]
+ br i1 %tmp122.b, label %cond_next176, label %cond_true124
cond_true124: ; preds = %cond_true121
- %tmp125 = load int* %legals ; <int> [#uses=1]
- %tmp126 = seteq int %tmp125, 1 ; <bool> [#uses=1]
- br bool %tmp126, label %cond_true127, label %cond_next176
+ %tmp125 = load i32* @legals ; <i32> [#uses=1]
+ %tmp126 = icmp eq i32 %tmp125, 1 ; <i1> [#uses=1]
+ br i1 %tmp126, label %cond_true127, label %cond_next176
cond_true127: ; preds = %cond_true124
- %tmp128 = load int* %inc ; <int> [#uses=1]
- %tmp129 = mul int %tmp128, 100 ; <int> [#uses=1]
- %tmp130 = load int* %time_cushion ; <int> [#uses=1]
- %tmp131 = add int %tmp129, %tmp130 ; <int> [#uses=1]
- store int %tmp131, int* %time_cushion
- %tmp134 = getelementptr %struct.move_s* %agg.result, int 0, uint 0 ; <int*> [#uses=1]
- %tmp135 = getelementptr [512 x %struct.move_s]* %moves, int 0, int 0, uint 0 ; <int*> [#uses=1]
- %tmp136 = load int* %tmp135 ; <int> [#uses=1]
- store int %tmp136, int* %tmp134
- %tmp137 = getelementptr %struct.move_s* %agg.result, int 0, uint 1 ; <int*> [#uses=1]
- %tmp138 = getelementptr [512 x %struct.move_s]* %moves, int 0, int 0, uint 1 ; <int*> [#uses=1]
- %tmp139 = load int* %tmp138 ; <int> [#uses=1]
- store int %tmp139, int* %tmp137
- %tmp140 = getelementptr %struct.move_s* %agg.result, int 0, uint 2 ; <int*> [#uses=1]
- %tmp141 = getelementptr [512 x %struct.move_s]* %moves, int 0, int 0, uint 2 ; <int*> [#uses=1]
- %tmp142 = load int* %tmp141 ; <int> [#uses=1]
- store int %tmp142, int* %tmp140
- %tmp143 = getelementptr %struct.move_s* %agg.result, int 0, uint 3 ; <int*> [#uses=1]
- %tmp144 = getelementptr [512 x %struct.move_s]* %moves, int 0, int 0, uint 3 ; <int*> [#uses=1]
- %tmp145 = load int* %tmp144 ; <int> [#uses=1]
- store int %tmp145, int* %tmp143
- %tmp146 = getelementptr %struct.move_s* %agg.result, int 0, uint 4 ; <int*> [#uses=1]
- %tmp147 = getelementptr [512 x %struct.move_s]* %moves, int 0, int 0, uint 4 ; <int*> [#uses=1]
- %tmp148 = load int* %tmp147 ; <int> [#uses=1]
- store int %tmp148, int* %tmp146
- %tmp149 = getelementptr %struct.move_s* %agg.result, int 0, uint 5 ; <int*> [#uses=1]
- %tmp150 = getelementptr [512 x %struct.move_s]* %moves, int 0, int 0, uint 5 ; <int*> [#uses=1]
- %tmp151 = load int* %tmp150 ; <int> [#uses=1]
- store int %tmp151, int* %tmp149
+ %tmp128 = load i32* @inc ; <i32> [#uses=1]
+ %tmp129 = mul i32 %tmp128, 100 ; <i32> [#uses=1]
+ %tmp130 = load i32* @time_cushion ; <i32> [#uses=1]
+ %tmp131 = add i32 %tmp129, %tmp130 ; <i32> [#uses=1]
+ store i32 %tmp131, i32* @time_cushion
+ %tmp134 = getelementptr %struct.move_s* %agg.result, i32 0, i32 0 ; <i32*> [#uses=1]
+ %tmp135 = getelementptr [512 x %struct.move_s]* %moves, i32 0, i32 0, i32 0 ; <i32*> [#uses=1]
+ %tmp136 = load i32* %tmp135 ; <i32> [#uses=1]
+ store i32 %tmp136, i32* %tmp134
+ %tmp137 = getelementptr %struct.move_s* %agg.result, i32 0, i32 1 ; <i32*> [#uses=1]
+ %tmp138 = getelementptr [512 x %struct.move_s]* %moves, i32 0, i32 0, i32 1 ; <i32*> [#uses=1]
+ %tmp139 = load i32* %tmp138 ; <i32> [#uses=1]
+ store i32 %tmp139, i32* %tmp137
+ %tmp140 = getelementptr %struct.move_s* %agg.result, i32 0, i32 2 ; <i32*> [#uses=1]
+ %tmp141 = getelementptr [512 x %struct.move_s]* %moves, i32 0, i32 0, i32 2 ; <i32*> [#uses=1]
+ %tmp142 = load i32* %tmp141 ; <i32> [#uses=1]
+ store i32 %tmp142, i32* %tmp140
+ %tmp143 = getelementptr %struct.move_s* %agg.result, i32 0, i32 3 ; <i32*> [#uses=1]
+ %tmp144 = getelementptr [512 x %struct.move_s]* %moves, i32 0, i32 0, i32 3 ; <i32*> [#uses=1]
+ %tmp145 = load i32* %tmp144 ; <i32> [#uses=1]
+ store i32 %tmp145, i32* %tmp143
+ %tmp146 = getelementptr %struct.move_s* %agg.result, i32 0, i32 4 ; <i32*> [#uses=1]
+ %tmp147 = getelementptr [512 x %struct.move_s]* %moves, i32 0, i32 0, i32 4 ; <i32*> [#uses=1]
+ %tmp148 = load i32* %tmp147 ; <i32> [#uses=1]
+ store i32 %tmp148, i32* %tmp146
+ %tmp149 = getelementptr %struct.move_s* %agg.result, i32 0, i32 5 ; <i32*> [#uses=1]
+ %tmp150 = getelementptr [512 x %struct.move_s]* %moves, i32 0, i32 0, i32 5 ; <i32*> [#uses=1]
+ %tmp151 = load i32* %tmp150 ; <i32> [#uses=1]
+ store i32 %tmp151, i32* %tmp149
ret void
cond_next176: ; preds = %cond_true124, %cond_true121, %cond_next118
- call fastcc void %check_phase( )
- %tmp177 = load int* %phase ; <int> [#uses=1]
- switch int %tmp177, label %bb187 [
- int 0, label %bb178
- int 1, label %bb180
- int 2, label %bb183
+ call fastcc void @check_phase( )
+ %tmp177 = load i32* @phase ; <i32> [#uses=1]
+ switch i32 %tmp177, label %bb187 [
+ i32 0, label %bb178
+ i32 1, label %bb180
+ i32 2, label %bb183
]
bb178: ; preds = %cond_next176
- %tmp179 = call int (sbyte*, ...)* %printf( sbyte* getelementptr ([16 x sbyte]* %str40, int 0, uint 0) ) ; <int> [#uses=0]
- %tmp18854.b = load bool* %is_pondering.b ; <bool> [#uses=1]
- br bool %tmp18854.b, label %cond_false210, label %cond_true190
+ %tmp179 = call i32 (i8*, ...)* @printf( i8* getelementptr ([16 x i8]* @str40.upgrd.84, i32 0, i64 0) ) ; <i32> [#uses=0]
+ %tmp18854.b = load i1* @is_pondering.b ; <i1> [#uses=1]
+ br i1 %tmp18854.b, label %cond_false210, label %cond_true190
bb180: ; preds = %cond_next176
- %tmp182 = call int (sbyte*, ...)* %printf( sbyte* getelementptr ([19 x sbyte]* %str, int 0, uint 0) ) ; <int> [#uses=0]
- %tmp18856.b = load bool* %is_pondering.b ; <bool> [#uses=0]
+ %tmp182 = call i32 (i8*, ...)* @printf( i8* getelementptr ([19 x i8]* @str.upgrd.85, i32 0, i64 0) ) ; <i32> [#uses=0]
+ %tmp18856.b = load i1* @is_pondering.b ; <i1> [#uses=0]
ret void
bb183: ; preds = %cond_next176
- %tmp185 = call int (sbyte*, ...)* %printf( sbyte* getelementptr ([16 x sbyte]* %str1, int 0, uint 0) ) ; <int> [#uses=0]
- %tmp18858.b = load bool* %is_pondering.b ; <bool> [#uses=0]
+ %tmp185 = call i32 (i8*, ...)* @printf( i8* getelementptr ([16 x i8]* @str1.upgrd.86, i32 0, i64 0) ) ; <i32> [#uses=0]
+ %tmp18858.b = load i1* @is_pondering.b ; <i1> [#uses=0]
ret void
bb187: ; preds = %cond_next176
- %tmp188.b = load bool* %is_pondering.b ; <bool> [#uses=0]
+ %tmp188.b = load i1* @is_pondering.b ; <i1> [#uses=0]
ret void
cond_true190: ; preds = %bb178
- %tmp191 = load int* %fixed_time ; <int> [#uses=1]
- %tmp192 = seteq int %tmp191, 0 ; <bool> [#uses=0]
+ %tmp191 = load i32* @fixed_time ; <i32> [#uses=1]
+ %tmp192 = icmp eq i32 %tmp191, 0 ; <i1> [#uses=0]
ret void
cond_false210: ; preds = %bb178
- store int 999999, int* %time_for_move
- br bool %tmp21362, label %cond_true226.critedge, label %bb287.critedge
+ store i32 999999, i32* @time_for_move
+ br i1 %tmp21362, label %cond_true226.critedge, label %bb287.critedge
cond_true226.critedge: ; preds = %cond_false210
- %tmp223.c = call int (sbyte*, ...)* %printf( sbyte* getelementptr ([20 x sbyte]* %str43, int 0, uint 0), int 999999 ) ; <int> [#uses=0]
- %tmp.i = load %struct.TType** %DP_TTable ; <%struct.TType*> [#uses=1]
- %tmp.i7.b = load bool* %TTSize.b ; <bool> [#uses=1]
- %tmp1.i = select bool %tmp.i7.b, uint 60000000, uint 0 ; <uint> [#uses=1]
- %tmp.i.sb = getelementptr %struct.TType* %tmp.i, int 0, uint 0 ; <sbyte*> [#uses=1]
- call void %llvm.memset.i32( sbyte* %tmp.i.sb, ubyte 0, uint %tmp1.i, uint 4 )
- %tmp2.i = load %struct.TType** %AS_TTable ; <%struct.TType*> [#uses=1]
- %tmp3.i8.b = load bool* %TTSize.b ; <bool> [#uses=1]
- %tmp4.i = select bool %tmp3.i8.b, uint 60000000, uint 0 ; <uint> [#uses=1]
- %tmp2.i = getelementptr %struct.TType* %tmp2.i, int 0, uint 0 ; <sbyte*> [#uses=1]
- call void %llvm.memset.i32( sbyte* %tmp2.i, ubyte 0, uint %tmp4.i, uint 4 )
- %tmp.i.QTT = load %struct.QTType** %QS_TTable ; <%struct.QTType*> [#uses=1]
- %tmp5.i9.b = load bool* %TTSize.b ; <bool> [#uses=1]
- %tmp6.i10 = select bool %tmp5.i9.b, uint 48000000, uint 0 ; <uint> [#uses=1]
- %tmp7.i = getelementptr %struct.QTType* %tmp.i.QTT, int 0, uint 0 ; <sbyte*> [#uses=1]
- call void %llvm.memset.i32( sbyte* %tmp7.i, ubyte 0, uint %tmp6.i10, uint 4 )
- %tmp.i.ECache = load %struct.ECacheType** %ECache ; <%struct.ECacheType*> [#uses=1]
- %tmp.i14.b = load bool* %ECacheSize.b ; <bool> [#uses=1]
- %tmp1.i16 = select bool %tmp.i14.b, uint 12000000, uint 0 ; <uint> [#uses=1]
- %tmp.i17 = cast %struct.ECacheType* %tmp.i.ECache to sbyte* ; <sbyte*> [#uses=1]
- call void %llvm.memset.i32( sbyte* %tmp.i17, ubyte 0, uint %tmp1.i16, uint 4 )
- call void %llvm.memset.i32( sbyte* cast ([300 x int]* %rootlosers to sbyte*), ubyte 0, uint 1200, uint 4 )
- %tmp234.b = load bool* %is_pondering.b ; <bool> [#uses=1]
- br bool %tmp234.b, label %bb263, label %cond_next238
+ %tmp223.c = call i32 (i8*, ...)* @printf( i8* getelementptr ([20 x i8]* @str43, i32 0, i64 0), i32 999999 ) ; <i32> [#uses=0]
+ %tmp.i.upgrd.179 = load %struct.TType** @DP_TTable ; <%struct.TType*> [#uses=1]
+ %tmp.i7.b = load i1* @TTSize.b ; <i1> [#uses=1]
+ %tmp1.i = select i1 %tmp.i7.b, i32 60000000, i32 0 ; <i32> [#uses=1]
+ %tmp.i.sb = getelementptr %struct.TType* %tmp.i.upgrd.179, i32 0, i32 0 ; <i8*> [#uses=1]
+ call void @llvm.memset.i32( i8* %tmp.i.sb, i8 0, i32 %tmp1.i, i32 4 )
+ %tmp2.i = load %struct.TType** @AS_TTable ; <%struct.TType*> [#uses=1]
+ %tmp3.i8.b = load i1* @TTSize.b ; <i1> [#uses=1]
+ %tmp4.i = select i1 %tmp3.i8.b, i32 60000000, i32 0 ; <i32> [#uses=1]
+ %tmp2.i.upgrd.180 = getelementptr %struct.TType* %tmp2.i, i32 0, i32 0 ; <i8*> [#uses=1]
+ call void @llvm.memset.i32( i8* %tmp2.i.upgrd.180, i8 0, i32 %tmp4.i, i32 4 )
+ %tmp.i.QTT = load %struct.QTType** @QS_TTable ; <%struct.QTType*> [#uses=1]
+ %tmp5.i9.b = load i1* @TTSize.b ; <i1> [#uses=1]
+ %tmp6.i10 = select i1 %tmp5.i9.b, i32 48000000, i32 0 ; <i32> [#uses=1]
+ %tmp7.i = getelementptr %struct.QTType* %tmp.i.QTT, i32 0, i32 0 ; <i8*> [#uses=1]
+ call void @llvm.memset.i32( i8* %tmp7.i, i8 0, i32 %tmp6.i10, i32 4 )
+ %tmp.i.ECache = load %struct.ECacheType** @ECache ; <%struct.ECacheType*> [#uses=1]
+ %tmp.i14.b = load i1* @ECacheSize.b ; <i1> [#uses=1]
+ %tmp1.i16 = select i1 %tmp.i14.b, i32 12000000, i32 0 ; <i32> [#uses=1]
+ %tmp.i17 = bitcast %struct.ECacheType* %tmp.i.ECache to i8* ; <i8*> [#uses=1]
+ call void @llvm.memset.i32( i8* %tmp.i17, i8 0, i32 %tmp1.i16, i32 4 )
+ call void @llvm.memset.i32( i8* bitcast ([300 x i32]* @rootlosers to i8*), i8 0, i32 1200, i32 4 )
+ %tmp234.b = load i1* @is_pondering.b ; <i1> [#uses=1]
+ br i1 %tmp234.b, label %bb263, label %cond_next238
cond_next238: ; preds = %cond_true226.critedge
- %tmp239 = load int* %Variant ; <int> [#uses=2]
- switch int %tmp239, label %bb263 [
- int 3, label %bb249
- int 4, label %bb249
+ %tmp239 = load i32* @Variant ; <i32> [#uses=2]
+ switch i32 %tmp239, label %bb263 [
+ i32 3, label %bb249
+ i32 4, label %bb249
]
bb249: ; preds = %cond_next238, %cond_next238
- %tmp250 = load int* %piece_count ; <int> [#uses=1]
- %tmp251 = setgt int %tmp250, 3 ; <bool> [#uses=1]
- %tmp240.not = setne int %tmp239, 3 ; <bool> [#uses=1]
- %brmerge = or bool %tmp251, %tmp240.not ; <bool> [#uses=1]
- br bool %brmerge, label %bb260, label %bb263
+ %tmp250 = load i32* @piece_count ; <i32> [#uses=1]
+ %tmp251 = icmp sgt i32 %tmp250, 3 ; <i1> [#uses=1]
+ %tmp240.not = icmp ne i32 %tmp239, 3 ; <i1> [#uses=1]
+ %brmerge = or i1 %tmp251, %tmp240.not ; <i1> [#uses=1]
+ br i1 %brmerge, label %bb260, label %bb263
bb260: ; preds = %bb249
- %tmp261 = load int* %time_for_move ; <int> [#uses=1]
- %tmp261 = cast int %tmp261 to float ; <float> [#uses=1]
- %tmp261 = cast float %tmp261 to double ; <double> [#uses=1]
- %tmp262 = div double %tmp261, 3.000000e+00 ; <double> [#uses=1]
- %tmp262 = cast double %tmp262 to int ; <int> [#uses=1]
- store int %tmp262, int* %pn_time
- %tmp1.b.i = load bool* %PBSize.b ; <bool> [#uses=1]
- %tmp1.i1 = select bool %tmp1.b.i, uint 200000, uint 0 ; <uint> [#uses=1]
- %tmp.i2 = call sbyte* %calloc( uint %tmp1.i1, uint 44 ) ; <sbyte*> [#uses=1]
- %tmp.i.ub = cast sbyte* %tmp.i2 to ubyte* ; <ubyte*> [#uses=1]
- store ubyte* %tmp.i.ub, ubyte** %membuff
- %tmp2.i3 = call sbyte* %calloc( uint 1, uint 44 ) ; <sbyte*> [#uses=3]
- %tmp2.i = cast sbyte* %tmp2.i3 to %struct.node_t* ; <%struct.node_t*> [#uses=6]
- %tmp.i.move_s = getelementptr [512 x %struct.move_s]* null, int 0, int 0 ; <%struct.move_s*> [#uses=3]
- call fastcc void %gen( %struct.move_s* %tmp.i.move_s )
- %tmp3.i4 = load int* %numb_moves ; <int> [#uses=4]
- %tmp3.i5 = cast int %tmp3.i4 to uint ; <uint> [#uses=0]
- store bool false, bool* %alllosers.b
- call void %llvm.memset.i32( sbyte* cast ([300 x int]* %rootlosers to sbyte*), ubyte 0, uint 1200, uint 4 )
- %nodesspent.i = cast [512 x int]* null to sbyte* ; <sbyte*> [#uses=1]
- call void %llvm.memset.i32( sbyte* %nodesspent.i, ubyte 0, uint 2048, uint 16 )
- store int 0, int* getelementptr (%struct.move_s* %pn_move, uint 0, uint 0)
- store int 0, int* getelementptr (%struct.move_s* %pn_move, uint 0, uint 1)
- store int 0, int* getelementptr (%struct.move_s* %pn_move, uint 0, uint 2)
- store int 0, int* getelementptr (%struct.move_s* %pn_move, uint 0, uint 3)
- store int 0, int* getelementptr (%struct.move_s* %pn_move, uint 0, uint 4)
- store int 0, int* getelementptr (%struct.move_s* %pn_move, uint 0, uint 5)
- %tmp.i.i = load int* %Variant ; <int> [#uses=1]
- %tmp.i.i = seteq int %tmp.i.i, 3 ; <bool> [#uses=1]
- br bool %tmp.i.i, label %in_check.exit.i, label %cond_next.i.i
+ %tmp261 = load i32* @time_for_move ; <i32> [#uses=1]
+ %tmp261.upgrd.181 = sitofp i32 %tmp261 to float ; <float> [#uses=1]
+ %tmp261.upgrd.182 = fpext float %tmp261.upgrd.181 to double ; <double> [#uses=1]
+ %tmp262 = fdiv double %tmp261.upgrd.182, 3.000000e+00 ; <double> [#uses=1]
+ %tmp262.upgrd.183 = fptosi double %tmp262 to i32 ; <i32> [#uses=1]
+ store i32 %tmp262.upgrd.183, i32* @pn_time
+ %tmp1.b.i = load i1* @PBSize.b ; <i1> [#uses=1]
+ %tmp1.i1 = select i1 %tmp1.b.i, i32 200000, i32 0 ; <i32> [#uses=1]
+ %tmp.i2 = call i8* @calloc( i32 %tmp1.i1, i32 44 ) ; <i8*> [#uses=1]
+ %tmp.i.ub = bitcast i8* %tmp.i2 to i8* ; <i8*> [#uses=1]
+ store i8* %tmp.i.ub, i8** @membuff
+ %tmp2.i3 = call i8* @calloc( i32 1, i32 44 ) ; <i8*> [#uses=3]
+ %tmp2.i.upgrd.184 = bitcast i8* %tmp2.i3 to %struct.node_t* ; <%struct.node_t*> [#uses=6]
+ %tmp.i.move_s = getelementptr [512 x %struct.move_s]* null, i32 0, i32 0 ; <%struct.move_s*> [#uses=3]
+ call fastcc void @gen( %struct.move_s* %tmp.i.move_s )
+ %tmp3.i4 = load i32* @numb_moves ; <i32> [#uses=4]
+ %tmp3.i5 = bitcast i32 %tmp3.i4 to i32 ; <i32> [#uses=0]
+ store i1 false, i1* @alllosers.b
+ call void @llvm.memset.i32( i8* bitcast ([300 x i32]* @rootlosers to i8*), i8 0, i32 1200, i32 4 )
+ %nodesspent.i = bitcast [512 x i32]* null to i8* ; <i8*> [#uses=1]
+ call void @llvm.memset.i32( i8* %nodesspent.i, i8 0, i32 2048, i32 16 )
+ store i32 0, i32* getelementptr (%struct.move_s* @pn_move, i64 0, i32 0)
+ store i32 0, i32* getelementptr (%struct.move_s* @pn_move, i64 0, i32 1)
+ store i32 0, i32* getelementptr (%struct.move_s* @pn_move, i64 0, i32 2)
+ store i32 0, i32* getelementptr (%struct.move_s* @pn_move, i64 0, i32 3)
+ store i32 0, i32* getelementptr (%struct.move_s* @pn_move, i64 0, i32 4)
+ store i32 0, i32* getelementptr (%struct.move_s* @pn_move, i64 0, i32 5)
+ %tmp.i.i = load i32* @Variant ; <i32> [#uses=1]
+ %tmp.i.i.upgrd.185 = icmp eq i32 %tmp.i.i, 3 ; <i1> [#uses=1]
+ br i1 %tmp.i.i.upgrd.185, label %in_check.exit.i, label %cond_next.i.i
cond_next.i.i: ; preds = %bb260
- %tmp2.i.i = load int* %white_to_move ; <int> [#uses=1]
- %tmp3.i.i = seteq int %tmp2.i.i, 1 ; <bool> [#uses=1]
- br bool %tmp3.i.i, label %cond_true4.i.i, label %cond_false12.i.i
+ %tmp2.i.i = load i32* @white_to_move ; <i32> [#uses=1]
+ %tmp3.i.i = icmp eq i32 %tmp2.i.i, 1 ; <i1> [#uses=1]
+ br i1 %tmp3.i.i, label %cond_true4.i.i, label %cond_false12.i.i
cond_true4.i.i: ; preds = %cond_next.i.i
- %tmp5.i.i = load int* %wking_loc ; <int> [#uses=1]
- %tmp6.i.i = call fastcc uint %is_attacked( int %tmp5.i.i, int 0 ) ; <uint> [#uses=1]
- %not.tmp7.i.i = setne uint %tmp6.i.i, 0 ; <bool> [#uses=1]
- %tmp217.i = cast bool %not.tmp7.i.i to int ; <int> [#uses=1]
- %tmp4219.i = setgt int %tmp3.i4, 0 ; <bool> [#uses=1]
- br bool %tmp4219.i, label %cond_true43.i, label %bb46.i
+ %tmp5.i.i = load i32* @wking_loc ; <i32> [#uses=1]
+ %tmp6.i.i = call fastcc i32 @is_attacked( i32 %tmp5.i.i, i32 0 ) ; <i32> [#uses=1]
+ %not.tmp7.i.i = icmp ne i32 %tmp6.i.i, 0 ; <i1> [#uses=1]
+ %tmp217.i = zext i1 %not.tmp7.i.i to i32 ; <i32> [#uses=1]
+ %tmp4219.i = icmp sgt i32 %tmp3.i4, 0 ; <i1> [#uses=1]
+ br i1 %tmp4219.i, label %cond_true43.i, label %bb46.i
cond_false12.i.i: ; preds = %cond_next.i.i
- %tmp13.i.i = load int* %bking_loc ; <int> [#uses=1]
- %tmp14.i.i = call fastcc uint %is_attacked( int %tmp13.i.i, int 1 ) ; <uint> [#uses=1]
- %not.tmp15.i.i = setne uint %tmp14.i.i, 0 ; <bool> [#uses=1]
- %tmp2120.i = cast bool %not.tmp15.i.i to int ; <int> [#uses=1]
- %tmp4222.i = setgt int %tmp3.i4, 0 ; <bool> [#uses=1]
- br bool %tmp4222.i, label %cond_true43.i, label %bb46.i
+ %tmp13.i.i = load i32* @bking_loc ; <i32> [#uses=1]
+ %tmp14.i.i = call fastcc i32 @is_attacked( i32 %tmp13.i.i, i32 1 ) ; <i32> [#uses=1]
+ %not.tmp15.i.i = icmp ne i32 %tmp14.i.i, 0 ; <i1> [#uses=1]
+ %tmp2120.i = zext i1 %not.tmp15.i.i to i32 ; <i32> [#uses=1]
+ %tmp4222.i = icmp sgt i32 %tmp3.i4, 0 ; <i1> [#uses=1]
+ br i1 %tmp4222.i, label %cond_true43.i, label %bb46.i
in_check.exit.i: ; preds = %bb260
- %tmp4224.i = setgt int %tmp3.i4, 0 ; <bool> [#uses=0]
+ %tmp4224.i = icmp sgt i32 %tmp3.i4, 0 ; <i1> [#uses=0]
ret void
cond_true43.i: ; preds = %cond_false12.i.i, %cond_true4.i.i
- %tmp21.0.ph.i = phi int [ %tmp217.i, %cond_true4.i.i ], [ %tmp2120.i, %cond_false12.i.i ] ; <int> [#uses=1]
- %i.0.0.i = cast uint 0 to int ; <int> [#uses=2]
- call fastcc void %make( %struct.move_s* %tmp.i.move_s, int %i.0.0.i )
- %tmp27.i = call fastcc uint %check_legal( %struct.move_s* %tmp.i.move_s, int %i.0.0.i, int %tmp21.0.ph.i ) ; <uint> [#uses=1]
- %tmp.i6 = seteq uint %tmp27.i, 0 ; <bool> [#uses=0]
+ %tmp21.0.ph.i = phi i32 [ %tmp217.i, %cond_true4.i.i ], [ %tmp2120.i, %cond_false12.i.i ] ; <i32> [#uses=1]
+ %i.0.0.i = bitcast i32 0 to i32 ; <i32> [#uses=2]
+ call fastcc void @make( %struct.move_s* %tmp.i.move_s, i32 %i.0.0.i )
+ %tmp27.i = call fastcc i32 @check_legal( %struct.move_s* %tmp.i.move_s, i32 %i.0.0.i, i32 %tmp21.0.ph.i ) ; <i32> [#uses=1]
+ %tmp.i6 = icmp eq i32 %tmp27.i, 0 ; <i1> [#uses=0]
ret void
bb46.i: ; preds = %cond_false12.i.i, %cond_true4.i.i
- %tmp48.i = seteq int 0, 0 ; <bool> [#uses=1]
- br bool %tmp48.i, label %cond_true49.i, label %cond_next53.i
+ %tmp48.i = icmp eq i32 0, 0 ; <i1> [#uses=1]
+ br i1 %tmp48.i, label %cond_true49.i, label %cond_next53.i
cond_true49.i: ; preds = %bb46.i
- store int 0, int* %bufftop
- %tmp50.i = load ubyte** %membuff ; <ubyte*> [#uses=1]
- free ubyte* %tmp50.i
- free sbyte* %tmp2.i3
+ store i32 0, i32* @bufftop
+ %tmp50.i = load i8** @membuff ; <i8*> [#uses=1]
+ free i8* %tmp50.i
+ free i8* %tmp2.i3
ret void
cond_next53.i: ; preds = %bb46.i
- store int 1, int* %nodecount
- store int 0, int* %iters
- store int 0, int* %maxply
- store int 0, int* %forwards
- %tmp54.i = load int* %move_number ; <int> [#uses=1]
- %tmp55.i = load int* %ply ; <int> [#uses=1]
- %tmp56.i = add int %tmp54.i, -1 ; <int> [#uses=1]
- %tmp57.i = add int %tmp56.i, %tmp55.i ; <int> [#uses=1]
- %tmp58.i = load uint* %hash ; <uint> [#uses=1]
- %tmp.i = getelementptr [600 x uint]* %hash_history, int 0, int %tmp57.i ; <uint*> [#uses=1]
- store uint %tmp58.i, uint* %tmp.i
- %tmp59.i = load int* %white_to_move ; <int> [#uses=1]
- %tmp60.i = seteq int %tmp59.i, 0 ; <bool> [#uses=1]
- %tmp60.i = cast bool %tmp60.i to int ; <int> [#uses=1]
- store int %tmp60.i, int* %root_to_move
- %tmp.i4.i = load int* %Variant ; <int> [#uses=2]
- %tmp.i5.i = seteq int %tmp.i4.i, 3 ; <bool> [#uses=1]
- br bool %tmp.i5.i, label %cond_true.i.i, label %cond_false.i.i
+ store i32 1, i32* @nodecount
+ store i32 0, i32* @iters
+ store i32 0, i32* @maxply
+ store i32 0, i32* @forwards
+ %tmp54.i = load i32* @move_number ; <i32> [#uses=1]
+ %tmp55.i = load i32* @ply ; <i32> [#uses=1]
+ %tmp56.i = add i32 %tmp54.i, -1 ; <i32> [#uses=1]
+ %tmp57.i = add i32 %tmp56.i, %tmp55.i ; <i32> [#uses=1]
+ %tmp58.i = load i32* @hash ; <i32> [#uses=1]
+ %tmp.i.upgrd.186 = getelementptr [600 x i32]* @hash_history, i32 0, i32 %tmp57.i ; <i32*> [#uses=1]
+ store i32 %tmp58.i, i32* %tmp.i.upgrd.186
+ %tmp59.i = load i32* @white_to_move ; <i32> [#uses=1]
+ %tmp60.i = icmp eq i32 %tmp59.i, 0 ; <i1> [#uses=1]
+ %tmp60.i.upgrd.187 = zext i1 %tmp60.i to i32 ; <i32> [#uses=1]
+ store i32 %tmp60.i.upgrd.187, i32* @root_to_move
+ %tmp.i4.i = load i32* @Variant ; <i32> [#uses=2]
+ %tmp.i5.i = icmp eq i32 %tmp.i4.i, 3 ; <i1> [#uses=1]
+ br i1 %tmp.i5.i, label %cond_true.i.i, label %cond_false.i.i
cond_true.i.i: ; preds = %cond_next53.i
- call fastcc void %suicide_pn_eval( %struct.node_t* %tmp2.i )
- %tmp6328.i = getelementptr %struct.node_t* %tmp2.i, int 0, uint 0 ; <ubyte*> [#uses=1]
- %tmp29.i = load ubyte* %tmp6328.i ; <ubyte> [#uses=1]
- %tmp6430.i = seteq ubyte %tmp29.i, 1 ; <bool> [#uses=0]
+ call fastcc void @suicide_pn_eval( %struct.node_t* %tmp2.i.upgrd.184 )
+ %tmp6328.i = getelementptr %struct.node_t* %tmp2.i.upgrd.184, i32 0, i32 0 ; <i8*> [#uses=1]
+ %tmp29.i = load i8* %tmp6328.i ; <i8> [#uses=1]
+ %tmp6430.i = icmp eq i8 %tmp29.i, 1 ; <i1> [#uses=0]
ret void
cond_false.i.i: ; preds = %cond_next53.i
- %tmp2.i.i = seteq int %tmp.i4.i, 4 ; <bool> [#uses=1]
- %tmp63.i = getelementptr %struct.node_t* %tmp2.i, int 0, uint 0 ; <ubyte*> [#uses=2]
- br bool %tmp2.i.i, label %cond_true3.i.i, label %cond_false5.i.i
+ %tmp2.i.i.upgrd.188 = icmp eq i32 %tmp.i4.i, 4 ; <i1> [#uses=1]
+ %tmp63.i = getelementptr %struct.node_t* %tmp2.i.upgrd.184, i32 0, i32 0 ; <i8*> [#uses=2]
+ br i1 %tmp2.i.i.upgrd.188, label %cond_true3.i.i, label %cond_false5.i.i
cond_true3.i.i: ; preds = %cond_false.i.i
- call fastcc void %losers_pn_eval( %struct.node_t* %tmp2.i )
- %tmp31.i = load ubyte* %tmp63.i ; <ubyte> [#uses=1]
- %tmp6432.i = seteq ubyte %tmp31.i, 1 ; <bool> [#uses=1]
- br bool %tmp6432.i, label %bb75.i, label %cond_next67.i
+ call fastcc void @losers_pn_eval( %struct.node_t* %tmp2.i.upgrd.184 )
+ %tmp31.i = load i8* %tmp63.i ; <i8> [#uses=1]
+ %tmp6432.i = icmp eq i8 %tmp31.i, 1 ; <i1> [#uses=1]
+ br i1 %tmp6432.i, label %bb75.i, label %cond_next67.i
cond_false5.i.i: ; preds = %cond_false.i.i
- call fastcc void %std_pn_eval( %struct.node_t* %tmp2.i )
- %tmp.i = load ubyte* %tmp63.i ; <ubyte> [#uses=1]
- %tmp64.i = seteq ubyte %tmp.i, 1 ; <bool> [#uses=0]
+ call fastcc void @std_pn_eval( %struct.node_t* %tmp2.i.upgrd.184 )
+ %tmp.i.upgrd.189 = load i8* %tmp63.i ; <i8> [#uses=1]
+ %tmp64.i = icmp eq i8 %tmp.i.upgrd.189, 1 ; <i1> [#uses=0]
ret void
cond_next67.i: ; preds = %cond_true3.i.i
- %tmp69.i = getelementptr %struct.node_t* %tmp2.i, int 0, uint 0 ; <ubyte*> [#uses=1]
- %tmp70.i = load ubyte* %tmp69.i ; <ubyte> [#uses=1]
- %tmp71.i = seteq ubyte %tmp70.i, 0 ; <bool> [#uses=0]
+ %tmp69.i = getelementptr %struct.node_t* %tmp2.i.upgrd.184, i32 0, i32 0 ; <i8*> [#uses=1]
+ %tmp70.i = load i8* %tmp69.i ; <i8> [#uses=1]
+ %tmp71.i = icmp eq i8 %tmp70.i, 0 ; <i1> [#uses=0]
ret void
bb75.i: ; preds = %cond_true3.i.i
- store int 0, int* %bufftop
- %tmp76.i = load ubyte** %membuff ; <ubyte*> [#uses=1]
- free ubyte* %tmp76.i
- free sbyte* %tmp2.i3
- store int 0, int* getelementptr (%struct.move_s* %pn_move, uint 0, uint 0)
- store int 0, int* getelementptr (%struct.move_s* %pn_move, uint 0, uint 1)
- store int 0, int* getelementptr (%struct.move_s* %pn_move, uint 0, uint 2)
- store int 0, int* getelementptr (%struct.move_s* %pn_move, uint 0, uint 3)
- store int 0, int* getelementptr (%struct.move_s* %pn_move, uint 0, uint 4)
- store int 0, int* getelementptr (%struct.move_s* %pn_move, uint 0, uint 5)
- %tmp28869 = load int* %result ; <int> [#uses=1]
- %tmp28970 = seteq int %tmp28869, 0 ; <bool> [#uses=1]
- br bool %tmp28970, label %cond_next337, label %cond_true290
+ store i32 0, i32* @bufftop
+ %tmp76.i = load i8** @membuff ; <i8*> [#uses=1]
+ free i8* %tmp76.i
+ free i8* %tmp2.i3
+ store i32 0, i32* getelementptr (%struct.move_s* @pn_move, i64 0, i32 0)
+ store i32 0, i32* getelementptr (%struct.move_s* @pn_move, i64 0, i32 1)
+ store i32 0, i32* getelementptr (%struct.move_s* @pn_move, i64 0, i32 2)
+ store i32 0, i32* getelementptr (%struct.move_s* @pn_move, i64 0, i32 3)
+ store i32 0, i32* getelementptr (%struct.move_s* @pn_move, i64 0, i32 4)
+ store i32 0, i32* getelementptr (%struct.move_s* @pn_move, i64 0, i32 5)
+ %tmp28869 = load i32* @result ; <i32> [#uses=1]
+ %tmp28970 = icmp eq i32 %tmp28869, 0 ; <i1> [#uses=1]
+ br i1 %tmp28970, label %cond_next337, label %cond_true290
bb263: ; preds = %bb249, %cond_next238, %cond_true226.critedge
- br bool %tmp21362, label %cond_true266, label %bb287
+ br i1 %tmp21362, label %cond_true266, label %bb287
cond_true266: ; preds = %bb263
- store int 0, int* getelementptr (%struct.move_s* %pn_move, uint 0, uint 0)
- store int 0, int* getelementptr (%struct.move_s* %pn_move, uint 0, uint 1)
- store int 0, int* getelementptr (%struct.move_s* %pn_move, uint 0, uint 2)
- store int 0, int* getelementptr (%struct.move_s* %pn_move, uint 0, uint 3)
- store int 0, int* getelementptr (%struct.move_s* %pn_move, uint 0, uint 4)
- store int 0, int* getelementptr (%struct.move_s* %pn_move, uint 0, uint 5)
- %tmp28871 = load int* %result ; <int> [#uses=1]
- %tmp28972 = seteq int %tmp28871, 0 ; <bool> [#uses=0]
+ store i32 0, i32* getelementptr (%struct.move_s* @pn_move, i64 0, i32 0)
+ store i32 0, i32* getelementptr (%struct.move_s* @pn_move, i64 0, i32 1)
+ store i32 0, i32* getelementptr (%struct.move_s* @pn_move, i64 0, i32 2)
+ store i32 0, i32* getelementptr (%struct.move_s* @pn_move, i64 0, i32 3)
+ store i32 0, i32* getelementptr (%struct.move_s* @pn_move, i64 0, i32 4)
+ store i32 0, i32* getelementptr (%struct.move_s* @pn_move, i64 0, i32 5)
+ %tmp28871 = load i32* @result ; <i32> [#uses=1]
+ %tmp28972 = icmp eq i32 %tmp28871, 0 ; <i1> [#uses=0]
ret void
bb287.critedge: ; preds = %cond_false210
- %tmp218.c = div double 1.999998e+06, %tmp217 ; <double> [#uses=1]
- %tmp218.c = cast double %tmp218.c to int ; <int> [#uses=2]
- store int %tmp218.c, int* %time_for_move
- %tmp22367.c = call int (sbyte*, ...)* %printf( sbyte* getelementptr ([20 x sbyte]* %str43, int 0, uint 0), int %tmp218.c ) ; <int> [#uses=0]
+ %tmp218.c = fdiv double 1.999998e+06, %tmp217 ; <double> [#uses=1]
+ %tmp218.c.upgrd.190 = fptosi double %tmp218.c to i32 ; <i32> [#uses=2]
+ store i32 %tmp218.c.upgrd.190, i32* @time_for_move
+ %tmp22367.c = call i32 (i8*, ...)* @printf( i8* getelementptr ([20 x i8]* @str43, i32 0, i64 0), i32 %tmp218.c.upgrd.190 ) ; <i32> [#uses=0]
ret void
bb287: ; preds = %bb263
- %tmp288 = load int* %result ; <int> [#uses=1]
- %tmp289 = seteq int %tmp288, 0 ; <bool> [#uses=0]
+ %tmp288 = load i32* @result ; <i32> [#uses=1]
+ %tmp289 = icmp eq i32 %tmp288, 0 ; <i1> [#uses=0]
ret void
cond_true290: ; preds = %bb75.i
- %tmp292 = load int* getelementptr (%struct.move_s* %pn_move, int 0, uint 1) ; <int> [#uses=1]
- %tmp295 = seteq int %tmp292, 0 ; <bool> [#uses=0]
+ %tmp292 = load i32* getelementptr (%struct.move_s* @pn_move, i32 0, i32 1) ; <i32> [#uses=1]
+ %tmp295 = icmp eq i32 %tmp292, 0 ; <i1> [#uses=0]
ret void
cond_next337: ; preds = %bb75.i
- %tmp338.b = load bool* %forcedwin.b ; <bool> [#uses=1]
- br bool %tmp338.b, label %bb348, label %cond_next342
+ %tmp338.b = load i1* @forcedwin.b ; <i1> [#uses=1]
+ br i1 %tmp338.b, label %bb348, label %cond_next342
cond_next342: ; preds = %cond_next337
- %tmp343 = load int* %result ; <int> [#uses=1]
- %tmp344 = seteq int %tmp343, 0 ; <bool> [#uses=0]
+ %tmp343 = load i32* @result ; <i32> [#uses=1]
+ %tmp344 = icmp eq i32 %tmp343, 0 ; <i1> [#uses=0]
ret void
bb348: ; preds = %cond_next337
- %tmp350 = load int* getelementptr (%struct.move_s* %pn_move, int 0, uint 1) ; <int> [#uses=1]
- %tmp353 = seteq int %tmp350, 0 ; <bool> [#uses=0]
+ %tmp350 = load i32* getelementptr (%struct.move_s* @pn_move, i32 0, i32 1) ; <i32> [#uses=1]
+ %tmp353 = icmp eq i32 %tmp350, 0 ; <i1> [#uses=0]
ret void
}
-declare fastcc int %eval(int, int)
+declare fastcc i32 @eval(i32, i32)
-declare sbyte* %fgets(sbyte*, int, %struct.FILE*)
+declare i8* @fgets(i8*, i32, %struct.FILE*)
-declare int %fclose(%struct.FILE*)
+declare i32 @fclose(%struct.FILE*)
-declare fastcc int %losers_eval()
+declare fastcc i32 @losers_eval()
-declare fastcc int %l_bishop_mobility(int)
+declare fastcc i32 @l_bishop_mobility(i32)
-declare fastcc int %l_rook_mobility(int)
+declare fastcc i32 @l_rook_mobility(i32)
-declare fastcc uint %check_legal(%struct.move_s*, int, int)
+declare fastcc i32 @check_legal(%struct.move_s*, i32, i32)
-declare fastcc void %gen(%struct.move_s*)
+declare fastcc void @gen(%struct.move_s*)
-declare fastcc void %push_pawn(int, uint)
+declare fastcc void @push_pawn(i32, i32)
-declare fastcc void %push_knighT(int)
+declare fastcc void @push_knighT(i32)
-declare fastcc void %push_slidE(int)
+declare fastcc void @push_slidE(i32)
-declare fastcc void %push_king(int)
+declare fastcc void @push_king(i32)
-declare fastcc uint %f_in_check(%struct.move_s*, int)
+declare fastcc i32 @f_in_check(%struct.move_s*, i32)
-declare fastcc void %make(%struct.move_s*, int)
+declare fastcc void @make(%struct.move_s*, i32)
-declare fastcc void %add_capture(int, int, int)
+declare fastcc void @add_capture(i32, i32, i32)
-declare fastcc void %unmake(%struct.move_s*, int)
+declare fastcc void @unmake(%struct.move_s*, i32)
-declare int %ErrorIt(int, int)
+declare i32 @ErrorIt(i32, i32)
-declare int %Pawn(int, int)
+declare i32 @Pawn(i32, i32)
-declare int %Knight(int, int)
+declare i32 @Knight(i32, i32)
-declare int %King(int, int)
+declare i32 @King(i32, i32)
-declare int %Rook(int, int)
+declare i32 @Rook(i32, i32)
-declare int %Queen(int, int)
+declare i32 @Queen(i32, i32)
-declare int %Bishop(int, int)
+declare i32 @Bishop(i32, i32)
-declare fastcc void %check_phase()
+declare fastcc void @check_phase()
-declare fastcc int %bishop_mobility(int)
+declare fastcc i32 @bishop_mobility(i32)
-declare fastcc int %rook_mobility(int)
+declare fastcc i32 @rook_mobility(i32)
-declare int %sscanf(sbyte*, sbyte*, ...)
+declare i32 @sscanf(i8*, i8*, ...)
-declare int %strncmp(sbyte*, sbyte*, uint)
+declare i32 @strncmp(i8*, i8*, i32)
-declare sbyte* %strchr(sbyte*, int)
+declare i8* @strchr(i8*, i32)
-declare fastcc void %CheckBadFlow(uint)
+declare fastcc void @CheckBadFlow(i32)
-declare fastcc void %suicide_pn_eval(%struct.node_t*)
+declare fastcc void @suicide_pn_eval(%struct.node_t*)
-declare fastcc void %losers_pn_eval(%struct.node_t*)
+declare fastcc void @losers_pn_eval(%struct.node_t*)
-declare fastcc void %std_pn_eval(%struct.node_t*)
+declare fastcc void @std_pn_eval(%struct.node_t*)
-declare fastcc %struct.node_t* %select_most_proving(%struct.node_t*)
+declare fastcc %struct.node_t* @select_most_proving(%struct.node_t*)
-declare fastcc void %set_proof_and_disproof_numbers(%struct.node_t*)
+declare fastcc void @set_proof_and_disproof_numbers(%struct.node_t*)
-declare fastcc void %StoreTT(int, int, int, int, int, int)
+declare fastcc void @StoreTT(i32, i32, i32, i32, i32, i32)
-declare fastcc void %develop_node(%struct.node_t*)
+declare fastcc void @develop_node(%struct.node_t*)
-declare fastcc void %update_ancestors(%struct.node_t*)
+declare fastcc void @update_ancestors(%struct.node_t*)
-declare sbyte* %calloc(uint, uint)
+declare i8* @calloc(i32, i32)
-declare fastcc void %comp_to_coord(long, long, long, sbyte*)
+declare fastcc void @comp_to_coord(i64, i64, i64, i8*)
-declare sbyte* %strcat(sbyte*, sbyte*)
+declare i8* @strcat(i8*, i8*)
-declare int %sprintf(sbyte*, sbyte*, ...)
+declare i32 @sprintf(i8*, i8*, ...)
-declare fastcc void %order_moves(%struct.move_s*, int*, int*, int, int)
+declare fastcc void @order_moves(%struct.move_s*, i32*, i32*, i32, i32)
-declare fastcc int %see(int, int, int)
+declare fastcc i32 @see(i32, i32, i32)
-declare fastcc void %perft(int)
+declare fastcc void @perft(i32)
-declare fastcc int %qsearch(int, int, int)
+declare fastcc i32 @qsearch(i32, i32, i32)
-declare fastcc int %allocate_time()
+declare fastcc i32 @allocate_time()
-declare fastcc void %QStoreTT(int, int, int, int)
+declare fastcc void @QStoreTT(i32, i32, i32, i32)
-declare fastcc int %search(int, int, int, int)
+declare fastcc i32 @search(i32, i32, i32, i32)
-declare fastcc int %ProbeTT(int*, int, int*, int*, int*, int)
+declare fastcc i32 @ProbeTT(i32*, i32, i32*, i32*, i32*, i32)
-declare csretcc void %search_root(%struct.move_s*, int, int, int)
+declare void @search_root(%struct.move_s* sret , i32, i32, i32)
-declare fastcc void %post_fh_thinking(int, %struct.move_s*)
+declare fastcc void @post_fh_thinking(i32, %struct.move_s*)
-declare fastcc void %post_thinking(int)
+declare fastcc void @post_thinking(i32)
-declare int %fprintf(%struct.FILE*, sbyte*, ...)
+declare i32 @fprintf(%struct.FILE*, i8*, ...)
-declare fastcc int %s_bishop_mobility(int)
+declare fastcc i32 @s_bishop_mobility(i32)
-declare fastcc int %s_rook_mobility(int)
+declare fastcc i32 @s_rook_mobility(i32)
-declare fastcc int %suicide_mid_eval()
+declare fastcc i32 @suicide_mid_eval()
-declare int %main(int, sbyte**)
+declare i32 @main(i32, i8**)
-declare fastcc void %init_game()
+declare fastcc void @init_game()
-declare void %setbuf(%struct.FILE*, sbyte*)
+declare void @setbuf(%struct.FILE*, i8*)
-declare sbyte* %strcpy(sbyte*, sbyte*)
+declare i8* @strcpy(i8*, i8*)
-declare int %__tolower(int)
+declare i32 @__tolower(i32)
-declare int %strcmp(sbyte*, sbyte*)
+declare i32 @strcmp(i8*, i8*)
-declare void (int)* %signal(int, void (int)*)
+declare void (i32)* @signal(i32, void (i32)*)
-declare fastcc void %hash_extract_pv(int, sbyte*)
+declare fastcc void @hash_extract_pv(i32, i8*)
-declare double %difftime(int, int)
+declare double @difftime(i32, i32)
-declare int %getc(%struct.FILE*)
+declare i32 @getc(%struct.FILE*)
-declare uint %strlen(sbyte*)
+declare i32 @strlen(i8*)
-declare uint %fwrite(sbyte*, uint, uint, %struct.FILE*)
+declare i32 @fwrite(i8*, i32, i32, %struct.FILE*)
diff --git a/test/Transforms/DeadStoreElimination/PartialStore.ll b/test/Transforms/DeadStoreElimination/PartialStore.ll
index 14b2b0d270..ce1965724f 100644
--- a/test/Transforms/DeadStoreElimination/PartialStore.ll
+++ b/test/Transforms/DeadStoreElimination/PartialStore.ll
@@ -1,12 +1,13 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -dse | llvm-dis | \
+; RUN: llvm-as < %s | opt -dse | llvm-dis | \
; RUN: not grep {store i8}
; Ensure that the dead store is deleted in this case. It is wholely
; overwritten by the second store.
-int %test() {
- %V = alloca int
- %V2 = cast int* %V to sbyte*
- store sbyte 0, sbyte* %V2
- store int 1234567, int* %V
- %X = load int* %V
- ret int %X
+define i32 @test() {
+ %V = alloca i32 ; <i32*> [#uses=3]
+ %V2 = bitcast i32* %V to i8* ; <i8*> [#uses=1]
+ store i8 0, i8* %V2
+ store i32 1234567, i32* %V
+ %X = load i32* %V ; <i32> [#uses=1]
+ ret i32 %X
}
+
diff --git a/test/Transforms/DeadStoreElimination/alloca.llx b/test/Transforms/DeadStoreElimination/alloca.llx
index d7aacb5e94..7a2c94ffca 100644
--- a/test/Transforms/DeadStoreElimination/alloca.llx
+++ b/test/Transforms/DeadStoreElimination/alloca.llx
@@ -1,8 +1,9 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -dse | llvm-dis | not grep DEAD
+; RUN: llvm-as < %s | opt -dse | llvm-dis | not grep DEAD
-void %test(int* %Q) {
- %P = alloca int
- %DEAD = load int* %Q
- store int %DEAD, int* %P ;; Alloca goes out of scope, dead store.
- ret void
+define void @test(i32* %Q) {
+ %P = alloca i32 ; <i32*> [#uses=1]
+ %DEAD = load i32* %Q ; <i32> [#uses=1]
+ store i32 %DEAD, i32* %P
+ ret void
}
+
diff --git a/test/Transforms/DeadStoreElimination/context-sensitive.llx b/test/Transforms/DeadStoreElimination/context-sensitive.llx
index 54396d48ba..266fdbc647 100644
--- a/test/Transforms/DeadStoreElimination/context-sensitive.llx
+++ b/test/Transforms/DeadStoreElimination/context-sensitive.llx
@@ -1,15 +1,14 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -dse | llvm-dis | not grep DEAD
-
-declare void %ext()
-
-int* %caller() {
- %P = malloc int
- %DEAD = load int* %P
- %DEAD2 = add int %DEAD, 1
- store int %DEAD2, int* %P ;; dead store
-
- call void %ext() ; Can not clobber *P
-
- store int 0, int* %P
- ret int* %P
+; RUN: llvm-as < %s | opt -dse | llvm-dis | not grep DEAD
+
+declare void @ext()
+
+define i32* @caller() {
+ %P = malloc i32 ; <i32*> [#uses=4]
+ %DEAD = load i32* %P ; <i32> [#uses=1]
+ %DEAD2 = add i32 %DEAD, 1 ; <i32> [#uses=1]
+ store i32 %DEAD2, i32* %P
+ call void @ext( )
+ store i32 0, i32* %P
+ ret i32* %P
}
+
diff --git a/test/Transforms/DeadStoreElimination/free.llx b/test/Transforms/DeadStoreElimination/free.llx
index 3f0db04f7b..e0611d310b 100644
--- a/test/Transforms/DeadStoreElimination/free.llx
+++ b/test/Transforms/DeadStoreElimination/free.llx
@@ -1,8 +1,8 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -dse | llvm-dis | not grep DEAD
+; RUN: llvm-as < %s | opt -dse | llvm-dis | not grep DEAD
-void %test(int* %Q, int* %P) {
- %DEAD = load int* %Q
- store int %DEAD, int* %P
- free int* %P
- ret void
+define void @test(i32* %Q, i32* %P) {
+ %DEAD = load i32* %Q ; <i32> [#uses=1]
+ store i32 %DEAD, i32* %P
+ free i32* %P
+ ret void
}
diff --git a/test/Transforms/DeadStoreElimination/simple.llx b/test/Transforms/DeadStoreElimination/simple.llx
index e0ce12d0ac..594671d0f0 100644
--- a/test/Transforms/DeadStoreElimination/simple.llx
+++ b/test/Transforms/DeadStoreElimination/simple.llx
@@ -1,8 +1,9 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -dse | llvm-dis | not grep DEAD
+; RUN: llvm-as < %s | opt -dse | llvm-dis | not grep DEAD
-void %test(int* %Q, int* %P) {
- %DEAD = load int* %Q
- store int %DEAD, int* %P
- store int 0, int* %P
- ret void
+define void @test(i32* %Q, i32* %P) {
+ %DEAD = load i32* %Q ; <i32> [#uses=1]
+ store i32 %DEAD, i32* %P
+ store i32 0, i32* %P
+ ret void
}
+
diff --git a/test/Transforms/GCSE/2002-05-14-OperandSwap.ll b/test/Transforms/GCSE/2002-05-14-OperandSwap.ll
index 51183b82cf..ca4ac201fe 100644
--- a/test/Transforms/GCSE/2002-05-14-OperandSwap.ll
+++ b/test/Transforms/GCSE/2002-05-14-OperandSwap.ll
@@ -1,18 +1,17 @@
; This entire chain of computation should be optimized away, but
; wasn't because the two multiplies were not detected as being identical.
;
-; RUN: llvm-upgrade < %s | llvm-as | opt -gcse -instcombine -dce | \
+; RUN: llvm-as < %s | opt -gcse -instcombine -dce | \
; RUN: llvm-dis | not grep sub
-implementation ; Functions:
-
-uint "vnum_test4"(uint* %data) {
- %idx1 = getelementptr uint* %data, uint 1
- %idx2 = getelementptr uint* %data, uint 3
- %reg1101 = load uint* %idx1
- %reg1111 = load uint* %idx2
- %reg109 = mul uint %reg1101, %reg1111
- %reg108 = mul uint %reg1111, %reg1101
- %reg121 = sub uint %reg108, %reg109
- ret uint %reg121
+define i32 @vnum_test4(i32* %data) {
+ %idx1 = getelementptr i32* %data, i64 1 ; <i32*> [#uses=1]
+ %idx2 = getelementptr i32* %data, i64 3 ; <i32*> [#uses=1]
+ %reg1101 = load i32* %idx1 ; <i32> [#uses=2]
+ %reg1111 = load i32* %idx2 ; <i32> [#uses=2]
+ %reg109 = mul i32 %reg1101, %reg1111 ; <i32> [#uses=1]
+ %reg108 = mul i32 %reg1111, %reg1101 ; <i32> [#uses=1]
+ %reg121 = sub i32 %reg108, %reg109 ; <i32> [#uses=1]
+ ret i32 %reg121
}
+
diff --git a/test/Transforms/GCSE/2002-05-21-NoSharedDominator.ll b/test/Transforms/GCSE/2002-05-21-NoSharedDominator.ll
index 2c78695e41..cf288b8171 100644
--- a/test/Transforms/GCSE/2002-05-21-NoSharedDominator.ll
+++ b/test/Transforms/GCSE/2002-05-21-NoSharedDominator.ll
@@ -1,13 +1,14 @@
; This testcase shows a bug where an common subexpression exists, but there
; is no shared dominator block that the expression can be hoisted out to.
;
-; RUN: llvm-upgrade < %s | llvm-as | opt -gcse | llvm-dis
+; RUN: llvm-as < %s | opt -gcse | llvm-dis
-int "test"(int %X, int %Y) {
- %Z = add int %X, %Y
- ret int %Z
+define i32 @test(i32 %X, i32 %Y) {
+ %Z = add i32 %X, %Y ; <i32> [#uses=1]
+ ret i32 %Z
-Unreachable:
- %Q = add int %X, %Y
- ret int %Q
+Unreachable: ; No predecessors!
+ %Q = add i32 %X, %Y ; <i32> [#uses=1]
+ ret i32 %Q
}
+
diff --git a/test/Transforms/GCSE/2003-06-13-LoadStoreEliminate.ll b/test/Transforms/GCSE/2003-06-13-LoadStoreEliminate.ll
index 4ebb66c378..d4bdc3f5a0 100644
--- a/test/Transforms/GCSE/2003-06-13-LoadStoreEliminate.ll
+++ b/test/Transforms/GCSE/2003-06-13-LoadStoreEliminate.ll
@@ -1,11 +1,11 @@
; This testcase shows a bug where an common subexpression exists, but there
; is no shared dominator block that the expression can be hoisted out to.
;
-; RUN: llvm-upgrade < %s | llvm-as | opt -load-vn -gcse | llvm-dis | not grep load
+; RUN: llvm-as < %s | opt -load-vn -gcse | llvm-dis | not grep load
-int %test(int* %P) {
- store int 5, int* %P
- %Z = load int* %P
- ret int %Z
+define i32 @test(i32* %P) {
+ store i32 5, i32* %P
+ %Z = load i32* %P ; <i32> [#uses=1]
+ ret i32 %Z
}
diff --git a/test/Transforms/GCSE/gcsetests.ll b/test/Transforms/GCSE/gcsetests.ll
index b866bb7eda..6fb3057acb 100644
--- a/test/Transforms/GCSE/gcsetests.ll
+++ b/test/Transforms/GCSE/gcsetests.ll
@@ -1,57 +1,46 @@
; Various test cases to ensure basic functionality is working for GCSE
-; RUN: llvm-upgrade < %s | llvm-as | opt -gcse
-
-implementation
-
-void "testinsts"(int %i, int %j, int* %p)
-begin
- %A = cast int %i to uint
- %B = cast int %i to uint
-
- %C = shl int %i, ubyte 1
- %D = shl int %i, ubyte 1
-
- %E = getelementptr int* %p, long 12
- %F = getelementptr int* %p, long 12
- %G = getelementptr int* %p, long 13
- ret void
-end
-
+; RUN: llvm-as < %s | opt -gcse
+
+define void @testinsts(i32 %i, i32 %j, i32* %p) {
+ %A = bitcast i32 %i to i32 ; <i32> [#uses=0]
+ %B = bitcast i32 %i to i32 ; <i32> [#uses=0]
+ %C = shl i32 %i, 1 ; <i32> [#uses=0]
+ %D = shl i32 %i, 1 ; <i32> [#uses=0]
+ %E = getelementptr i32* %p, i64 12 ; <i32*> [#uses=0]
+ %F = getelementptr i32* %p, i64 12 ; <i32*> [#uses=0]
+ %G = getelementptr i32* %p, i64 13 ; <i32*> [#uses=0]
+ ret void
+}
; Test different combinations of domination properties...
-void "sameBBtest"(int %i, int %j)
-begin
- %A = add int %i, %j
- %B = add int %i, %j
-
- %C = xor int %A, -1
- %D = xor int %B, -1
- %E = xor int %j, -1
-
- ret void
-end
-
-int "dominates"(int %i, int %j)
-begin
- %A = add int %i, %j
- br label %BB2
-
-BB2:
- %B = add int %i, %j
- ret int %B
-end
-
-int "hascommondominator"(int %i, int %j)
-begin
- br bool true, label %BB1, label %BB2
-
-BB1:
- %A = add int %i, %j
- ret int %A
-
-BB2:
- %B = add int %i, %j
- ret int %B
-end
+define void @sameBBtest(i32 %i, i32 %j) {
+ %A = add i32 %i, %j ; <i32> [#uses=1]
+ %B = add i32 %i, %j ; <i32> [#uses=1]
+ %C = xor i32 %A, -1 ; <i32> [#uses=0]
+ %D = xor i32 %B, -1 ; <i32> [#uses=0]
+ %E = xor i32 %j, -1 ; <i32> [#uses=0]
+ ret void
+}
+
+define i32 @dominates(i32 %i, i32 %j) {
+ %A = add i32 %i, %j ; <i32> [#uses=0]
+ br label %BB2
+
+BB2: ; preds = %0
+ %B = add i32 %i, %j ; <i32> [#uses=1]
+ ret i32 %B
+}
+
+define i32 @hascommondominator(i32 %i, i32 %j) {
+ br i1 true, label %BB1, label %BB2
+
+BB1: ; preds = %0
+ %A = add i32 %i, %j ; <i32> [#uses=1]
+ ret i32 %A
+
+BB2: ; preds = %0
+ %B = add i32 %i, %j ; <i32> [#uses=1]
+ ret i32 %B
+}
diff --git a/test/Transforms/GCSE/vectorops.ll b/test/Transforms/GCSE/vectorops.ll
index 694d9d590f..f52688e3ac 100644
--- a/test/Transforms/GCSE/vectorops.ll
+++ b/test/Transforms/GCSE/vectorops.ll
@@ -1,26 +1,24 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -gcse -instcombine | \
+; RUN: llvm-as < %s | opt -gcse -instcombine | \
; RUN: llvm-dis | not grep sub
-uint %test_extractelement(<4 x uint> %V) {
- %R = extractelement <4 x uint> %V, uint 1
- %R2 = extractelement <4 x uint> %V, uint 1
- %V = sub uint %R, %R2
- ret uint %V
+define i32 @test_extractelement(<4 x i32> %V) {
+ %R = extractelement <4 x i32> %V, i32 1 ; <i32> [#uses=1]
+ %R2 = extractelement <4 x i32> %V, i32 1 ; <i32> [#uses=1]
+ %V.upgrd.1 = sub i32 %R, %R2 ; <i32> [#uses=1]
+ ret i32 %V.upgrd.1
}
-<4 x uint> %test_insertelement(<4 x uint> %V) {
- %R = insertelement <4 x uint> %V, uint 0, uint 0
- %R2 = insertelement <4 x uint> %V, uint 0, uint 0
- %x = sub <4 x uint> %R, %R2
- ret <4 x uint> %x
+define <4 x i32> @test_insertelement(<4 x i32> %V) {
+ %R = insertelement <4 x i32> %V, i32 0, i32 0 ; <<4 x i32>> [#uses=1]
+ %R2 = insertelement <4 x i32> %V, i32 0, i32 0 ; <<4 x i32>> [#uses=1]
+ %x = sub <4 x i32> %R, %R2 ; <<4 x i32>> [#uses=1]
+ ret <4 x i32> %x
}
-<4 x uint> %test_shufflevector(<4 x uint> %V) {
- %R = shufflevector <4 x uint> %V, <4 x uint> %V,
- <4 x uint> < uint 1, uint undef, uint 7, uint 2>
- %R2 = shufflevector <4 x uint> %V, <4 x uint> %V,
- <4 x uint> < uint 1, uint undef, uint 7, uint 2>
- %x = sub <4 x uint> %R, %R2
- ret <4 x uint> %x
+define <4 x i32> @test_shufflevector(<4 x i32> %V) {
+ %R = shufflevector <4 x i32> %V, <4 x i32> %V, <4 x i32> < i32 1, i32 undef, i32 7, i32 2 > ; <<4 x i32>> [#uses=1]
+ %R2 = shufflevector <4 x i32> %V, <4 x i32> %V, <4 x i32> < i32 1, i32 undef, i32 7, i32 2 > ; <<4 x i32>> [#uses=1]
+ %x = sub <4 x i32> %R, %R2 ; <<4 x i32>> [#uses=1]
+ ret <4 x i32> %x
}
diff --git a/test/Transforms/GlobalDCE/2002-07-17-CastRef.ll b/test/Transforms/GlobalDCE/2002-07-17-CastRef.ll
index 3679d51611..a79f6738f1 100644
--- a/test/Transforms/GlobalDCE/2002-07-17-CastRef.ll
+++ b/test/Transforms/GlobalDCE/2002-07-17-CastRef.ll
@@ -1,12 +1,11 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -globaldce
+; RUN: llvm-as < %s | opt -globaldce
;
-implementation
-
-internal void %func() { ; Not dead, can be reachable via X
- ret void
+define internal void @func() {
+ ret void
}
-void %main() {
- %X = cast void()* %func to int*
- ret void
+define void @main() {
+ %X = bitcast void ()* @func to i32* ; <i32*> [#uses=0]
+ ret void
}
+
diff --git a/test/Transforms/GlobalDCE/2002-07-17-ConstantRef.ll b/test/Transforms/GlobalDCE/2002-07-17-ConstantRef.ll
index 8bb6da55b9..2a398468be 100644
--- a/test/Transforms/GlobalDCE/2002-07-17-ConstantRef.ll
+++ b/test/Transforms/GlobalDCE/2002-07-17-ConstantRef.ll
@@ -1,12 +1,13 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -globaldce
+; RUN: llvm-as < %s | opt -globaldce
;
-%X = global void() * %func
-implementation
-internal void %func() { ; Not dead, can be reachable via X
- ret void
+@X = global void ()* @func ; <void ()**> [#uses=0]
+
+; Not dead, can be reachable via X
+define internal void @func() {
+ ret void
}
-void %main() {
- ret void
+define void @main() {
+ ret void
}
diff --git a/test/Transforms/GlobalDCE/2002-08-17-FunctionDGE.ll b/test/Transforms/GlobalDCE/2002-08-17-FunctionDGE.ll
index e0af3c2c48..dac81a3999 100644
--- a/test/Transforms/GlobalDCE/2002-08-17-FunctionDGE.ll
+++ b/test/Transforms/GlobalDCE/2002-08-17-FunctionDGE.ll
@@ -1,16 +1,17 @@
; Make sure that functions are removed successfully if they are referred to by
; a global that is dead. Make sure any globals they refer to die as well.
-; RUN: llvm-upgrade < %s | llvm-as | opt -globaldce | llvm-dis | not grep foo
+; RUN: llvm-as < %s | opt -globaldce | llvm-dis | not grep foo
-%b = internal global int ()* %foo ;; Unused, kills %foo
+;; Unused, kills %foo
+@b = internal global i32 ()* @foo ; <i32 ()**> [#uses=0]
-%foo = internal global int 7 ;; Should die when function %foo is killed
+;; Should die when function %foo is killed
+@foo.upgrd.1 = internal global i32 7 ; <i32*> [#uses=1]
-implementation
-
-internal int %foo() { ;; dies when %b dies.
- %ret = load int* %foo
- ret int %ret
+ ;; dies when %b dies.
+define internal i32 @foo() {
+ %ret = load i32* @foo.upgrd.1 ; <i32> [#uses=1]
+ ret i32 %ret
}
diff --git a/test/Transforms/GlobalDCE/2002-08-17-WorkListTest.ll b/test/Transforms/GlobalDCE/2002-08-17-WorkListTest.ll
index 493e30c309..d07f0140c4 100644
--- a/test/Transforms/GlobalDCE/2002-08-17-WorkListTest.ll
+++ b/test/Transforms/GlobalDCE/2002-08-17-WorkListTest.ll
@@ -1,14 +1,12 @@
; This testcase tests that a worklist is being used, and that globals can be
; removed if they are the subject of a constexpr and ConstantPointerRef
-; RUN: llvm-upgrade < %s | llvm-as | opt -globaldce | llvm-dis | not grep global
-
-%t0 = internal global [4 x sbyte] c"foo\00"
-%t1 = internal global [4 x sbyte] c"bar\00"
-
-%s1 = internal global [1 x sbyte*] [sbyte* cast ([4 x sbyte]* %t0 to sbyte*)]
-%s2 = internal global [1 x sbyte*] [sbyte* getelementptr ([4 x sbyte]* %t1, uint 0, uint 0 )]
-
-%b = internal global int* %a
-%a = internal global int 7
+; RUN: llvm-as < %s | opt -globaldce | llvm-dis | not grep global
+
+@t0 = internal global [4 x i8] c"foo\00" ; <[4 x i8]*> [#uses=1]
+@t1 = internal global [4 x i8] c"bar\00" ; <[4 x i8]*> [#uses=1]
+@s1 = internal global [1 x i8*] [ i8* getelementptr ([4 x i8]* @t0, i32 0, i32 0) ] ; <[1 x i8*]*> [#uses=0]
+@s2 = internal global [1 x i8*] [ i8* getelementptr ([4 x i8]* @t1, i64 0, i64 0) ] ; <[1 x i8*]*> [#uses=0]
+@b = internal global i32* @a ; <i32**> [#uses=0]
+@a = internal global i32 7 ; <i32*> [#uses=1]
diff --git a/test/Transforms/GlobalDCE/2002-09-12-Redeletion.ll b/test/Transforms/GlobalDCE/2002-09-12-Redeletion.ll
index bc650d2e89..b49bfcc494 100644
--- a/test/Transforms/GlobalDCE/2002-09-12-Redeletion.ll
+++ b/test/Transforms/GlobalDCE/2002-09-12-Redeletion.ll
@@ -1,13 +1,11 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -globaldce
+; RUN: llvm-as < %s | opt -globaldce
-%foo = internal global int 7 ;; Should die when function %foo is killed
+;; Should die when function %foo is killed
+@foo.upgrd.1 = internal global i32 7 ; <i32*> [#uses=3]
+@bar = internal global [2 x { i32*, i32 }] [ { i32*, i32 } { i32* @foo.upgrd.1, i32 7 }, { i32*, i32 } { i32* @foo.upgrd.1, i32 1 } ] ; <[2 x { i32*, i32 }]*> [#uses=0]
-%bar = internal global [2x { int *, int }] [ { int *, int } { int* %foo, int 7}, {int*, int} { int* %foo, int 1 }]
-
-implementation
-
-internal int %foo() { ;; dies when %b dies.
- %ret = load int* %foo
- ret int %ret
+define internal i32 @foo() {
+ %ret = load i32* @foo.upgrd.1 ; <i32> [#uses=1]
+ ret i32 %ret
}
diff --git a/test/Transforms/GlobalDCE/2003-07-01-SelfReference.ll b/test/Transforms/GlobalDCE/2003-07-01-SelfReference.ll
index afdc1cd12d..c6c51df94c 100644
--- a/test/Transforms/GlobalDCE/2003-07-01-SelfReference.ll
+++ b/test/Transforms/GlobalDCE/2003-07-01-SelfReference.ll
@@ -1,11 +1,11 @@
; distilled from 255.vortex
-; RUN: llvm-upgrade < %s | llvm-as | opt -globaldce | llvm-dis | not grep testfunc
+; RUN: llvm-as < %s | opt -globaldce | llvm-dis | not grep testfunc
-implementation
+declare i1 ()* @getfunc()
-declare bool()* %getfunc()
-internal bool %testfunc() {
- %F = call bool()*()* %getfunc()
- %c = seteq bool()* %F, %testfunc
- ret bool %c
+define internal i1 @testfunc() {
+ %F = call i1 ()* ()* @getfunc( ) ; <i1 ()*> [#uses=1]
+ %c = icmp eq i1 ()* %F, @testfunc ; <i1> [#uses=1]
+ ret i1 %c
}
+
diff --git a/test/Transforms/GlobalDCE/2003-10-09-PreserveWeakGlobals.ll b/test/Transforms/GlobalDCE/2003-10-09-PreserveWeakGlobals.ll
index ff41163ce7..12d4736d27 100644
--- a/test/Transforms/GlobalDCE/2003-10-09-PreserveWeakGlobals.ll
+++ b/test/Transforms/GlobalDCE/2003-10-09-PreserveWeakGlobals.ll
@@ -1,6 +1,6 @@
; Weak variables should be preserved by global DCE!
-; RUN: llvm-upgrade < %s | llvm-as | opt -globaldce | llvm-dis | grep @A
+; RUN: llvm-as < %s | opt -globaldce | llvm-dis | grep @A
-%A = weak global int 54
+@A = weak global i32 54
diff --git a/test/Transforms/GlobalDCE/basicvariabletest.ll b/test/Transforms/GlobalDCE/basicvariabletest.ll
index 0b5c8b6fae..c883e58b84 100644
--- a/test/Transforms/GlobalDCE/basicvariabletest.ll
+++ b/test/Transforms/GlobalDCE/basicvariabletest.ll
@@ -1,5 +1,5 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -globaldce | llvm-dis | not grep global
+; RUN: llvm-as < %s | opt -globaldce | llvm-dis | not grep global
-%X = uninitialized global int
-%Y = internal global int 7
+@X = external global i32
+@Y = internal global i32 7
diff --git a/test/Transforms/GlobalOpt/2004-10-10-CastStoreOnce.llx b/test/Transforms/GlobalOpt/2004-10-10-CastStoreOnce.llx
index 8150c52bc7..5f784e065f 100644
--- a/test/Transforms/GlobalOpt/2004-10-10-CastStoreOnce.llx
+++ b/test/Transforms/GlobalOpt/2004-10-10-CastStoreOnce.llx
@@ -1,17 +1,17 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -globalopt
+; RUN: llvm-as < %s | opt -globalopt
-%V = global float 12.0
-%G = internal global int* null
+@V = global float 1.200000e+01 ; <float*> [#uses=1]
+@G = internal global i32* null ; <i32**> [#uses=2]
-int %user() {
- %P = load int** %G
- %Q = load int* %P
- ret int %Q
+define i32 @user() {
+ %P = load i32** @G ; <i32*> [#uses=1]
+ %Q = load i32* %P ; <i32> [#uses=1]
+ ret i32 %Q
}
-void %setter() {
- %Vi = cast float* %V to int*
- store int* %Vi, int** %G
- ret void
+define void @setter() {
+ %Vi = bitcast float* @V to i32* ; <i32*> [#uses=1]
+ store i32* %Vi, i32** @G
+ ret void
}
diff --git a/test/Transforms/GlobalOpt/2005-06-15-LocalizeConstExprCrash.ll b/test/Transforms/GlobalOpt/2005-06-15-LocalizeConstExprCrash.ll
index 19458c7885..80f8243924 100644
--- a/test/Transforms/GlobalOpt/2005-06-15-LocalizeConstExprCrash.ll
+++ b/test/Transforms/GlobalOpt/2005-06-15-LocalizeConstExprCrash.ll
@@ -1,9 +1,10 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -globalopt -disable-output
+; RUN: llvm-as < %s | opt -globalopt -disable-output
; PR579
-%g_40507551 = internal global short 31038 ; <short*> [#uses=1]
+@g_40507551 = internal global i16 31038 ; <i16*> [#uses=1]
-void %main() {
- %tmp.4.i.1 = load ubyte* getelementptr (ubyte* cast (short* %g_40507551 to ubyte*), int 1)
- ret void
+define void @main() {
+ %tmp.4.i.1 = load i8* getelementptr (i8* bitcast (i16* @g_40507551 to i8*), i32 1) ; <i8> [#uses=0]
+ ret void
}
+
diff --git a/test/Transforms/GlobalOpt/2005-09-27-Crash.ll b/test/Transforms/GlobalOpt/2005-09-27-Crash.ll
index 948687724f..5eac431d9c 100644
--- a/test/Transforms/GlobalOpt/2005-09-27-Crash.ll
+++ b/test/Transforms/GlobalOpt/2005-09-27-Crash.ll
@@ -1,28 +1,27 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -globalopt -disable-output
- %RPyString = type { int, %arraytype.Char }
- %arraytype.Char = type { int, [0 x sbyte] }
- %arraytype.Signed = type { int, [0 x int] }
- %functiontype.1 = type %RPyString* (int)
- %structtype.test = type { int, %arraytype.Signed }
-%structinstance.test = internal global { int, { int, [2 x int] } } { int 41, { int, [2 x int] } { int 2, [2 x int] [ int 100, int 101 ] } } ; <{ int, { int, [2 x int] } }*> [#uses=1]
+; RUN: llvm-as < %s | opt -globalopt -disable-output
+ %RPyString = type { i32, %arraytype.Char }
+ %arraytype.Char = type { i32, [0 x i8] }
+ %arraytype.Signed = type { i32, [0 x i32] }
+ %functiontype.1 = type %RPyString* (i32)
+ %structtype.test = type { i32, %arraytype.Signed }
+@structinstance.test = internal global { i32, { i32, [2 x i32] } } { i32 41, { i32, [2 x i32] } { i32 2, [2 x i32] [ i32 100, i32 101 ] } } ; <{ i32, { i32, [2 x i32] } }*> [#uses=1]
-implementation ; Functions:
-
-fastcc void %pypy_array_constant() {
+define fastcc void @pypy_array_constant() {
block0:
- %tmp.9 = getelementptr %structtype.test* cast ({ int, { int, [2 x int] } }* %structinstance.test to %structtype.test*), int 0, uint 0 ; <int*> [#uses=0]
- ret void
+ %tmp.9 = getelementptr %structtype.test* bitcast ({ i32, { i32, [2 x i32] } }* @structinstance.test to %structtype.test*), i32 0, i32 0 ; <i32*> [#uses=0]
+ ret void
}
-fastcc void %new.varsizestruct.rpy_string() {
- unreachable
+define fastcc void @new.varsizestruct.rpy_string() {
+ unreachable
}
-void %__entrypoint__pypy_array_constant() {
- call fastcc void %pypy_array_constant( )
- ret void
+define void @__entrypoint__pypy_array_constant() {
+ call fastcc void @pypy_array_constant( )
+ ret void
}
-void %__entrypoint__raised_LLVMException() {
- ret void
+define void @__entrypoint__raised_LLVMException() {
+ ret void
}
+
diff --git a/test/Transforms/GlobalOpt/2006-07-07-InlineAsmCrash.ll b/test/Transforms/GlobalOpt/2006-07-07-InlineAsmCrash.ll
index 61df34533d..5559ef18b5 100644
--- a/test/Transforms/GlobalOpt/2006-07-07-InlineAsmCrash.ll
+++ b/test/Transforms/GlobalOpt/2006-07-07-InlineAsmCrash.ll
@@ -1,138 +1,135 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -globalopt -disable-output
+; RUN: llvm-as < %s | opt -globalopt -disable-output
; PR820
-target endian = little
-target pointersize = 32
+target datalayout = "e-p:32:32"
target triple = "i686-pc-linux-gnu"
- %struct..0FileDescriptor = type { int }
- "struct.FlagDescription<int32>" = type { ubyte*, int*, bool, bool, int, ubyte* }
- "struct.FlagRegisterer<bool>" = type { ubyte }
+ %struct..0FileDescriptor = type { i32 }
+ %"struct.FlagDescription<int32>" = type { i8*, i32*, i1, i1, i32, i8* }
+ %"struct.FlagRegisterer<bool>" = type { i8 }
%struct.MutexLock = type { %struct..0FileDescriptor* }
- "struct.std::DisabledRangeMap" = type { "struct.std::_Rb_tree<const char*,std::pair<const char* const, FlagDescription<bool> >,std::_Select1st<std::pair<const char* const, FlagDescription<bool> > >,StringCmp,std::allocator<std::pair<const char* const, FlagDescription<bool> > > >" }
- "struct.std::_Rb_tree<const char*,std::pair<const char* const, FlagDescription<bool> >,std::_Select1st<std::pair<const char* const, FlagDescription<bool> > >,StringCmp,std::allocator<std::pair<const char* const, FlagDescription<bool> > > >" = type { "struct.std::_Rb_tree<const char*,std::pair<const char* const, FlagDescription<bool> >,std::_Select1st<std::pair<const char* const, FlagDescription<bool> > >,StringCmp,std::allocator<std::pair<const char* const, FlagDescription<bool> > > >::_Rb_tree_impl<StringCmp,false>" }
- "struct.std::_Rb_tree<const char*,std::pair<const char* const, FlagDescription<bool> >,std::_Select1st<std::pair<const char* const, FlagDescription<bool> > >,StringCmp,std::allocator<std::pair<const char* const, FlagDescription<bool> > > >::_Rb_tree_impl<StringCmp,false>" = type { "struct.FlagRegisterer<bool>", "struct.std::_Rb_tree_node_base", uint }
- "struct.std::_Rb_tree_const_iterator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" = type { "struct.std::_Rb_tree_node_base"* }
- "struct.std::_Rb_tree_node_base" = type { uint, "struct.std::_Rb_tree_node_base"*, "struct.std::_Rb_tree_node_base"*, "struct.std::_Rb_tree_node_base"* }
- "struct.std::_Vector_base<int,std::allocator<int> >" = type { "struct.std::_Vector_base<int,std::allocator<int> >::_Vector_impl" }
- "struct.std::_Vector_base<int,std::allocator<int> >::_Vector_impl" = type { int*, int*, int* }
- "struct.std::vector<int,std::allocator<int> >" = type { "struct.std::_Vector_base<int,std::allocator<int> >" }
-%registry_lock = external global %struct..0FileDescriptor ; <%struct..0FileDescriptor*> [#uses=0]
-%_ZN61FLAG__foo_int32_44FLAGS_E = external global "struct.FlagRegisterer<bool>" ; <"struct.FlagRegisterer<bool>"*> [#uses=0]
-%llvm.global_ctors = appending global [20 x { int, void ()* }] [ { int, void ()* } { int 65535, void ()* %_GLOBAL__I__ZN62FLAG__foo_string_10FLAGS_E }, { int, void ()* } { int 65535, void ()* %_GLOBAL__I__ZN60FLAG__foo_bool_19FLAGS_E }, { int, void ()* } { int 65535, void ()* %_GLOBAL__I__ZNK5Bzh4Enum13is_contiguousEv }, { int, void ()* } { int 65535, void ()* %_GLOBAL__I__ZN62FLAG__foo_string_17FLAGS_E }, { int, void ()* } { int 65535, void ()* %_GLOBAL__I__ZN61FLAG__foo_int32_21FLAGS_E }, { int, void ()* } { int 65535, void ()* %_GLOBAL__I__ZN7ScannerC2Ev }, { int, void ()* } { int 65535, void ()* %_GLOBAL__I__Z11StripStringPSsPKcc }, { int, void ()* } { int 65535, void ()* %_GLOBAL__I__ZNK9__gnu_cxx4hashI11StringPieceEclERKS1_ }, { int, void ()* } { int 65535, void ()* %_GLOBAL__I__ZN8Hasher325ResetEj }, { int, void ()* } { int 65535, void ()* %_GLOBAL__I__Z25ACLRv }, { int, void ()* } { int 65535, void ()* %_GLOBAL__I__ZN61FLAG__foo_int64_25FLAGS_E }, { int, void ()* } { int 65535, void ()* %_GLOBAL__I__ZN61FLAG__foo_int32_7FLAGS_E }, { int, void ()* } { int 65535, void ()* %_GLOBAL__I__ZN62FLAG__foo_string_18FLAGS_E }, { int, void ()* } { int 65535, void ()* %_GLOBAL__I__ZN62FLAG__foo_string_17FLAGS_E }, { int, void ()* } { int 65535, void ()* %_GLOBAL__I__ZN61FLAG__foo_int32_25FLAGS_E }, { int, void ()* } { int 65535, void ()* %_GLOBAL__I_eventbuf }, { int, void ()* } { int 65535, void ()* %_GLOBAL__I__ZN61FLAG__foo_int32_26FLAGS_E }, { int, void ()* } { int 65535, void ()* %_GLOBAL__I__ZN62FLAG__foo_string_16FLAGS_E }, { int, void ()* } { int 65535, void ()* %_GLOBAL__I__ZN17InitializerC2EPKcS1_PFvvE }, { int, void ()* } { int 65535, void ()* %_GLOBAL__I__checker_bcad_variable } ] ; <[20 x { int, void ()* }]*> [#uses=0]
+ %"struct.std::DisabledRangeMap" = type { %"struct.std::_Rb_tree<const char*,std::pair<const char* const, FlagDescription<bool> >,std::_Select1st<std::pair<const char* const, FlagDescription<bool> > >,StringCmp,std::allocator<std::pair<const char* const, FlagDescription<bool> > > >" }
+ %"struct.std::_Rb_tree<const char*,std::pair<const char* const, FlagDescription<bool> >,std::_Select1st<std::pair<const char* const, FlagDescription<bool> > >,StringCmp,std::allocator<std::pair<const char* const, FlagDescription<bool> > > >" = type { %"struct.std::_Rb_tree<const char*,std::pair<const char* const, FlagDescription<bool> >,std::_Select1st<std::pair<const char* const, FlagDescription<bool> > >,StringCmp,std::allocator<std::pair<const char* const, FlagDescription<bool> > > >::_Rb_tree_impl<StringCmp,false>" }
+ %"struct.std::_Rb_tree<const char*,std::pair<const char* const, FlagDescription<bool> >,std::_Select1st<std::pair<const char* const, FlagDescription<bool> > >,StringCmp,std::allocator<std::pair<const char* const, FlagDescription<bool> > > >::_Rb_tree_impl<StringCmp,false>" = type { %"struct.FlagRegisterer<bool>", %"struct.std::_Rb_tree_node_base", i32 }
+ %"struct.std::_Rb_tree_const_iterator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" = type { %"struct.std::_Rb_tree_node_base"* }
+ %"struct.std::_Rb_tree_node_base" = type { i32, %"struct.std::_Rb_tree_node_base"*, %"struct.std::_Rb_tree_node_base"*, %"struct.std::_Rb_tree_node_base"* }
+ %"struct.std::_Vector_base<int,std::allocator<int> >" = type { %"struct.std::_Vector_base<int,std::allocator<int> >::_Vector_impl" }
+ %"struct.std::_Vector_base<int,std::allocator<int> >::_Vector_impl" = type { i32*, i32*, i32* }
+ %"struct.std::vector<int,std::allocator<int> >" = type { %"struct.std::_Vector_base<int,std::allocator<int> >" }
+@registry_lock = external global %struct..0FileDescriptor ; <%struct..0FileDescriptor*> [#uses=0]
+@_ZN61FLAG__foo_int32_44FLAGS_E = external global %"struct.FlagRegisterer<bool>" ; <%"struct.FlagRegisterer<bool>"*> [#uses=0]
+@llvm.global_ctors = appending global [20 x { i32, void ()* }] [ { i32, void ()* } { i32 65535, void ()* @_GLOBAL__I__ZN62FLAG__foo_string_10FLAGS_E }, { i32, void ()* } { i32 65535, void ()* @_GLOBAL__I__ZN60FLAG__foo_bool_19FLAGS_E }, { i32, void ()* } { i32 65535, void ()* @_GLOBAL__I__ZNK5Bzh4Enum13is_contiguousEv }, { i32, void ()* } { i32 65535, void ()* @_GLOBAL__I__ZN62FLAG__foo_string_17FLAGS_E }, { i32, void ()* } { i32 65535, void ()* @_GLOBAL__I__ZN61FLAG__foo_int32_21FLAGS_E }, { i32, void ()* } { i32 65535, void ()* @_GLOBAL__I__ZN7ScannerC2Ev }, { i32, void ()* } { i32 65535, void ()* @_GLOBAL__I__Z11StripStringPSsPKcc }, { i32, void ()* } { i32 65535, void ()* @_GLOBAL__I__ZNK9__gnu_cxx4hashI11StringPieceEclERKS1_ }, { i32, void ()* } { i32 65535, void ()* @_GLOBAL__I__ZN8Hasher325ResetEj }, { i32, void ()* } { i32 65535, void ()* @_GLOBAL__I__Z25ACLRv }, { i32, void ()* } { i32 65535, void ()* @_GLOBAL__I__ZN61FLAG__foo_int64_25FLAGS_E }, { i32, void ()* } { i32 65535, void ()* @_GLOBAL__I__ZN61FLAG__foo_int32_7FLAGS_E }, { i32, void ()* } { i32 65535, void ()* @_GLOBAL__I__ZN62FLAG__foo_string_18FLAGS_E }, { i32, void ()* } { i32 65535, void ()* @_GLOBAL__I__ZN62FLAG__foo_string_17FLAGS_E }, { i32, void ()* } { i32 65535, void ()* @_GLOBAL__I__ZN61FLAG__foo_int32_25FLAGS_E }, { i32, void ()* } { i32 65535, void ()* @_GLOBAL__I_eventbuf }, { i32, void ()* } { i32 65535, void ()* @_GLOBAL__I__ZN61FLAG__foo_int32_26FLAGS_E }, { i32, void ()* } { i32 65535, void ()* @_GLOBAL__I__ZN62FLAG__foo_string_16FLAGS_E }, { i32, void ()* } { i32 65535, void ()* @_GLOBAL__I__ZN17InitializerC2EPKcS1_PFvvE }, { i32, void ()* } { i32 65535, void ()* @_GLOBAL__I__checker_bcad_variable } ] ; <[20 x { i32, void ()* }]*> [#uses=0]
-implementation ; Functions:
+declare void @_GLOBAL__I__ZN62FLAG__foo_string_10FLAGS_E()
-declare void %_GLOBAL__I__ZN62FLAG__foo_string_10FLAGS_E()
+declare void @_GLOBAL__I__ZN60FLAG__foo_bool_19FLAGS_E()
-declare void %_GLOBAL__I__ZN60FLAG__foo_bool_19FLAGS_E()
+declare void @_GLOBAL__I__ZNK5Bzh4Enum13is_contiguousEv()
-declare void %_GLOBAL__I__ZNK5Bzh4Enum13is_contiguousEv()
+declare void @_GLOBAL__I__ZN62FLAG__foo_string_17FLAGS_E()
-declare void %_GLOBAL__I__ZN62FLAG__foo_string_17FLAGS_E()
+declare void @_GLOBAL__I__ZN61FLAG__foo_int32_21FLAGS_E()
-declare void %_GLOBAL__I__ZN61FLAG__foo_int32_21FLAGS_E()
-
-void %_ZN14FlagRegistererIiEC1EPKcRK15FlagDescriptionIiE() {
+define void @_ZN14FlagRegistererIiEC1EPKcRK15FlagDescriptionIiE() {
entry:
- call void %_Z12RegisterFlagIiEvPKcRK15FlagDescriptionIT_E( )
+ call void @_Z12RegisterFlagIiEvPKcRK15FlagDescriptionIT_E( )
ret void
}
-void %_Z12RegisterFlagIiEvPKcRK15FlagDescriptionIT_E() {
+define void @_Z12RegisterFlagIiEvPKcRK15FlagDescriptionIT_E() {
entry:
- call void %_ZN9MutexLockC1EP5Mutex( )
+ call void @_ZN9MutexLockC1EP5Mutex( )
ret void
}
-declare void %_GLOBAL__I__ZN7ScannerC2Ev()
+declare void @_GLOBAL__I__ZN7ScannerC2Ev()
-declare void %_GLOBAL__I__Z11StripStringPSsPKcc()
+declare void @_GLOBAL__I__Z11StripStringPSsPKcc()
-void %_ZNSt6vectorIiSaIiEEC1ERKS0_() {
+define void @_ZNSt6vectorIiSaIiEEC1ERKS0_() {
entry:
unreachable
}
-declare void %_GLOBAL__I__ZNK9__gnu_cxx4hashI11StringPieceEclERKS1_()
+declare void @_GLOBAL__I__ZNK9__gnu_cxx4hashI11StringPieceEclERKS1_()
-declare void %_GLOBAL__I__ZN8Hasher325ResetEj()
+declare void @_GLOBAL__I__ZN8Hasher325ResetEj()
-declare void %_GLOBAL__I__Z25ACLRv()
+declare void @_GLOBAL__I__Z25ACLRv()
-void %_ZN9MutexLockC1EP5Mutex() {
+define void @_ZN9MutexLockC1EP5Mutex() {
entry:
- call void %_ZN5Mutex4LockEv( )
+ call void @_ZN5Mutex4LockEv( )
ret void
}
-void %_ZN5Mutex4LockEv() {
+define void @_ZN5Mutex4LockEv() {
entry:
- call void %_Z22Acquire_CASPViii( )
+ call void @_Z22Acquire_CASPViii( )
ret void
}
-csretcc void %_ZNSt3mapIPKc15FlagDescriptionIiE9StringCmpSaISt4pairIKS1_S3_EEE3endEv("struct.std::_Rb_tree_const_iterator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >"* %agg.result) {
+define void @_ZNSt3mapIPKc15FlagDescriptionIiE9StringCmpSaISt4pairIKS1_S3_EEE3endEv(%"struct.std::_Rb_tree_const_iterator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >"* sret %agg.result) {
entry:
unreachable
}
-declare void %_GLOBAL__I__ZN61FLAG__foo_int64_25FLAGS_E()
+declare void @_GLOBAL__I__ZN61FLAG__foo_int64_25FLAGS_E()
-void %_Z14CASPViii() {
+define void @_Z14CASPViii() {
entry:
- %tmp3 = call int asm sideeffect "lock; cmpxchg $1,$2", "={ax},q,m,0,~{dirflag},~{fpsr},~{flags},~{memory}"( int 0, int* null, int 0 ) ; <int> [#uses=0]
+ %tmp3 = call i32 asm sideeffect "lock; cmpxchg $1,$2", "={ax},q,m,0,~{dirflag},~{fpsr},~{flags},~{memory}"( i32 0, i32* null, i32 0 ) ; <i32> [#uses=0]
unreachable
}
-declare void %_GLOBAL__I__ZN61FLAG__foo_int32_7FLAGS_E()
+declare void @_GLOBAL__I__ZN61FLAG__foo_int32_7FLAGS_E()
-declare void %_GLOBAL__I__ZN62FLAG__foo_string_18FLAGS_E()
+declare void @_GLOBAL__I__ZN62FLAG__foo_string_18FLAGS_E()
-void %_Z22Acquire_CASPViii() {
+define void @_Z22Acquire_CASPViii() {
entry:
- call void %_Z14CASPViii( )
+ call void @_Z14CASPViii( )
unreachable
}
-declare void %_GLOBAL__I__ZN61FLAG__foo_int32_25FLAGS_E()
+declare void @_GLOBAL__I__ZN61FLAG__foo_int32_25FLAGS_E()
-declare void %_GLOBAL__I_eventbuf()
+declare void @_GLOBAL__I_eventbuf()
-void %_GLOBAL__I__ZN61FLAG__foo_int32_26FLAGS_E() {
+define void @_GLOBAL__I__ZN61FLAG__foo_int32_26FLAGS_E() {
entry:
- call void %_Z41__static_initialization_and_destruction_0ii1662( int 1, int 65535 )
+ call void @_Z41__static_initialization_and_destruction_0ii1662( i32 1, i32 65535 )
ret void
}
-void %_Z41__static_initialization_and_destruction_0ii1662(int %__initialize_p, int %__priority) {
+define void @_Z41__static_initialization_and_destruction_0ii1662(i32 %__initialize_p, i32 %__priority) {
entry:
- %__initialize_p_addr = alloca int ; <int*> [#uses=2]
- %__priority_addr = alloca int ; <int*> [#uses=2]
- store int %__initialize_p, int* %__initialize_p_addr
- store int %__priority, int* %__priority_addr
- %tmp = load int* %__priority_addr ; <int> [#uses=1]
- %tmp = seteq int %tmp, 65535 ; <bool> [#uses=1]
- br bool %tmp, label %cond_true, label %cond_next14
+ %__initialize_p_addr = alloca i32 ; <i32*> [#uses=2]
+ %__priority_addr = alloca i32 ; <i32*> [#uses=2]
+ store i32 %__initialize_p, i32* %__initialize_p_addr
+ store i32 %__priority, i32* %__priority_addr
+ %tmp = load i32* %__priority_addr ; <i32> [#uses=1]
+ %tmp.upgrd.1 = icmp eq i32 %tmp, 65535 ; <i1> [#uses=1]
+ br i1 %tmp.upgrd.1, label %cond_true, label %cond_next14
cond_true: ; preds = %entry
- %tmp8 = load int* %__initialize_p_addr ; <int> [#uses=1]
- %tmp9 = seteq int %tmp8, 1 ; <bool> [#uses=1]
- br bool %tmp9, label %cond_true10, label %cond_next14
+ %tmp8 = load i32* %__initialize_p_addr ; <i32> [#uses=1]
+ %tmp9 = icmp eq i32 %tmp8, 1 ; <i1> [#uses=1]
+ br i1 %tmp9, label %cond_true10, label %cond_next14
cond_true10: ; preds = %cond_true
- call void %_ZN14FlagRegistererIiEC1EPKcRK15FlagDescriptionIiE( )
+ call void @_ZN14FlagRegistererIiEC1EPKcRK15FlagDescriptionIiE( )
ret void
cond_next14: ; preds = %cond_true, %entry
ret void
}
-declare void %_GLOBAL__I__ZN62FLAG__foo_string_16FLAGS_E()
+declare void @_GLOBAL__I__ZN62FLAG__foo_string_16FLAGS_E()
-void %_ZN9__gnu_cxx13new_allocatorIPNS_15_Hashtable_nodeIjEEEC2Ev() {
+define void @_ZN9__gnu_cxx13new_allocatorIPNS_15_Hashtable_nodeIjEEEC2Ev() {
entry:
unreachable
}
-declare void %_GLOBAL__I__ZN17InitializerC2EPKcS1_PFvvE()
+declare void @_GLOBAL__I__ZN17InitializerC2EPKcS1_PFvvE()
-declare void %_GLOBAL__I__checker_bcad_variable()
+declare void @_GLOBAL__I__checker_bcad_variable()
diff --git a/test/Transforms/GlobalOpt/2006-11-01-ShrinkGlobalPhiCrash.ll b/test/Transforms/GlobalOpt/2006-11-01-ShrinkGlobalPhiCrash.ll
index cd76681a10..39be6c4041 100644
--- a/test/Transforms/GlobalOpt/2006-11-01-ShrinkGlobalPhiCrash.ll
+++ b/test/Transforms/GlobalOpt/2006-11-01-ShrinkGlobalPhiCrash.ll
@@ -1,33 +1,33 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -globalopt -disable-output
- %struct._list = type { int*, %struct._list* }
- %struct._play = type { int, int*, %struct._list*, %struct._play* }
-%nrow = internal global int 0 ; <int*> [#uses=2]
+; RUN: llvm-as < %s | opt -globalopt -disable-output
-implementation ; Functions:
+ %struct._list = type { i32*, %struct._list* }
+ %struct._play = type { i32, i32*, %struct._list*, %struct._play* }
+@nrow = internal global i32 0 ; <i32*> [#uses=2]
-void %make_play() {
+define void @make_play() {
entry:
- br label %cond_true16.i
+ br label %cond_true16.i
-cond_true16.i: ; preds = %cond_true16.i, %entry
- %low.0.in.i.0 = phi int* [ %nrow, %entry ], [ null, %cond_true16.i ] ; <int*> [#uses=1]
- %low.0.i = load int* %low.0.in.i.0 ; <int> [#uses=0]
- br label %cond_true16.i
+cond_true16.i: ; preds = %cond_true16.i, %entry
+ %low.0.in.i.0 = phi i32* [ @nrow, %entry ], [ null, %cond_true16.i ] ; <i32*> [#uses=1]
+ %low.0.i = load i32* %low.0.in.i.0 ; <i32> [#uses=0]
+ br label %cond_true16.i
}
-void %make_wanted() {
+define void @make_wanted() {
entry:
- unreachable
+ unreachable
}
-void %get_good_move() {
+define void @get_good_move() {
entry:
- ret void
+ ret void
}
-void %main() {
+define void @main() {
entry:
- store int 8, int* %nrow
- tail call void %make_play( )
- ret void
+ store i32 8, i32* @nrow
+ tail call void @make_play( )
+ ret void
}
+
diff --git a/test/Transforms/GlobalOpt/basictest.llx b/test/Transforms/GlobalOpt/basictest.llx
index 1f97fc03aa..1c3bdbbc49 100644
--- a/test/Transforms/GlobalOpt/basictest.llx
+++ b/test/Transforms/GlobalOpt/basictest.llx
@@ -1,9 +1,9 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -globalopt | llvm-dis | not grep global
+; RUN: llvm-as < %s | opt -globalopt | llvm-dis | not grep global
-%X = internal global int 4
+@X = internal global i32 4 ; <i32*> [#uses=1]
-
-int %foo() {
- %V = load int* %X
- ret int %V
+define i32 @foo() {
+ %V = load i32* @X ; <i32> [#uses=1]
+ ret i32 %V
}
+
diff --git a/test/Transforms/GlobalOpt/ctor-list-opt.ll b/test/Transforms/GlobalOpt/ctor-list-opt.ll
index 6270f4fabc..56aeadb386 100644
--- a/test/Transforms/GlobalOpt/ctor-list-opt.ll
+++ b/test/Transforms/GlobalOpt/ctor-list-opt.ll
@@ -1,97 +1,85 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -globalopt | llvm-dis | not grep CTOR
+; RUN: llvm-as < %s | opt -globalopt | llvm-dis | not grep CTOR
+@llvm.global_ctors = appending global [10 x { i32, void ()* }] [ { i32, void ()* } { i32 65535, void ()* @CTOR1 }, { i32, void ()* } { i32 65535, void ()* @CTOR1 }, { i32, void ()* } { i32 65535, void ()* @CTOR2 }, { i32, void ()* } { i32 65535, void ()* @CTOR3 }, { i32, void ()* } { i32 65535, void ()* @CTOR4 }, { i32, void ()* } { i32 65535, void ()* @CTOR5 }, { i32, void ()* } { i32 65535, void ()* @CTOR6 }, { i32, void ()* } { i32 65535, void ()* @CTOR7 }, { i32, void ()* } { i32 65535, void ()* @CTOR8 }, { i32, void ()* } { i32 2147483647, void ()* null } ] ; <[10 x { i32, void ()* }]*> [#uses=0]
+@G = global i32 0 ; <i32*> [#uses=1]
+@G2 = global i32 0 ; <i32*> [#uses=1]
+@G3 = global i32 -123 ; <i32*> [#uses=2]
+@X = global { i32, [2 x i32] } { i32 0, [2 x i32] [ i32 17, i32 21 ] } ; <{ i32, [2 x i32] }*> [#uses=2]
+@Y = global i32 -1 ; <i32*> [#uses=2]
+@Z = global i32 123 ; <i32*> [#uses=1]
+@D = global double 0.000000e+00 ; <double*> [#uses=1]
+@CTORGV = internal global i1 false ; <i1*> [#uses=2]
-%llvm.global_ctors = appending global [10 x { int, void ()* }] [
- { int, void ()* } { int 65535, void ()* %CTOR1 },
- { int, void ()* } { int 65535, void ()* %CTOR1 },
- { int, void ()* } { int 65535, void ()* %CTOR2 },
- { int, void ()* } { int 65535, void ()* %CTOR3 },
- { int, void ()* } { int 65535, void ()* %CTOR4 },
- { int, void ()* } { int 65535, void ()* %CTOR5 },
- { int, void ()* } { int 65535, void ()* %CTOR6 },
- { int, void ()* } { int 65535, void ()* %CTOR7 },
- { int, void ()* } { int 65535, void ()* %CTOR8 },
- { int, void ()* } { int 2147483647, void ()* null }
-]
-
-%G = global int 0
-%G2 = global int 0
-%G3 = global int -123
-%X = global {int, [2 x int]} { int 0, [2 x int] [ int 17, int 21] }
-%Y = global int -1
-%Z = global int 123
-%D = global double 0.0
-
-%CTORGV = internal global bool false ;; Should become constant after eval
-
-implementation
-
-internal void %CTOR1() { ;; noop ctor, remove.
- ret void
+define internal void @CTOR1() {
+ ret void
}
-internal void %CTOR2() { ;; evaluate the store
- %A = add int 1, 23
- store int %A, int* %G
- store bool true, bool* %CTORGV
- ret void
+define internal void @CTOR2() {
+ %A = add i32 1, 23 ; <i32> [#uses=1]
+ store i32 %A, i32* @G
+ store i1 true, i1* @CTORGV
+ ret void
}
-internal void %CTOR3() {
- %X = or bool true, false
+define internal void @CTOR3() {
+ %X = or i1 true, false ; <i1> [#uses=1]
br label %Cont
-Cont:
- br bool %X, label %S, label %T
-S:
- store int 24, int* %G2
+
+Cont: ; preds = %0
+ br i1 %X, label %S, label %T
+
+S: ; preds = %Cont
+ store i32 24, i32* @G2
ret void
-T:
+
+T: ; preds = %Cont
ret void
}
-internal void %CTOR4() {
- %X = load int* %G3
- %Y = add int %X, 123
- store int %Y, int* %G3
+define internal void @CTOR4() {
+ %X = load i32* @G3 ; <i32> [#uses=1]
+ %Y = add i32 %X, 123 ; <i32> [#uses=1]
+ store i32 %Y, i32* @G3
ret void
}
-internal void %CTOR5() {
- %X.2p = getelementptr {int,[2 x int]}* %X, int 0, uint 1, int 0
- %X.2 = load int* %X.2p
- %X.1p = getelementptr {int,[2 x int]}* %X, int 0, uint 0
- store int %X.2, int* %X.1p
- store int 42, int* %X.2p
+define internal void @CTOR5() {
+ %X.2p = getelementptr { i32, [2 x i32] }* @X, i32 0, i32 1, i32 0 ; <i32*> [#uses=2]
+ %X.2 = load i32* %X.2p ; <i32> [#uses=1]
+ %X.1p = getelementptr { i32, [2 x i32] }* @X, i32 0, i32 0 ; <i32*> [#uses=1]
+ store i32 %X.2, i32* %X.1p
+ store i32 42, i32* %X.2p
ret void
}
-internal void %CTOR6() {
- %A = alloca int
- %y = load int* %Y
- store int %y, int* %A
- %Av = load int* %A
- %Av1 = add int %Av, 1
- store int %Av1, int* %Y
+define internal void @CTOR6() {
+ %A = alloca i32 ; <i32*> [#uses=2]
+ %y = load i32* @Y ; <i32> [#uses=1]
+ store i32 %y, i32* %A
+ %Av = load i32* %A ; <i32> [#uses=1]
+ %Av1 = add i32 %Av, 1 ; <i32> [#uses=1]
+ store i32 %Av1, i32* @Y
ret void
}
-internal void %CTOR7() {
- call void %setto(int* %Z, int 0)
+define internal void @CTOR7() {
+ call void @setto( i32* @Z, i32 0 )
ret void
}
-void %setto(int* %P, int %V) {
- store int %V, int* %P
+define void @setto(i32* %P, i32 %V) {
+ store i32 %V, i32* %P
ret void
}
-declare double %cos(double)
+declare double @cos(double)
-internal void %CTOR8() {
- %X = call double %cos(double 1.0)
- store double %X, double* %D
+define internal void @CTOR8() {
+ %X = call double @cos( double 1.000000e+00 ) ; <double> [#uses=1]
+ store double %X, double* @D
ret void
}
-bool %accessor() {
- %V = load bool* %CTORGV ;; constant true
- ret bool %V
+
+define i1 @accessor() {
+ %V = load i1* @CTORGV ; <i1> [#uses=1]
+ ret i1 %V
}
diff --git a/test/Transforms/GlobalOpt/deadglobal.llx b/test/Transforms/GlobalOpt/deadglobal.llx
index a7397bf0fd..7a47b8ea30 100644
--- a/test/Transforms/GlobalOpt/deadglobal.llx
+++ b/test/Transforms/GlobalOpt/deadglobal.llx
@@ -1,8 +1,9 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -globalopt | llvm-dis | not grep internal
+; RUN: llvm-as < %s | opt -globalopt | llvm-dis | not grep internal
-%G = internal global int 123
+@G = internal global i32 123 ; <i32*> [#uses=1]
-void %foo() {
- store int 1, int* %G
- ret void
+define void @foo() {
+ store i32 1, i32* @G
+ ret void
}
+
diff --git a/test/Transforms/GlobalOpt/globalsra-partial.llx b/test/Transforms/GlobalOpt/globalsra-partial.llx
index e060565b11..e52e7feab1 100644
--- a/test/Transforms/GlobalOpt/globalsra-partial.llx
+++ b/test/Transforms/GlobalOpt/globalsra-partial.llx
@@ -1,23 +1,23 @@
; In this case, the global can only be broken up by one level.
-; RUN: llvm-upgrade < %s | llvm-as | opt -globalopt | llvm-dis | not grep 12345
+; RUN: llvm-as < %s | opt -globalopt | llvm-dis | not grep 12345
-%G = internal global { int, [4 x float] } zeroinitializer
+@G = internal global { i32, [4 x float] } zeroinitializer ; <{ i32, [4 x float] }*> [#uses=3]
-void %onlystore() {
- store int 12345, int* getelementptr ({ int, [4 x float] }* %G, int 0, uint 0)
- ret void
+define void @onlystore() {
+ store i32 12345, i32* getelementptr ({ i32, [4 x float] }* @G, i32 0, i32 0)
+ ret void
}
-void %storeinit(int %i) {
- %Ptr = getelementptr { int, [4 x float] }* %G, int 0, uint 1, int %i
- store float 1.0, float* %Ptr
- ret void
+define void @storeinit(i32 %i) {
+ %Ptr = getelementptr { i32, [4 x float] }* @G, i32 0, i32 1, i32 %i ; <float*> [#uses=1]
+ store float 1.000000e+00, float* %Ptr
+ ret void
}
-float %readval(int %i) {
- %Ptr = getelementptr { int, [4 x float] }* %G, int 0, uint 1, int %i
- %V = load float* %Ptr
- ret float %V
+define float @readval(i32 %i) {
+ %Ptr = getelementptr { i32, [4 x float] }* @G, i32 0, i32 1, i32 %i ; <float*> [#uses=1]
+ %V = load float* %Ptr ; <float> [#uses=1]
+ ret float %V
}
diff --git a/test/Transforms/GlobalOpt/globalsra.llx b/test/Transforms/GlobalOpt/globalsra.llx
index a87b954988..36235552ae 100644
--- a/test/Transforms/GlobalOpt/globalsra.llx
+++ b/test/Transforms/GlobalOpt/globalsra.llx
@@ -1,19 +1,23 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -globalopt | llvm-dis | not grep global
+; RUN: llvm-as < %s | opt -globalopt | llvm-dis | not grep global
-%G = internal global { int, float, {double} } { int 1, float 1.0, {double} {double 17.27} }
+@G = internal global { i32, float, { double } } {
+ i32 1,
+ float 1.000000e+00,
+ { double } { double 1.727000e+01 } } ; <{ i32, float, { double } }*> [#uses=3]
-void %onlystore() {
- store int 123, int* getelementptr ({ int, float, {double} }* %G, int 0, uint 0)
- ret void
+define void @onlystore() {
+ store i32 123, i32* getelementptr ({ i32, float, { double } }* @G, i32 0, i32 0)
+ ret void
}
-float %storeinit() {
- store float 1.0, float* getelementptr ({ int, float, {double} }* %G, int 0, uint 1)
- %X = load float* getelementptr ({ int, float, {double} }* %G, int 0, uint 1)
- ret float %X
+define float @storeinit() {
+ store float 1.000000e+00, float* getelementptr ({ i32, float, { double } }* @G, i32 0, i32 1)
+ %X = load float* getelementptr ({ i32, float, { double } }* @G, i32 0, i32 1) ; <float> [#uses=1]
+ ret float %X
}
-double %constantize() {
- %X = load double* getelementptr ({ int, float, {double} }* %G, int 0, uint 2, uint 0)
- ret double %X
+define double @constantize() {
+ %X = load double* getelementptr ({ i32, float, { double } }* @G, i32 0, i32 2, i32 0) ; <double> [#uses=1]
+ ret double %X
}
+
diff --git a/test/Transforms/GlobalOpt/integer-bool.ll b/test/Transforms/GlobalOpt/integer-bool.ll
index eef2f72206..9fbbe35761 100644
--- a/test/Transforms/GlobalOpt/integer-bool.ll
+++ b/test/Transforms/GlobalOpt/integer-bool.ll
@@ -1,23 +1,23 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -globalopt -instcombine | \
+; RUN: llvm-as < %s | opt -globalopt -instcombine | \
; RUN: llvm-dis | grep {ret i1 true}
;; check that global opt turns integers that only hold 0 or 1 into bools.
-%G = internal global int 0 ;; This only holds 0 or 1.
+@G = internal global i32 0 ; <i32*> [#uses=3]
-implementation
-
-void %set1() {
- store int 0, int* %G
- ret void
+define void @set1() {
+ store i32 0, i32* @G
+ ret void
}
-void %set2() {
- store int 1, int* %G
- ret void
+
+define void @set2() {
+ store i32 1, i32* @G
+ ret void
}
-bool %get() {
- %A = load int* %G
- %C = setlt int %A, 2 ;; always true
- ret bool %C
+define i1 @get() {
+ %A = load i32* @G ; <i32> [#uses=1]
+ %C = icmp slt i32 %A, 2 ; <i1> [#uses=1]
+ ret i1 %C
}
+
diff --git a/test/Transforms/GlobalOpt/iterate.llx b/test/Transforms/GlobalOpt/iterate.llx
index e4e59c63a4..d764c5d31b 100644
--- a/test/Transforms/GlobalOpt/iterate.llx
+++ b/test/Transforms/GlobalOpt/iterate.llx
@@ -1,10 +1,11 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -globalopt | llvm-dis | not grep %G
+; RUN: llvm-as < %s | opt -globalopt | llvm-dis | not grep %G
-%G = internal global int 0
-%H = internal global { int* } { int* %G }
+@G = internal global i32 0 ; <i32*> [#uses=1]
+@H = internal global { i32* } { i32* @G } ; <{ i32* }*> [#uses=1]
-int %loadg() {
- %G = load int** getelementptr ({int*}* %H, int 0, uint 0)
- %GV = load int* %G
- ret int %GV
+define i32 @loadg() {
+ %G = load i32** getelementptr ({ i32* }* @H, i32 0, i32 0) ; <i32*> [#uses=1]
+ %GV = load i32* %G ; <i32> [#uses=1]
+ ret i32 %GV
}
+
diff --git a/test/Transforms/GlobalOpt/load-store-global.llx b/test/Transforms/GlobalOpt/load-store-global.llx
index bf5d3a256a..d89d226395 100644
--- a/test/Transforms/GlobalOpt/load-store-global.llx
+++ b/test/Transforms/GlobalOpt/load-store-global.llx
@@ -1,14 +1,15 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -globalopt | llvm-dis | not grep G
+; RUN: llvm-as < %s | opt -globalopt | llvm-dis | not grep G
-%G = internal global int 17
+@G = internal global i32 17 ; <i32*> [#uses=3]
-void %foo() {
- %V = load int* %G
- store int %V, int* %G ;; Doesn't change the value
+define void @foo() {
+ %V = load i32* @G ; <i32> [#uses=1]
+ store i32 %V, i32* @G
ret void
}
-int %bar() {
- %X = load int* %G
- ret int %X
+
+define i32 @bar() {
+ %X = load i32* @G ; <i32> [#uses=1]
+ ret i32 %X
}
diff --git a/test/Transforms/GlobalOpt/malloc-promote-1.llx b/test/Transforms/GlobalOpt/malloc-promote-1.llx
index 068e96fc2c..fea4dbdd65 100644
--- a/test/Transforms/GlobalOpt/malloc-promote-1.llx
+++ b/test/Transforms/GlobalOpt/malloc-promote-1.llx
@@ -1,18 +1,18 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -globalopt | llvm-dis | not grep global
+; RUN: llvm-as < %s | opt -globalopt | llvm-dis | not grep global
-%G = internal global int* null
+@G = internal global i32* null ; <i32**> [#uses=3]
-void %init() {
- %P = malloc int
- store int* %P, int** %G
-
- %GV = load int** %G
- store int 0, int* %GV
- ret void
+define void @init() {
+ %P = malloc i32 ; <i32*> [#uses=1]
+ store i32* %P, i32** @G
+ %GV = load i32** @G ; <i32*> [#uses=1]
+ store i32 0, i32* %GV
+ ret void
}
-int %get() {
- %GV = load int** %G
- %V = load int* %GV
- ret int %V
+define i32 @get() {
+ %GV = load i32** @G ; <i32*> [#uses=1]
+ %V = load i32* %GV ; <i32> [#uses=1]
+ ret i32 %V
}
+
diff --git a/test/Transforms/GlobalOpt/malloc-promote-2.llx b/test/Transforms/GlobalOpt/malloc-promote-2.llx
index 12d4c6d5bb..1b33632954 100644
--- a/test/Transforms/GlobalOpt/malloc-promote-2.llx
+++ b/test/Transforms/GlobalOpt/malloc-promote-2.llx
@@ -1,20 +1,20 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -globalopt | llvm-dis | not grep malloc
+; RUN: llvm-as < %s | opt -globalopt | llvm-dis | not grep malloc
-%G = internal global int* null
+@G = internal global i32* null ; <i32**> [#uses=3]
-void %init() {
- %P = malloc int, uint 100
- store int* %P, int** %G
-
- %GV = load int** %G
- %GVe = getelementptr int* %GV, int 40
- store int 20, int* %GVe
- ret void
+define void @init() {
+ %P = malloc i32, i32 100 ; <i32*> [#uses=1]
+ store i32* %P, i32** @G
+ %GV = load i32** @G ; <i32*> [#uses=1]
+ %GVe = getelementptr i32* %GV, i32 40 ; <i32*> [#uses=1]
+ store i32 20, i32* %GVe
+ ret void
}
-int %get() {
- %GV = load int** %G
- %GVe = getelementptr int* %GV, int 40
- %V = load int* %GVe
- ret int %V
+define i32 @get() {
+ %GV = load i32** @G ; <i32*> [#uses=1]
+ %GVe = getelementptr i32* %GV, i32 40 ; <i32*> [#uses=1]
+ %V = load i32* %GVe ; <i32> [#uses=1]
+ ret i32 %V
}
+
diff --git a/test/Transforms/GlobalOpt/malloc-promote-3.llx b/test/Transforms/GlobalOpt/malloc-promote-3.llx
index 85ce6bdbc8..26ce8fd6f8 100644
--- a/test/Transforms/GlobalOpt/malloc-promote-3.llx
+++ b/test/Transforms/GlobalOpt/malloc-promote-3.llx
@@ -1,26 +1,26 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -globalopt | llvm-dis | not grep malloc
+; RUN: llvm-as < %s | opt -globalopt | llvm-dis | not grep malloc
-%G = internal global int* null
+@G = internal global i32* null ; <i32**> [#uses=4]
-void %init() {
- %P = malloc int, uint 100
- store int* %P, int** %G
-
- %GV = load int** %G
- %GVe = getelementptr int* %GV, int 40
- store int 20, int* %GVe
- ret void
+define void @init() {
+ %P = malloc i32, i32 100 ; <i32*> [#uses=1]
+ store i32* %P, i32** @G
+ %GV = load i32** @G ; <i32*> [#uses=1]
+ %GVe = getelementptr i32* %GV, i32 40 ; <i32*> [#uses=1]
+ store i32 20, i32* %GVe
+ ret void
}
-int %get() {
- %GV = load int** %G
- %GVe = getelementptr int* %GV, int 40
- %V = load int* %GVe
- ret int %V
+define i32 @get() {
+ %GV = load i32** @G ; <i32*> [#uses=1]
+ %GVe = getelementptr i32* %GV, i32 40 ; <i32*> [#uses=1]
+ %V = load i32* %GVe ; <i32> [#uses=1]
+ ret i32 %V
}
-bool %check() { ;; Return true if init has been called
- %GV = load int** %G
- %V = seteq int* %GV, null
- ret bool %V
+define i1 @check() {
+ %GV = load i32** @G ; <i32*> [#uses=1]
+ %V = icmp eq i32* %GV, null ; <i1> [#uses=1]
+ ret i1 %V
}
+
diff --git a/test/Transforms/GlobalOpt/memcpy.ll b/test/Transforms/GlobalOpt/memcpy.ll
index a110d40122..b51aedb13f 100644
--- a/test/Transforms/GlobalOpt/memcpy.ll
+++ b/test/Transforms/GlobalOpt/memcpy.ll
@@ -1,17 +1,15 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -globalopt | llvm-dis | \
+; RUN: llvm-as < %s | opt -globalopt | llvm-dis | \
; RUN: grep {G1 = internal constant}
-%G1 = internal global [58 x sbyte] c"asdlfkajsdlfkajsd;lfkajds;lfkjasd;flkajsd;lkfja;sdlkfjasd\00"
+@G1 = internal global [58 x i8] c"asdlfkajsdlfkajsd;lfkajds;lfkjasd;flkajsd;lkfja;sdlkfjasd\00" ; <[58 x i8]*> [#uses=1]
-implementation
+declare void @llvm.memcpy.i32(i8*, i8*, i32, i32)
-declare void %llvm.memcpy.i32(sbyte*, sbyte*, uint, uint)
-
-void %foo() {
- %Blah = alloca [58 x sbyte] ; <[58 x sbyte]*> [#uses=2]
- %tmp.0 = getelementptr [58 x sbyte]* %Blah, int 0, int 0 ; <sbyte*> [#uses=1]
- call void %llvm.memcpy.i32( sbyte* %tmp.0, sbyte* getelementptr ([58 x sbyte]* %G1, int 0, int 0), uint 58, uint 1 )
- ret void
+define void @foo() {
+ %Blah = alloca [58 x i8] ; <[58 x i8]*> [#uses=1]
+ %tmp.0 = getelementptr [58 x i8]* %Blah, i32 0, i32 0 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32( i8* %tmp.0, i8* getelementptr ([58 x i8]* @G1, i32 0, i32 0), i32 58, i32 1 )
+ ret void
}
diff --git a/test/Transforms/GlobalOpt/memset.ll b/test/Transforms/GlobalOpt/memset.ll
index 336a234e4d..0ee851f40a 100644
--- a/test/Transforms/GlobalOpt/memset.ll
+++ b/test/Transforms/GlobalOpt/memset.ll
@@ -1,23 +1,21 @@
; both globals are write only, delete them.
-; RUN: llvm-upgrade < %s | llvm-as | opt -globalopt | llvm-dis | \
+; RUN: llvm-as < %s | opt -globalopt | llvm-dis | \
; RUN: not grep internal
-%G0 = internal global [58 x sbyte] c"asdlfkajsdlfkajsd;lfkajds;lfkjasd;flkajsd;lkfja;sdlkfjasd\00"
+@G0 = internal global [58 x i8] c"asdlfkajsdlfkajsd;lfkajds;lfkjasd;flkajsd;lkfja;sdlkfjasd\00" ; <[58 x i8]*> [#uses=1]
+@G1 = internal global [4 x i32] [ i32 1, i32 2, i32 3, i32 4 ] ; <[4 x i32]*> [#uses=1]
-%G1 = internal global [4 x int] [ int 1, int 2, int 3, int 4]
+declare void @llvm.memcpy.i32(i8*, i8*, i32, i32)
-implementation ; Functions:
+declare void @llvm.memset.i32(i8*, i8, i32, i32)
-declare void %llvm.memcpy.i32(sbyte*, sbyte*, uint, uint)
-declare void %llvm.memset.i32(sbyte*, ubyte, uint, uint)
-
-void %foo() {
- %Blah = alloca [58 x sbyte] ; <[58 x sbyte]*> [#uses=2]
- %tmp3 = cast [58 x sbyte]* %Blah to sbyte*
- call void %llvm.memcpy.i32( sbyte* cast ([4 x int]* %G1 to sbyte*), sbyte* %tmp3, uint 16, uint 1)
- call void %llvm.memset.i32( sbyte* getelementptr ([58 x sbyte]* %G0, int 0, int 0), ubyte 17, uint 58, uint 1)
- ret void
+define void @foo() {
+ %Blah = alloca [58 x i8] ; <[58 x i8]*> [#uses=1]
+ %tmp3 = bitcast [58 x i8]* %Blah to i8* ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32( i8* bitcast ([4 x i32]* @G1 to i8*), i8* %tmp3, i32 16, i32 1 )
+ call void @llvm.memset.i32( i8* getelementptr ([58 x i8]* @G0, i32 0, i32 0), i8 17, i32 58, i32 1 )
+ ret void
}
diff --git a/test/Transforms/GlobalOpt/phi-select.llx b/test/Transforms/GlobalOpt/phi-select.llx
index 2389c0a8bc..da1314f761 100644
--- a/test/Transforms/GlobalOpt/phi-select.llx
+++ b/test/Transforms/GlobalOpt/phi-select.llx
@@ -1,26 +1,28 @@
; Test that PHI nodes and select instructions do not necessarily make stuff
; non-constant.
-; RUN: llvm-upgrade < %s | llvm-as | opt -globalopt | llvm-dis | not grep global
+; RUN: llvm-as < %s | opt -globalopt | llvm-dis | not grep global
-%X = internal global int 4
-%Y = internal global int 5
+@X = internal global i32 4 ; <i32*> [#uses=2]
+@Y = internal global i32 5 ; <i32*> [#uses=2]
-int %test1(bool %C) {
- %P = select bool %C, int* %X, int* %Y
- %V = load int* %P
- ret int %V
+define i32 @test1(i1 %C) {
+ %P = select i1 %C, i32* @X, i32* @Y ; <i32*> [#uses=1]
+ %V = load i32* %P ; <i32> [#uses=1]
+ ret i32 %V
}
+define i32 @test2(i1 %C) {
+; <label>:0
+ br i1 %C, label %T, label %Cont
-int %test2(bool %C) {
- br bool %C, label %T, label %Cont
-T:
- br label %Cont
-Cont:
- %P = phi int* [%X, %0], [%Y, %T]
- %V = load int* %P
- ret int %V
+T: ; preds = %0
+ br label %Cont
+
+Cont: ; preds = %T, %0
+ %P = phi i32* [ @X, %0 ], [ @Y, %T ] ; <i32*> [#uses=1]
+ %V = load i32* %P ; <i32> [#uses=1]
+ ret i32 %V
}
diff --git a/test/Transforms/GlobalOpt/storepointer-compare.llx b/test/Transforms/GlobalOpt/storepointer-compare.llx
index d85d97d5a7..86eff51725 100644
--- a/test/Transforms/GlobalOpt/storepointer-compare.llx
+++ b/test/Transforms/GlobalOpt/storepointer-compare.llx
@@ -1,29 +1,30 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -globalopt | llvm-dis | \
+; RUN: llvm-as < %s | opt -globalopt | llvm-dis | \
; RUN: grep {call void @Actual}
; Check that a comparison does not prevent an indirect call from being made
; direct. The global will still remain, but indirect call elim is still good.
-%G = internal global void ()* null
+@G = internal global void ()* null ; <void ()**> [#uses=2]
-implementation
-
-internal void %Actual() {
- ret void
+define internal void @Actual() {
+ ret void
}
-void %init() {
- store void()* %Actual, void()** %G
- ret void
+define void @init() {
+ store void ()* @Actual, void ()** @G
+ ret void
}
-void %doit() {
- %FP = load void()** %G
- %CC = seteq void()* %FP, null
- br bool %CC, label %isNull, label %DoCall
-DoCall:
- call void %FP()
- ret void
-isNull:
- ret void
+define void @doit() {
+ %FP = load void ()** @G ; <void ()*> [#uses=2]
+ %CC = icmp eq void ()* %FP, null ; <i1> [#uses=1]
+ br i1 %CC, label %isNull, label %DoCall
+
+DoCall: ; preds = %0
+ call void %FP( )
+ ret void
+
+isNull: ; preds = %0
+ ret void
}
+
diff --git a/test/Transforms/GlobalOpt/storepointer.llx b/test/Transforms/GlobalOpt/storepointer.llx
index a424d255bd..d57a6ac4fa 100644
--- a/test/Transforms/GlobalOpt/storepointer.llx
+++ b/test/Transforms/GlobalOpt/storepointer.llx
@@ -1,20 +1,19 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -globalopt | llvm-dis | not grep global
+; RUN: llvm-as < %s | opt -globalopt | llvm-dis | not grep global
-%G = internal global void ()* null
+@G = internal global void ()* null ; <void ()**> [#uses=2]
-implementation
-
-internal void %Actual() {
- ret void
+define internal void @Actual() {
+ ret void
}
-void %init() {
- store void()* %Actual, void()** %G
- ret void
+define void @init() {
+ store void ()* @Actual, void ()** @G
+ ret void
}
-void %doit() {
- %FP = load void()** %G
- call void %FP()
- ret void
+define void @doit() {
+ %FP = load void ()** @G ; <void ()*> [#uses=1]
+ call void %FP( )
+ ret void
}
+
diff --git a/test/Transforms/GlobalOpt/trivialstore.llx b/test/Transforms/GlobalOpt/trivialstore.llx
index 8b1f1ce525..a662565cd2 100644
--- a/test/Transforms/GlobalOpt/trivialstore.llx
+++ b/test/Transforms/GlobalOpt/trivialstore.llx
@@ -1,17 +1,19 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -globalopt | llvm-dis | not grep G
+; RUN: llvm-as < %s | opt -globalopt | llvm-dis | not grep G
-%G = internal global int 17
+@G = internal global i32 17 ; <i32*> [#uses=3]
-void %foo() {
- store int 17, int* %G ;; Doesn't change the value
- ret void
+define void @foo() {
+ store i32 17, i32* @G
+ ret void
}
-int %bar() {
- %X = load int* %G
- ret int %X
+
+define i32 @bar() {
+ %X = load i32* @G ; <i32> [#uses=1]
+ ret i32 %X
}
-internal void %dead() {
- store int 123, int* %G
- ret void
+define internal void @dead() {
+ store i32 123, i32* @G
+ ret void
}
+
diff --git a/test/Transforms/GlobalOpt/undef-init.llx b/test/Transforms/GlobalOpt/undef-init.llx
index 2f073c2ff0..bb483fc376 100644
--- a/test/Transforms/GlobalOpt/undef-init.llx
+++ b/test/Transforms/GlobalOpt/undef-init.llx
@@ -1,18 +1,17 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -globalopt | llvm-dis | not grep store
+; RUN: llvm-as < %s | opt -globalopt | llvm-dis | not grep store
-%llvm.global_ctors = appending global [1 x { int, void ()* }] [ { int, void ()* } { int 65535, void ()* %_GLOBAL__I__Z3foov } ] ; <[1 x { int, void ()* }]*> [#uses=0]
-%X.0 = internal global int undef ; <int*> [#uses=2]
+@llvm.global_ctors = appending global [1 x { i32, void ()* }] [ { i32, void ()* } { i32 65535, void ()* @_GLOBAL__I__Z3foov } ] ; <[1 x { i32, void ()* }]*> [#uses=0]
+@X.0 = internal global i32 undef ; <i32*> [#uses=2]
-implementation ; Functions:
-
-int %_Z3foov() {
+define i32 @_Z3foov() {
entry:
- %tmp.1 = load int* %X.0 ; <int> [#uses=1]
- ret int %tmp.1
+ %tmp.1 = load i32* @X.0 ; <i32> [#uses=1]
+ ret i32 %tmp.1
}
-internal void %_GLOBAL__I__Z3foov() {
+define internal void @_GLOBAL__I__Z3foov() {
entry:
- store int 1, int* %X.0
- ret void
+ store i32 1, i32* @X.0
+ ret void
}
+
diff --git a/test/Transforms/IPConstantProp/deadarg.ll b/test/Transforms/IPConstantProp/deadarg.ll
index 5e41ade2b6..18b8f7da84 100644
--- a/test/Transforms/IPConstantProp/deadarg.ll
+++ b/test/Transforms/IPConstantProp/deadarg.ll
@@ -1,7 +1,6 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -ipconstprop -disable-output
-implementation
-
-internal void %foo(int %X) {
- call void %foo(int %X)
- ret void
+; RUN: llvm-as < %s | opt -ipconstprop -disable-output
+define internal void @foo(i32 %X) {
+ call void @foo( i32 %X )
+ ret void
}
+
diff --git a/test/Transforms/IPConstantProp/recursion.ll b/test/Transforms/IPConstantProp/recursion.ll
index 10f18e591c..27c381af3a 100644
--- a/test/Transforms/IPConstantProp/recursion.ll
+++ b/test/Transforms/IPConstantProp/recursion.ll
@@ -1,14 +1,12 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -ipconstprop -deadargelim | llvm-dis | not grep %X
-
-implementation
-
-internal int %foo(int %X) {
- %Y = call int %foo( int %X )
- %Z = add int %Y, 1
- ret int %Z
+; RUN: llvm-as < %s | opt -ipconstprop -deadargelim | llvm-dis | not grep %X
+define internal i32 @foo(i32 %X) {
+ %Y = call i32 @foo( i32 %X ) ; <i32> [#uses=1]
+ %Z = add i32 %Y, 1 ; <i32> [#uses=1]
+ ret i32 %Z
}
-void %bar() {
- call int %foo( int 17 ) ; <int>:0 [#uses=0]
+define void @bar() {
+ call i32 @foo( i32 17 ) ; <i32>:1 [#uses=0]
ret void
}
+
diff --git a/test/Transforms/IPConstantProp/return-constant.ll b/test/Transforms/IPConstantProp/return-constant.ll
index 36cd493fc1..82ad902f42 100644
--- a/test/Transforms/IPConstantProp/return-constant.ll
+++ b/test/Transforms/IPConstantProp/return-constant.ll
@@ -1,17 +1,18 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -ipconstprop -instcombine | \
+; RUN: llvm-as < %s | opt -ipconstprop -instcombine | \
; RUN: llvm-dis | grep {ret i1 true}
-implementation
+define internal i32 @foo(i1 %C) {
+ br i1 %C, label %T, label %F
-internal int %foo(bool %C) {
- br bool %C, label %T, label %F
-T:
- ret int 52
-F:
- ret int 52
+T: ; preds = %0
+ ret i32 52
+
+F: ; preds = %0
+ ret i32 52
}
-bool %caller(bool %C) {
- %X = call int %foo(bool %C)
- %Y = setne int %X, 0
- ret bool %Y
+define i1 @caller(i1 %C) {
+ %X = call i32 @foo( i1 %C ) ; <i32> [#uses=1]
+ %Y = icmp ne i32 %X, 0 ; <i1> [#uses=1]
+ ret i1 %Y
}
+
diff --git a/test/Transforms/IndVarsSimplify/2002-09-09-PointerIndVar.ll b/test/Transforms/IndVarsSimplify/2002-09-09-PointerIndVar.ll
index 4c80e4851f..228772eb82 100644
--- a/test/Transforms/IndVarsSimplify/2002-09-09-PointerIndVar.ll
+++ b/test/Transforms/IndVarsSimplify/2002-09-09-PointerIndVar.ll
@@ -1,16 +1,17 @@
; Induction variable pass is doing bad things with pointer induction vars,
; trying to do arithmetic on them directly.
;
-; RUN: llvm-upgrade < %s | llvm-as | opt -indvars
+; RUN: llvm-as < %s | opt -indvars
;
-void %test(int %A, uint %S, sbyte* %S) {
+define void @test(i32 %A, i32 %S, i8* %S.upgrd.1) {
+; <label>:0
+ br label %Loop
- br label %Loop
-Loop:
- %PIV = phi sbyte* [%S, %0], [%PIVNext, %Loop]
-
- %PIV = cast sbyte* %PIV to ulong
- %PIVNext = add ulong %PIV, 8
- %PIVNext = cast ulong %PIVNext to sbyte*
- br label %Loop
+Loop: ; preds = %Loop, %0
+ %PIV = phi i8* [ %S.upgrd.1, %0 ], [ %PIVNext.upgrd.3, %Loop ] ; <i8*> [#uses=1]
+ %PIV.upgrd.2 = ptrtoint i8* %PIV to i64 ; <i64> [#uses=1]
+ %PIVNext = add i64 %PIV.upgrd.2, 8 ; <i64> [#uses=1]
+ %PIVNext.upgrd.3 = inttoptr i64 %PIVNext to i8* ; <i8*> [#uses=1]
+ br label %Loop
}
+
diff --git a/test/Transforms/IndVarsSimplify/2003-04-16-ExprAnalysis.ll b/test/Transforms/IndVarsSimplify/2003-04-16-ExprAnalysis.ll
index 2f198255eb..2487ea95e2 100644
--- a/test/Transforms/IndVarsSimplify/2003-04-16-ExprAnalysis.ll
+++ b/test/Transforms/IndVarsSimplify/2003-04-16-ExprAnalysis.ll
@@ -1,14 +1,17 @@
; This is a test case for the expression analysis code, not really indvars.
; It was assuming any constant of int type was a ConstantInteger.
;
-; RUN: llvm-upgrade < %s | llvm-as | opt -indvars
+; RUN: llvm-as < %s | opt -indvars
-%X = global int 7
+@X = global i32 7 ; <i32*> [#uses=1]
-void %test(int %A) {
+define void @test(i32 %A) {
+; <label>:0
br label %Loop
-Loop:
- %IV = phi int [%A, %0], [%IVNext, %Loop]
- %IVNext = add int %IV, cast (int* %X to int)
+
+Loop: ; preds = %Loop, %0
+ %IV = phi i32 [ %A, %0 ], [ %IVNext, %Loop ] ; <i32> [#uses=1]
+ %IVNext = add i32 %IV, ptrtoint (i32* @X to i32) ; <i32> [#uses=1]
br label %Loop
}
+
diff --git a/test/Transforms/IndVarsSimplify/2003-09-12-MultiplePred.ll b/test/Transforms/IndVarsSimplify/2003-09-12-MultiplePred.ll
index ea1e585490..96190991f7 100644
--- a/test/Transforms/IndVarsSimplify/2003-09-12-MultiplePred.ll
+++ b/test/Transforms/IndVarsSimplify/2003-09-12-MultiplePred.ll
@@ -1,12 +1,15 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -indvars | llvm-dis | grep indvar
+; RUN: llvm-as < %s | opt -indvars | llvm-dis | grep indvar
-int %test() {
- br bool true, label %LoopHead, label %LoopHead
+define i32 @test() {
+; <label>:0
+ br i1 true, label %LoopHead, label %LoopHead
-LoopHead:
- %A = phi int [7, %0], [7, %0], [%B, %LoopHead]
- %B = add int %A, 1
- br bool false, label %LoopHead, label %Out
-Out:
- ret int %B
+LoopHead: ; preds = %LoopHead, %0, %0
+ %A = phi i32 [ 7, %0 ], [ 7, %0 ], [ %B, %LoopHead ] ; <i32> [#uses=1]
+ %B = add i32 %A, 1 ; <i32> [#uses=2]
+ br i1 false, label %LoopHead, label %Out
+
+Out: ; preds = %LoopHead
+ ret i32 %B
}
+
diff --git a/test/Transforms/IndVarsSimplify/2003-09-23-NotAtTop.ll b/test/Transforms/IndVarsSimplify/2003-09-23-NotAtTop.ll
index d715f688f1..da22cf2e51 100644
--- a/test/Transforms/IndVarsSimplify/2003-09-23-NotAtTop.ll
+++ b/test/Transforms/IndVarsSimplify/2003-09-23-NotAtTop.ll
@@ -1,16 +1,17 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -indvars | llvm-dis | %prcontext Loop: 1 | grep %indvar
+; RUN: llvm-as < %s | opt -indvars | llvm-dis | %prcontext Loop: 1 | grep %indvar
; The indvar simplification code should ensure that the first PHI in the block
; is the canonical one!
-int %test() {
- br label %Loop
-Loop:
- %NonIndvar = phi int [200, %0], [%NonIndvarNext, %Loop]
- %Canonical = phi int [0, %0], [%CanonicalNext, %Loop]
+define i32 @test() {
+; <label>:0
+ br label %Loop
- %NonIndvarNext = div int %NonIndvar, 2
- %CanonicalNext = add int %Canonical, 1
- br label %Loop
+Loop: ; preds = %Loop, %0
+ %NonIndvar = phi i32 [ 200, %0 ], [ %NonIndvarNext, %Loop ] ; <i32> [#uses=1]
+ %Canonical = phi i32 [ 0, %0 ], [ %CanonicalNext, %Loop ] ; <i32> [#uses=1]
+ %NonIndvarNext = sdiv i32 %NonIndvar, 2 ; <i32> [#uses=1]
+ %CanonicalNext = add i32 %Canonical, 1 ; <i32> [#uses=1]
+ br label %Loop
}
diff --git a/test/Transforms/IndVarsSimplify/2003-12-10-IndVarDeadCode.ll b/test/Transforms/IndVarsSimplify/2003-12-10-IndVarDeadCode.ll
index ba679892b6..bd9d1ef5cb 100644
--- a/test/Transforms/IndVarsSimplify/2003-12-10-IndVarDeadCode.ll
+++ b/test/Transforms/IndVarsSimplify/2003-12-10-IndVarDeadCode.ll
@@ -1,24 +1,25 @@
; The induction variable canonicalization pass shouldn't leave dead
; instructions laying around!
;
-; RUN: llvm-upgrade < %s | llvm-as | opt -indvars | llvm-dis | \
+; RUN: llvm-as < %s | opt -indvars | llvm-dis | \
; RUN: not grep {#uses=0}
-int %mul(int %x, int %y) {
+define i32 @mul(i32 %x, i32 %y) {
entry:
- br label %tailrecurse
+ br label %tailrecurse
-tailrecurse: ; preds = %entry, %endif
- %accumulator.tr = phi int [ %x, %entry ], [ %tmp.9, %endif ] ; <int> [#uses=2]
- %y.tr = phi int [ %y, %entry ], [ %tmp.8, %endif ] ; <int> [#uses=2]
- %tmp.1 = seteq int %y.tr, 0 ; <bool> [#uses=1]
- br bool %tmp.1, label %return, label %endif
+tailrecurse: ; preds = %endif, %entry
+ %accumulator.tr = phi i32 [ %x, %entry ], [ %tmp.9, %endif ] ; <i32> [#uses=2]
+ %y.tr = phi i32 [ %y, %entry ], [ %tmp.8, %endif ] ; <i32> [#uses=2]
+ %tmp.1 = icmp eq i32 %y.tr, 0 ; <i1> [#uses=1]
+ br i1 %tmp.1, label %return, label %endif
-endif: ; preds = %tailrecurse
- %tmp.8 = add int %y.tr, -1 ; <int> [#uses=1]
- %tmp.9 = add int %accumulator.tr, %x ; <int> [#uses=1]
- br label %tailrecurse
+endif: ; preds = %tailrecurse
+ %tmp.8 = add i32 %y.tr, -1 ; <i32> [#uses=1]
+ %tmp.9 = add i32 %accumulator.tr, %x ; <i32> [#uses=1]
+ br label %tailrecurse
-return: ; preds = %tailrecurse
- ret int %accumulator.tr
+return: ; preds = %tailrecurse
+ ret i32 %accumulator.tr
}
+
diff --git a/test/Transforms/IndVarsSimplify/2003-12-10-RemoveInstrCrash.llx b/test/Transforms/IndVarsSimplify/2003-12-10-RemoveInstrCrash.llx
index 09d384ebb9..11af997e83 100644
--- a/test/Transforms/IndVarsSimplify/2003-12-10-RemoveInstrCrash.llx
+++ b/test/Transforms/IndVarsSimplify/2003-12-10-RemoveInstrCrash.llx
@@ -1,17 +1,18 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -indvars -disable-output
+; RUN: llvm-as < %s | opt -indvars -disable-output
-void %test() {
+define void @test() {
entry:
- %inc.2 = add int 1, 1 ; <int> [#uses=1]
- br bool false, label %no_exit, label %loopexit
+ %inc.2 = add i32 1, 1 ; <i32> [#uses=1]
+ br i1 false, label %no_exit, label %loopexit
-no_exit: ; preds = %entry, %no_exit
- %j.0.pn = phi int [ %inc.3, %no_exit ], [ %inc.2, %entry ] ; <int> [#uses=1]
- %k.0.pn = phi int [ %inc.4, %no_exit ], [ 1, %entry ] ; <int> [#uses=1]
- %inc.3 = add int %j.0.pn, 1 ; <int> [#uses=1]
- %inc.4 = add int %k.0.pn, 1 ; <int> [#uses=1]
- br bool false, label %no_exit, label %loopexit
+no_exit: ; preds = %no_exit, %entry
+ %j.0.pn = phi i32 [ %inc.3, %no_exit ], [ %inc.2, %entry ] ; <i32> [#uses=1]
+ %k.0.pn = phi i32 [ %inc.4, %no_exit ], [ 1, %entry ] ; <i32> [#uses=1]
+ %inc.3 = add i32 %j.0.pn, 1 ; <i32> [#uses=1]
+ %inc.4 = add i32 %k.0.pn, 1 ; <i32> [#uses=1]
+ br i1 false, label %no_exit, label %loopexit
-loopexit: ; preds = %entry, %no_exit
- ret void
+loopexit: ; preds = %no_exit, %entry
+ ret void
}
+
diff --git a/test/Transforms/IndVarsSimplify/2003-12-15-Crash.llx b/test/Transforms/IndVarsSimplify/2003-12-15-Crash.llx
index 372472811e..b964d78d69 100644
--- a/test/Transforms/IndVarsSimplify/2003-12-15-Crash.llx
+++ b/test/Transforms/IndVarsSimplify/2003-12-15-Crash.llx
@@ -1,23 +1,24 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -indvars -disable-output
-void %_ZN17CoinFactorization7cleanupEv() {
+; RUN: llvm-as < %s | opt -indvars -disable-output
+define void @_ZN17CoinFactorization7cleanupEv() {
entry:
- br bool false, label %loopexit.14, label %cond_continue.3
+ br i1 false, label %loopexit.14, label %cond_continue.3
-cond_continue.3: ; preds = %entry
- ret void
+cond_continue.3: ; preds = %entry
+ ret void
-loopexit.14: ; preds = %entry
- %tmp.738 = sub int 0, 0 ; <int> [#uses=1]
- br bool false, label %no_exit.15.preheader, label %loopexit.15
+loopexit.14: ; preds = %entry
+ %tmp.738 = sub i32 0, 0 ; <i32> [#uses=1]
+ br i1 false, label %no_exit.15.preheader, label %loopexit.15
-no_exit.15.preheader: ; preds = %loopexit.14
- br label %no_exit.15
+no_exit.15.preheader: ; preds = %loopexit.14
+ br label %no_exit.15
-no_exit.15: ; preds = %no_exit.15.preheader, %no_exit.15
- %highC.0 = phi int [ %tmp.738, %no_exit.15.preheader ], [ %dec.0, %no_exit.15 ] ; <int> [#uses=1]
- %dec.0 = add int %highC.0, -1 ; <int> [#uses=1]
- br bool false, label %no_exit.15, label %loopexit.15
+no_exit.15: ; preds = %no_exit.15, %no_exit.15.preheader
+ %highC.0 = phi i32 [ %tmp.738, %no_exit.15.preheader ], [ %dec.0, %no_exit.15 ] ; <i32> [#uses=1]
+ %dec.0 = add i32 %highC.0, -1 ; <i32> [#uses=1]
+ br i1 false, label %no_exit.15, label %loopexit.15
-loopexit.15: ; preds = %loopexit.14, %no_exit.15
- ret void
+loopexit.15: ; preds = %no_exit.15, %loopexit.14
+ ret void
}
+
diff --git a/test/Transforms/IndVarsSimplify/2003-12-21-IndVarSize.ll b/test/Transforms/IndVarsSimplify/2003-12-21-IndVarSize.ll
index 26fecf45ee..a0ddd418f2 100644
--- a/test/Transforms/IndVarsSimplify/2003-12-21-IndVarSize.ll
+++ b/test/Transforms/IndVarsSimplify/2003-12-21-IndVarSize.ll
@@ -1,12 +1,15 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -indvars | llvm-dis | grep indvar | not grep uint
+; RUN: llvm-as < %s | opt -indvars | llvm-dis | grep indvar | not grep uint
-%G = global long 0
+@G = global i64 0 ; <i64*> [#uses=1]
-void %test() {
- br label %Loop
-Loop:
- %X = phi long [1, %0], [%X.next, %Loop]
- %X.next = add long %X, 1
- store long %X, long* %G
- br label %Loop
+define void @test() {
+; <label>:0
+ br label %Loop
+
+Loop: ; preds = %Loop, %0
+ %X = phi i64 [ 1, %0 ], [ %X.next, %Loop ] ; <i64> [#uses=2]
+ %X.next = add i64 %X, 1 ; <i64> [#uses=1]
+ store i64 %X, i64* @G
+ br label %Loop
}
+
diff --git a/test/Transforms/IndVarsSimplify/2004-03-10-PHIInsertionBug.ll b/test/Transforms/IndVarsSimplify/2004-03-10-PHIInsertionBug.ll
index 88c393ea39..248b29b32d 100644
--- a/test/Transforms/IndVarsSimplify/2004-03-10-PHIInsertionBug.ll
+++ b/test/Transforms/IndVarsSimplify/2004-03-10-PHIInsertionBug.ll
@@ -1,27 +1,26 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -indvars -disable-output
+; RUN: llvm-as < %s | opt -indvars -disable-output
-implementation ; Functions:
-
-void %test() {
+define void @test() {
br label %endif.0.i
-endif.0.i: ; preds = %then.0.i
- br bool false, label %then.3.i, label %endif.3.i
+endif.0.i: ; preds = %0
+ br i1 false, label %then.3.i, label %endif.3.i
-then.3.i: ; preds = %endif.0.i
- br label %endif.3.i
+then.3.i: ; preds = %endif.0.i
+ br label %endif.3.i
-endif.3.i: ; preds = %endif.0.i, %then.3.i
- %inxm.0.i = phi int [ 8, %then.3.i ], [ 0, %endif.0.i ]
- %doinner.1.i = phi int [ 0, %then.3.i ], [ 0, %endif.0.i ]
- br label %loopentry.2.i
+endif.3.i: ; preds = %then.3.i, %endif.0.i
+ %inxm.0.i = phi i32 [ 8, %then.3.i ], [ 0, %endif.0.i ] ; <i32> [#uses=1]
+ %doinner.1.i = phi i32 [ 0, %then.3.i ], [ 0, %endif.0.i ] ; <i32> [#uses=0]
+ br label %loopentry.2.i
-loopentry.2.i: ; preds = %endif.3.i, %no_exit.2.i
- %inxk.0.i = phi int [ %tmp.210.i, %no_exit.2.i ], [ 0, %endif.3.i ]
- br label %no_exit.2.i
+loopentry.2.i: ; preds = %no_exit.2.i, %endif.3.i
+ %inxk.0.i = phi i32 [ %tmp.210.i, %no_exit.2.i ], [ 0, %endif.3.i ] ; <i32> [#uses=1]
+ br label %no_exit.2.i
-no_exit.2.i: ; preds = %loopentry.2.i
- %tmp.210.i = sub int %inxk.0.i, %inxm.0.i
- %tmp.213.i = add int %tmp.210.i, 0
- br label %loopentry.2.i
+no_exit.2.i: ; preds = %loopentry.2.i
+ %tmp.210.i = sub i32 %inxk.0.i, %inxm.0.i ; <i32> [#uses=2]
+ %tmp.213.i = add i32 %tmp.210.i, 0 ; <i32> [#uses=0]
+ br label %loopentry.2.i
}
+
diff --git a/test/Transforms/IndVarsSimplify/2004-04-05-InvokeCastCrash.llx b/test/Transforms/IndVarsSimplify/2004-04-05-InvokeCastCrash.llx
index c0d841024c..6933ee7496 100644
--- a/test/Transforms/IndVarsSimplify/2004-04-05-InvokeCastCrash.llx
+++ b/test/Transforms/IndVarsSimplify/2004-04-05-InvokeCastCrash.llx
@@ -1,286 +1,283 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -indvars -disable-output
-
- %struct.__false_type = type { ubyte }
- "struct.__gnu_cxx::_Hashtable_node<const llvm::Constant*>" = type { "struct.__gnu_cxx::_Hashtable_node<const llvm::Constant*>"*, "struct.llvm::Constant"* }
- "struct.__gnu_cxx::_Hashtable_node<std::pair<const llvm::Value* const, int> >" = type { "struct.__gnu_cxx::_Hashtable_node<std::pair<const llvm::Value* const, int> >"*, "struct.std::pair<const llvm::Value* const,int>" }
- "struct.__gnu_cxx::hash_map<const llvm::Value*,int,__gnu_cxx::hash<const llvm::Value*>,std::equal_to<const llvm::Value*>,std::allocator<int> >" = type { "struct.__gnu_cxx::hashtable<std::pair<const llvm::Value* const, int>,const llvm::Value*,__gnu_cxx::hash<const llvm::Value*>,std::_Select1st<std::pair<const llvm::Value* const, int> >,std::equal_to<const llvm::Value*>,std::allocator<int> >" }
- "struct.__gnu_cxx::hash_set<const llvm::Constant*,__gnu_cxx::hash<const llvm::Constant*>,std::equal_to<const llvm::Constant*>,std::allocator<const llvm::Constant*> >" = type { "struct.__gnu_cxx::hashtable<const llvm::Constant*,const llvm::Constant*,__gnu_cxx::hash<const llvm::Constant*>,std::_Identity<const llvm::Constant*>,std::equal_to<const llvm::Constant*>,std::allocator<const llvm::Constant*> >" }
- "struct.__gnu_cxx::hashtable<const llvm::Constant*,const llvm::Constant*,__gnu_cxx::hash<const llvm::Constant*>,std::_Identity<const llvm::Constant*>,std::equal_to<const llvm::Constant*>,std::allocator<const llvm::Constant*> >" = type { %struct.__false_type, %struct.__false_type, %struct.__false_type, %struct.__false_type, "struct.std::vector<__gnu_cxx::_Hashtable_node<const llvm::Constant*>*,std::allocator<const llvm::Constant*> >", uint }
- "struct.__gnu_cxx::hashtable<std::pair<const llvm::Value* const, int>,const llvm::Value*,__gnu_cxx::hash<const llvm::Value*>,std::_Select1st<std::pair<const llvm::Value* const, int> >,std::equal_to<const llvm::Value*>,std::allocator<int> >" = type { %struct.__false_type, %struct.__false_type, %struct.__false_type, %struct.__false_type, "struct.std::vector<__gnu_cxx::_Hashtable_node<std::pair<const llvm::Value* const, int> >*,std::allocator<int> >", 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<llvm::Instruction,llvm::ilist_traits<llvm::Instruction> >", "struct.llvm::BasicBlock"*, "struct.llvm::BasicBlock"* }
- "struct.llvm::Constant" = type opaque
- "struct.llvm::DerivedType" = type { "struct.llvm::Type", "struct.llvm::AbstractTypeUser", "struct.std::vector<llvm::AbstractTypeUser*,std::allocator<llvm::AbstractTypeUser*> >" }
- "struct.llvm::Function" = type { "struct.llvm::GlobalValue", "struct.llvm::Annotable", "struct.llvm::iplist<llvm::BasicBlock,llvm::ilist_traits<llvm::BasicBlock> >", "struct.llvm::iplist<llvm::Argument,llvm::ilist_traits<llvm::Argument> >", "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<llvm::MachineInstr>", "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<llvm::MachineBasicBlock,llvm::ilist_traits<llvm::MachineBasicBlock> >", "struct.llvm::SSARegMap"*, "struct.llvm::MachineFunctionInfo"*, "struct.llvm::MachineFrameInfo"*, "struct.llvm::MachineConstantPool"* }
- "struct.llvm::MachineFunctionInfo" = type { "struct.__gnu_cxx::hash_set<const llvm::Constant*,__gnu_cxx::hash<const llvm::Constant*>,std::equal_to<const llvm::Constant*>,std::allocator<const llvm::Constant*> >", "struct.__gnu_cxx::hash_map<const llvm::Value*,int,__gnu_cxx::hash<const llvm::Value*>,std::equal_to<const llvm::Value*>,std::allocator<int> >", 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<llvm::MachineOperand,std::allocator<llvm::MachineOperand> >", "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::pair<const llvm::PassInfo*, llvm::Pass*>,std::allocator<std::pair<const llvm::PassInfo*, llvm::Pass*> > >" }
- "struct.llvm::PassInfo" = type { sbyte*, sbyte*, "struct.std::type_info"*, ubyte, "struct.std::vector<const llvm::PassInfo*,std::allocator<const llvm::PassInfo*> >", "struct.llvm::Pass"* ()*, "struct.llvm::Pass"* ("struct.llvm::TargetMachine"*)* }
- "struct.llvm::SSARegMap" = type opaque
- "struct.llvm::SymbolTable" = type opaque
- "struct.llvm::SymbolTableListTraits<llvm::Argument,llvm::Function,llvm::Function,llvm::ilist_traits<llvm::Argument> >" = type { "struct.llvm::Function"*, "struct.llvm::Function"* }
- "struct.llvm::SymbolTableListTraits<llvm::Instruction,llvm::BasicBlock,llvm::Function,llvm::ilist_traits<llvm::Instruction> >" = 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<char,std::char_traits<char>,std::allocator<char> >", "struct.llvm::TargetData", "struct.llvm::IntrinsicLowering"* }
- "struct.llvm::TargetRegClassInfo" = type { int (...)**, uint, uint, uint }
- "struct.llvm::TargetRegInfo" = type { int (...)**, "struct.std::vector<const llvm::TargetRegClassInfo*,std::allocator<const llvm::TargetRegClassInfo*> >", "struct.llvm::TargetMachine"* }
- "struct.llvm::Type" = type { "struct.llvm::Value", uint, uint, bool, uint, "struct.llvm::Type"*, "struct.std::vector<llvm::PATypeHandle,std::allocator<llvm::PATypeHandle> >" }
- "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<llvm::Use,std::allocator<llvm::Use> >" }
- "struct.llvm::Value" = type { int (...)**, "struct.llvm::iplist<llvm::Use,llvm::ilist_traits<llvm::Use> >", "struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >", "struct.llvm::PATypeHolder", uint }
- "struct.llvm::_GLOBAL__N_::InsertPrologEpilogCode" = type { "struct.llvm::MachineFunctionPass" }
- "struct.llvm::ilist<llvm::MachineInstr>" = type { "struct.llvm::iplist<llvm::MachineInstr,llvm::ilist_traits<llvm::MachineInstr> >" }
- "struct.llvm::ilist_iterator<const llvm::MachineBasicBlock>" = type { "struct.llvm::MachineBasicBlock"* }
- "struct.llvm::ilist_traits<llvm::Argument>" = type { "struct.llvm::SymbolTableListTraits<llvm::Argument,llvm::Function,llvm::Function,llvm::ilist_traits<llvm::Argument> >" }
- "struct.llvm::ilist_traits<llvm::Instruction>" = type { "struct.llvm::SymbolTableListTraits<llvm::Instruction,llvm::BasicBlock,llvm::Function,llvm::ilist_traits<llvm::Instruction> >" }
- "struct.llvm::iplist<llvm::Argument,llvm::ilist_traits<llvm::Argument> >" = type { "struct.llvm::ilist_traits<llvm::Argument>", "struct.llvm::Argument"*, "struct.llvm::Argument"* }
- "struct.llvm::iplist<llvm::BasicBlock,llvm::ilist_traits<llvm::BasicBlock> >" = type { "struct.llvm::ilist_traits<llvm::Argument>", "struct.llvm::BasicBlock"*, "struct.llvm::BasicBlock"* }
- "struct.llvm::iplist<llvm::Instruction,llvm::ilist_traits<llvm::Instruction> >" = type { "struct.llvm::ilist_traits<llvm::Instruction>", "struct.llvm::Instruction"*, "struct.llvm::Instruction"* }
- "struct.llvm::iplist<llvm::MachineBasicBlock,llvm::ilist_traits<llvm::MachineBasicBlock> >" = type { "struct.llvm::MachineBasicBlock"*, "struct.llvm::MachineBasicBlock"* }
- "struct.llvm::iplist<llvm::MachineInstr,llvm::ilist_traits<llvm::MachineInstr> >" = type { "struct.llvm::ilist_iterator<const llvm::MachineBasicBlock>", "struct.llvm::MachineInstr"*, "struct.llvm::MachineInstr"* }
- "struct.llvm::iplist<llvm::Use,llvm::ilist_traits<llvm::Use> >" = type { "struct.llvm::Use"*, "struct.llvm::Use"* }
- "struct.std::_Vector_alloc_base<__gnu_cxx::_Hashtable_node<const llvm::Constant*>*,std::allocator<const llvm::Constant*>, true>" = type { "struct.__gnu_cxx::_Hashtable_node<const llvm::Constant*>"**, "struct.__gnu_cxx::_Hashtable_node<const llvm::Constant*>"**, "struct.__gnu_cxx::_Hashtable_node<const llvm::Constant*>"** }
- "struct.std::_Vector_alloc_base<__gnu_cxx::_Hashtable_node<std::pair<const llvm::Value* const, int> >*,std::allocator<int>, true>" = type { "struct.__gnu_cxx::_Hashtable_node<std::pair<const llvm::Value* const, int> >"**, "struct.__gnu_cxx::_Hashtable_node<std::pair<const llvm::Value* const, int> >"**, "struct.__gnu_cxx::_Hashtable_node<std::pair<const llvm::Value* const, int> >"** }
- "struct.std::_Vector_alloc_base<const llvm::PassInfo*,std::allocator<const llvm::PassInfo*>, true>" = type { "struct.llvm::PassInfo"**, "struct.llvm::PassInfo"**, "struct.llvm::PassInfo"** }
- "struct.std::_Vector_alloc_base<const llvm::TargetRegClassInfo*,std::allocator<const llvm::TargetRegClassInfo*>, true>" = type { "struct.llvm::TargetRegClassInfo"**, "struct.llvm::TargetRegClassInfo"**, "struct.llvm::TargetRegClassInfo"** }
- "struct.std::_Vector_alloc_base<llvm::AbstractTypeUser*,std::allocator<llvm::AbstractTypeUser*>, true>" = type { "struct.llvm::AbstractTypeUser"**, "struct.llvm::AbstractTypeUser"**, "struct.llvm::AbstractTypeUser"** }
- "struct.std::_Vector_alloc_base<llvm::MachineInstr*,std::allocator<llvm::MachineInstr*>, true>" = type { "struct.llvm::MachineInstr"**, "struct.llvm::MachineInstr"**, "struct.llvm::MachineInstr"** }
- "struct.std::_Vector_alloc_base<llvm::MachineOperand,std::allocator<llvm::MachineOperand>, true>" = type { "struct.llvm::MachineOperand"*, "struct.llvm::MachineOperand"*, "struct.llvm::MachineOperand"* }
- "struct.std::_Vector_alloc_base<llvm::PATypeHandle,std::allocator<llvm::PATypeHandle>, true>" = type { "struct.llvm::PATypeHandle"*, "struct.llvm::PATypeHandle"*, "struct.llvm::PATypeHandle"* }
- "struct.std::_Vector_alloc_base<llvm::Use,std::allocator<llvm::Use>, true>" = type { "struct.llvm::Use"*, "struct.llvm::Use"*, "struct.llvm::Use"* }
- "struct.std::_Vector_alloc_base<std::pair<const llvm::PassInfo*, llvm::Pass*>,std::allocator<std::pair<const llvm::PassInfo*, llvm::Pass*> >, true>" = type { "struct.std::pair<const llvm::PassInfo*,llvm::Pass*>"*, "struct.std::pair<const llvm::PassInfo*,llvm::Pass*>"*, "struct.std::pair<const llvm::PassInfo*,llvm::Pass*>"* }
- "struct.std::_Vector_base<__gnu_cxx::_Hashtable_node<const llvm::Constant*>*,std::allocator<const llvm::Constant*> >" = type { "struct.std::_Vector_alloc_base<__gnu_cxx::_Hashtable_node<const llvm::Constant*>*,std::allocator<const llvm::Constant*>, true>" }
- "struct.std::_Vector_base<__gnu_cxx::_Hashtable_node<std::pair<const llvm::Value* const, int> >*,std::allocator<int> >" = type { "struct.std::_Vector_alloc_base<__gnu_cxx::_Hashtable_node<std::pair<const llvm::Value* const, int> >*,std::allocator<int>, true>" }
- "struct.std::_Vector_base<const llvm::PassInfo*,std::allocator<const llvm::PassInfo*> >" = type { "struct.std::_Vector_alloc_base<const llvm::PassInfo*,std::allocator<const llvm::PassInfo*>, true>" }
- "struct.std::_Vector_base<const llvm::TargetRegClassInfo*,std::allocator<const llvm::TargetRegClassInfo*> >" = type { "struct.std::_Vector_alloc_base<const llvm::TargetRegClassInfo*,std::allocator<const llvm::TargetRegClassInfo*>, true>" }
- "struct.std::_Vector_base<llvm::AbstractTypeUser*,std::allocator<llvm::AbstractTypeUser*> >" = type { "struct.std::_Vector_alloc_base<llvm::AbstractTypeUser*,std::allocator<llvm::AbstractTypeUser*>, true>" }
- "struct.std::_Vector_base<llvm::MachineInstr*,std::allocator<llvm::MachineInstr*> >" = type { "struct.std::_Vector_alloc_base<llvm::MachineInstr*,std::allocator<llvm::MachineInstr*>, true>" }
- "struct.std::_Vector_base<llvm::MachineOperand,std::allocator<llvm::MachineOperand> >" = type { "struct.std::_Vector_alloc_base<llvm::MachineOperand,std::allocator<llvm::MachineOperand>, true>" }
- "struct.std::_Vector_base<llvm::PATypeHandle,std::allocator<llvm::PATypeHandle> >" = type { "struct.std::_Vector_alloc_base<llvm::PATypeHandle,std::allocator<llvm::PATypeHandle>, true>" }
- "struct.std::_Vector_base<llvm::Use,std::allocator<llvm::Use> >" = type { "struct.std::_Vector_alloc_base<llvm::Use,std::allocator<llvm::Use>, true>" }
- "struct.std::_Vector_base<std::pair<const llvm::PassInfo*, llvm::Pass*>,std::allocator<std::pair<const llvm::PassInfo*, llvm::Pass*> > >" = type { "struct.std::_Vector_alloc_base<std::pair<const llvm::PassInfo*, llvm::Pass*>,std::allocator<std::pair<const llvm::PassInfo*, llvm::Pass*> >, true>" }
- "struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >" = type { "struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Alloc_hider" }
- "struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Alloc_hider" = type { sbyte* }
- "struct.std::pair<const llvm::PassInfo*,llvm::Pass*>" = type { "struct.llvm::PassInfo"*, "struct.llvm::Pass"* }
- "struct.std::pair<const llvm::Value* const,int>" = type { "struct.llvm::Value"*, int }
- "struct.std::type_info" = type { int (...)**, sbyte* }
- "struct.std::vector<__gnu_cxx::_Hashtable_node<const llvm::Constant*>*,std::allocator<const llvm::Constant*> >" = type { "struct.std::_Vector_base<__gnu_cxx::_Hashtable_node<const llvm::Constant*>*,std::allocator<const llvm::Constant*> >" }
- "struct.std::vector<__gnu_cxx::_Hashtable_node<std::pair<const llvm::Value* const, int> >*,std::allocator<int> >" = type { "struct.std::_Vector_base<__gnu_cxx::_Hashtable_node<std::pair<const llvm::Value* const, int> >*,std::allocator<int> >" }
- "struct.std::vector<const llvm::PassInfo*,std::allocator<const llvm::PassInfo*> >" = type { "struct.std::_Vector_base<const llvm::PassInfo*,std::allocator<const llvm::PassInfo*> >" }
- "struct.std::vector<const llvm::TargetRegClassInfo*,std::allocator<const llvm::TargetRegClassInfo*> >" = type { "struct.std::_Vector_base<const llvm::TargetRegClassInfo*,std::allocator<const llvm::TargetRegClassInfo*> >" }
- "struct.std::vector<llvm::AbstractTypeUser*,std::allocator<llvm::AbstractTypeUser*> >" = type { "struct.std::_Vector_base<llvm::AbstractTypeUser*,std::allocator<llvm::AbstractTypeUser*> >" }
- "struct.std::vector<llvm::MachineInstr*,std::allocator<llvm::MachineInstr*> >" = type { "struct.std::_Vector_base<llvm::MachineInstr*,std::allocator<llvm::MachineInstr*> >" }
- "struct.std::vector<llvm::MachineOperand,std::allocator<llvm::MachineOperand> >" = type { "struct.std::_Vector_base<llvm::MachineOperand,std::allocator<llvm::MachineOperand> >" }
- "struct.std::vector<llvm::PATypeHandle,std::allocator<llvm::PATypeHandle> >" = type { "struct.std::_Vector_base<llvm::PATypeHandle,std::allocator<llvm::PATypeHandle> >" }
- "struct.std::vector<llvm::Use,std::allocator<llvm::Use> >" = type { "struct.std::_Vector_base<llvm::Use,std::allocator<llvm::Use> >" }
- "struct.std::vector<std::pair<const llvm::PassInfo*, llvm::Pass*>,std::allocator<std::pair<const llvm::PassInfo*, llvm::Pass*> > >" = type { "struct.std::_Vector_base<std::pair<const llvm::PassInfo*, llvm::Pass*>,std::allocator<std::pair<const llvm::PassInfo*, llvm::Pass*> > >" }
- "union.llvm::MachineOperand::._65" = type { "struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >"* }
-
-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) {
+; RUN: llvm-as < %s | opt -indvars -disable-output
+; ModuleID = '2004-04-05-InvokeCastCrash.llx'
+ %struct.__false_type = type { i8 }
+ %"struct.__gnu_cxx::_Hashtable_node<const llvm::Constant*>" = type { %"struct.__gnu_cxx::_Hashtable_node<const llvm::Constant*>"*, %"struct.llvm::Constant"* }
+ %"struct.__gnu_cxx::_Hashtable_node<std::pair<const llvm::Value* const, int> >" = type { %"struct.__gnu_cxx::_Hashtable_node<std::pair<const llvm::Value* const, int> >"*, %"struct.std::pair<const llvm::Value* const,int>" }
+ %"struct.__gnu_cxx::hash_map<const llvm::Value*,int,__gnu_cxx::hash<const llvm::Value*>,std::equal_to<const llvm::Value*>,std::allocator<int> >" = type { %"struct.__gnu_cxx::hashtable<std::pair<const llvm::Value* const, int>,const llvm::Value*,__gnu_cxx::hash<const llvm::Value*>,std::_Select1st<std::pair<const llvm::Value* const, int> >,std::equal_to<const llvm::Value*>,std::allocator<int> >" }
+ %"struct.__gnu_cxx::hash_set<const llvm::Constant*,__gnu_cxx::hash<const llvm::Constant*>,std::equal_to<const llvm::Constant*>,std::allocator<const llvm::Constant*> >" = type { %"struct.__gnu_cxx::hashtable<const llvm::Constant*,const llvm::Constant*,__gnu_cxx::hash<const llvm::Constant*>,std::_Identity<const llvm::Constant*>,std::equal_to<const llvm::Constant*>,std::allocator<const llvm::Constant*> >" }
+ %"struct.__gnu_cxx::hashtable<const llvm::Constant*,const llvm::Constant*,__gnu_cxx::hash<const llvm::Constant*>,std::_Identity<const llvm::Constant*>,std::equal_to<const llvm::Constant*>,std::allocator<const llvm::Constant*> >" = type { %struct.__false_type, %struct.__false_type, %struct.__false_type, %struct.__false_type, %"struct.std::vector<__gnu_cxx::_Hashtable_node<const llvm::Constant*>*,std::allocator<const llvm::Constant*> >", i32 }
+ %"struct.__gnu_cxx::hashtable<std::pair<const llvm::Value* const, int>,const llvm::Value*,__gnu_cxx::hash<const llvm::Value*>,std::_Select1st<std::pair<const llvm::Value* const, int> >,std::equal_to<const llvm::Value*>,std::allocator<int> >" = type { %struct.__false_type, %struct.__false_type, %struct.__false_type, %struct.__false_type, %"struct.std::vector<__gnu_cxx::_Hashtable_node<std::pair<const llvm::Value* const, int> >*,std::allocator<int> >", i32 }
+ %"struct.llvm::AbstractTypeUser" = type { i32 (...)** }
+ %"struct.llvm::Annotable" = type { i32 (...)**, %"struct.llvm::Annotation"* }
+ %"struct.llvm::Annotation" = type { i32 (...)**, %"struct.llvm::AnnotationID", %"struct.llvm::Annotation"* }
+ %"struct.llvm::AnnotationID" = type { i32 }
+ %"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<llvm::Instruction,llvm::ilist_traits<llvm::Instruction> >", %"struct.llvm::BasicBlock"*, %"struct.llvm::BasicBlock"* }
+ %"struct.llvm::Constant" = type opaque
+ %"struct.llvm::DerivedType" = type { %"struct.llvm::Type", %"struct.llvm::AbstractTypeUser", %"struct.std::vector<llvm::AbstractTypeUser*,std::allocator<llvm::AbstractTypeUser*> >" }
+ %"struct.llvm::Function" = type { %"struct.llvm::GlobalValue", %"struct.llvm::Annotable", %"struct.llvm::iplist<llvm::BasicBlock,llvm::ilist_traits<llvm::BasicBlock> >", %"struct.llvm::iplist<llvm::Argument,llvm::ilist_traits<llvm::Argument> >", %"struct.llvm::SymbolTable"*, %"struct.llvm::Function"*, %"struct.llvm::Function"* }
+ %"struct.llvm::FunctionPass" = type { %"struct.llvm::Pass" }
+ %"struct.llvm::FunctionType" = type { %"struct.llvm::DerivedType", i1 }
+ %"struct.llvm::GlobalValue" = type { %"struct.llvm::User", i32, %"struct.llvm::Module"* }
+ %"struct.llvm::Instruction" = type { %"struct.llvm::User", %"struct.llvm::Annotable", %"struct.llvm::BasicBlock"*, %"struct.llvm::Instruction"*, %"struct.llvm::Instruction"*, i32 }
+ %"struct.llvm::IntrinsicLowering" = type opaque
+ %"struct.llvm::MachineBasicBlock" = type { %"struct.llvm::ilist<llvm::MachineInstr>", %"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<llvm::MachineBasicBlock,llvm::ilist_traits<llvm::MachineBasicBlock> >", %"struct.llvm::SSARegMap"*, %"struct.llvm::MachineFunctionInfo"*, %"struct.llvm::MachineFrameInfo"*, %"struct.llvm::MachineConstantPool"* }
+ %"struct.llvm::MachineFunctionInfo" = type { %"struct.__gnu_cxx::hash_set<const llvm::Constant*,__gnu_cxx::hash<const llvm::Constant*>,std::equal_to<const llvm::Constant*>,std::allocator<const llvm::Constant*> >", %"struct.__gnu_cxx::hash_map<const llvm::Value*,int,__gnu_cxx::hash<const llvm::Value*>,std::equal_to<const llvm::Value*>,std::allocator<int> >", i32, i32, i32, i32, i32, i32, i32, i1, i1, i1, %"struct.llvm::MachineFunction"* }
+ %"struct.llvm::MachineFunctionPass" = type { %"struct.llvm::FunctionPass" }
+ %"struct.llvm::MachineInstr" = type { i16, i8, %"struct.std::vector<llvm::MachineOperand,std::allocator<llvm::MachineOperand> >", %"struct.llvm::MachineInstr"*, %"struct.llvm::MachineInstr"*, %"struct.llvm::MachineBasicBlock"* }
+ %"struct.llvm::MachineInstrBuilder" = type { %"struct.llvm::MachineInstr"* }
+ %"struct.llvm::MachineOperand" = type { %"union.llvm::MachineOperand::._65", i32, i32 }
+ %"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 { i32 (...)**, %"struct.llvm::AbstractTypeUser"*, %"struct.llvm::PassInfo"*, %"struct.std::vector<std::pair<const llvm::PassInfo*, llvm::Pass*>,std::allocator<std::pair<const llvm::PassInfo*, llvm::Pass*> > >" }
+ %"struct.llvm::PassInfo" = type { i8*, i8*, %"struct.std::type_info"*, i8, %"struct.std::vector<const llvm::PassInfo*,std::allocator<const llvm::PassInfo*> >", %"struct.llvm::Pass"* ()*, %"struct.llvm::Pass"* (%"struct.llvm::TargetMachine"*)* }
+ %"struct.llvm::SSARegMap" = type opaque
+ %"struct.llvm::SymbolTable" = type opaque
+ %"struct.llvm::SymbolTableListTraits<llvm::Argument,llvm::Function,llvm::Function,llvm::ilist_traits<llvm::Argument> >" = type { %"struct.llvm::Function"*, %"struct.llvm::Function"* }
+ %"struct.llvm::SymbolTableListTraits<llvm::Instruction,llvm::BasicBlock,llvm::Function,llvm::ilist_traits<llvm::Instruction> >" = type { %"struct.llvm::Function"*, %"struct.llvm::BasicBlock"* }
+ %"struct.llvm::TargetData" = type { %"struct.llvm::FunctionPass", i1, i8, i8, i8, i8, i8, i8, i8, i8 }
+ %"struct.llvm::TargetFrameInfo" = type { i32 (...)**, i32, i32, i32 }
+ %"struct.llvm::TargetInstrDescriptor" = type { i8*, i32, i32, i32, i1, i32, i32, i32, i32, i32, i32*, i32* }
+ %"struct.llvm::TargetInstrInfo" = type { i32 (...)**, %"struct.llvm::TargetInstrDescriptor"*, i32, i32 }
+ %"struct.llvm::TargetMachine" = type { i32 (...)**, %"struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >", %"struct.llvm::TargetData", %"struct.llvm::IntrinsicLowering"* }
+ %"struct.llvm::TargetRegClassInfo" = type { i32 (...)**, i32, i32, i32 }
+ %"struct.llvm::TargetRegInfo" = type { i32 (...)**, %"struct.std::vector<const llvm::TargetRegClassInfo*,std::allocator<const llvm::TargetRegClassInfo*> >", %"struct.llvm::TargetMachine"* }
+ %"struct.llvm::Type" = type { %"struct.llvm::Value", i32, i32, i1, i32, %"struct.llvm::Type"*, %"struct.std::vector<llvm::PATypeHandle,std::allocator<llvm::PATypeHandle> >" }
+ %"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<llvm::Use,std::allocator<llvm::Use> >" }
+ %"struct.llvm::Value" = type { i32 (...)**, %"struct.llvm::iplist<llvm::Use,llvm::ilist_traits<llvm::Use> >", %"struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >", %"struct.llvm::PATypeHolder", i32 }
+ %"struct.llvm::_GLOBAL__N_::InsertPrologEpilogCode" = type { %"struct.llvm::MachineFunctionPass" }
+ %"struct.llvm::ilist<llvm::MachineInstr>" = type { %"struct.llvm::iplist<llvm::MachineInstr,llvm::ilist_traits<llvm::MachineInstr> >" }
+ %"struct.llvm::ilist_iterator<const llvm::MachineBasicBlock>" = type { %"struct.llvm::MachineBasicBlock"* }
+ %"struct.llvm::ilist_traits<llvm::Argument>" = type { %"struct.llvm::SymbolTableListTraits<llvm::Argument,llvm::Function,llvm::Function,llvm::ilist_traits<llvm::Argument> >" }
+ %"struct.llvm::ilist_traits<llvm::Instruction>" = type { %"struct.llvm::SymbolTableListTraits<llvm::Instruction,llvm::BasicBlock,llvm::Function,llvm::ilist_traits<llvm::Instruction> >" }
+ %"struct.llvm::iplist<llvm::Argument,llvm::ilist_traits<llvm::Argument> >" = type { %"struct.llvm::ilist_traits<llvm::Argument>", %"struct.llvm::Argument"*, %"struct.llvm::Argument"* }
+ %"struct.llvm::iplist<llvm::BasicBlock,llvm::ilist_traits<llvm::BasicBlock> >" = type { %"struct.llvm::ilist_traits<llvm::Argument>", %"struct.llvm::BasicBlock"*, %"struct.llvm::BasicBlock"* }
+ %"struct.llvm::iplist<llvm::Instruction,llvm::ilist_traits<llvm::Instruction> >" = type { %"struct.llvm::ilist_traits<llvm::Instruction>", %"struct.llvm::Instruction"*, %"struct.llvm::Instruction"* }
+ %"struct.llvm::iplist<llvm::MachineBasicBlock,llvm::ilist_traits<llvm::MachineBasicBlock> >" = type { %"struct.llvm::MachineBasicBlock"*, %"struct.llvm::MachineBasicBlock"* }
+ %"struct.llvm::iplist<llvm::MachineInstr,llvm::ilist_traits<llvm::MachineInstr> >" = type { %"struct.llvm::ilist_iterator<const llvm::MachineBasicBlock>", %"struct.llvm::MachineInstr"*, %"struct.llvm::MachineInstr"* }
+ %"struct.llvm::iplist<llvm::Use,llvm::ilist_traits<llvm::Use> >" = type { %"struct.llvm::Use"*, %"struct.llvm::Use"* }
+ %"struct.std::_Vector_alloc_base<__gnu_cxx::_Hashtable_node<const llvm::Constant*>*,std::allocator<const llvm::Constant*>, true>" = type { %"struct.__gnu_cxx::_Hashtable_node<const llvm::Constant*>"**, %"struct.__gnu_cxx::_Hashtable_node<const llvm::Constant*>"**, %"struct.__gnu_cxx::_Hashtable_node<const llvm::Constant*>"** }
+ %"struct.std::_Vector_alloc_base<__gnu_cxx::_Hashtable_node<std::pair<const llvm::Value* const, int> >*,std::allocator<int>, true>" = type { %"struct.__gnu_cxx::_Hashtable_node<std::pair<const llvm::Value* const, int> >"**, %"struct.__gnu_cxx::_Hashtable_node<std::pair<const llvm::Value* const, int> >"**, %"struct.__gnu_cxx::_Hashtable_node<std::pair<const llvm::Value* const, int> >"** }
+ %"struct.std::_Vector_alloc_base<const llvm::PassInfo*,std::allocator<const llvm::PassInfo*>, true>" = type { %"struct.llvm::PassInfo"**, %"struct.llvm::PassInfo"**, %"struct.llvm::PassInfo"** }
+ %"struct.std::_Vector_alloc_base<const llvm::TargetRegClassInfo*,std::allocator<const llvm::TargetRegClassInfo*>, true>" = type { %"struct.llvm::TargetFrameInfo"**, %"struct.llvm::TargetFrameInfo"**, %"struct.llvm::TargetFrameInfo"** }
+ %"struct.std::_Vector_alloc_base<llvm::AbstractTypeUser*,std::allocator<llvm::AbstractTypeUser*>, true>" = type { %"struct.llvm::AbstractTypeUser"**, %"struct.llvm::AbstractTypeUser"**, %"struct.llvm::AbstractTypeUser"** }
+ %"struct.std::_Vector_alloc_base<llvm::MachineInstr*,std::allocator<llvm::MachineInstr*>, true>" = type { %"struct.llvm::MachineInstr"**, %"struct.llvm::MachineInstr"**, %"struct.llvm::MachineInstr"** }
+ %"struct.std::_Vector_alloc_base<llvm::MachineOperand,std::allocator<llvm::MachineOperand>, true>" = type { %"struct.llvm::MachineOperand"*, %"struct.llvm::MachineOperand"*, %"struct.llvm::MachineOperand"* }
+ %"struct.std::_Vector_alloc_base<llvm::PATypeHandle,std::allocator<llvm::PATypeHandle>, true>" = type { %"struct.llvm::PATypeHandle"*, %"struct.llvm::PATypeHandle"*, %"struct.llvm::PATypeHandle"* }
+ %"struct.std::_Vector_alloc_base<llvm::Use,std::allocator<llvm::Use>, true>" = type { %"struct.llvm::Use"*, %"struct.llvm::Use"*, %"struct.llvm::Use"* }
+ %"struct.std::_Vector_alloc_base<std::pair<const llvm::PassInfo*, llvm::Pass*>,std::allocator<std::pair<const llvm::PassInfo*, llvm::Pass*> >, true>" = type { %"struct.std::pair<const llvm::PassInfo*,llvm::Pass*>"*, %"struct.std::pair<const llvm::PassInfo*,llvm::Pass*>"*, %"struct.std::pair<const llvm::PassInfo*,llvm::Pass*>"* }
+ %"struct.std::_Vector_base<__gnu_cxx::_Hashtable_node<const llvm::Constant*>*,std::allocator<const llvm::Constant*> >" = type { %"struct.std::_Vector_alloc_base<__gnu_cxx::_Hashtable_node<const llvm::Constant*>*,std::allocator<const llvm::Constant*>, true>" }
+ %"struct.std::_Vector_base<__gnu_cxx::_Hashtable_node<std::pair<const llvm::Value* const, int> >*,std::allocator<int> >" = type { %"struct.std::_Vector_alloc_base<__gnu_cxx::_Hashtable_node<std::pair<const llvm::Value* const, int> >*,std::allocator<int>, true>" }
+ %"struct.std::_Vector_base<const llvm::PassInfo*,std::allocator<const llvm::PassInfo*> >" = type { %"struct.std::_Vector_alloc_base<const llvm::PassInfo*,std::allocator<const llvm::PassInfo*>, true>" }
+ %"struct.std::_Vector_base<const llvm::TargetRegClassInfo*,std::allocator<const llvm::TargetRegClassInfo*> >" = type { %"struct.std::_Vector_alloc_base<const llvm::TargetRegClassInfo*,std::allocator<const llvm::TargetRegClassInfo*>, true>" }
+ %"struct.std::_Vector_base<llvm::AbstractTypeUser*,std::allocator<llvm::AbstractTypeUser*> >" = type { %"struct.std::_Vector_alloc_base<llvm::AbstractTypeUser*,std::allocator<llvm::AbstractTypeUser*>, true>" }
+ %"struct.std::_Vector_base<llvm::MachineInstr*,std::allocator<llvm::MachineInstr*> >" = type { %"struct.std::_Vector_alloc_base<llvm::MachineInstr*,std::allocator<llvm::MachineInstr*>, true>" }
+ %"struct.std::_Vector_base<llvm::MachineOperand,std::allocator<llvm::MachineOperand> >" = type { %"struct.std::_Vector_alloc_base<llvm::MachineOperand,std::allocator<llvm::MachineOperand>, true>" }
+ %"struct.std::_Vector_base<llvm::PATypeHandle,std::allocator<llvm::PATypeHandle> >" = type { %"struct.std::_Vector_alloc_base<llvm::PATypeHandle,std::allocator<llvm::PATypeHandle>, true>" }
+ %"struct.std::_Vector_base<llvm::Use,std::allocator<llvm::Use> >" = type { %"struct.std::_Vector_alloc_base<llvm::Use,std::allocator<llvm::Use>, true>" }
+ %"struct.std::_Vector_base<std::pair<const llvm::PassInfo*, llvm::Pass*>,std::allocator<std::pair<const llvm::PassInfo*, llvm::Pass*> > >" = type { %"struct.std::_Vector_alloc_base<std::pair<const llvm::PassInfo*, llvm::Pass*>,std::allocator<std::pair<const llvm::PassInfo*, llvm::Pass*> >, true>" }
+ %"struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >" = type { %"struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Alloc_hider" }
+ %"struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Alloc_hider" = type { i8* }
+ %"struct.std::pair<const llvm::PassInfo*,llvm::Pass*>" = type { %"struct.llvm::PassInfo"*, %"struct.llvm::Pass"* }
+ %"struct.std::pair<const llvm::Value* const,int>" = type { %"struct.llvm::Value"*, i32 }
+ %"struct.std::type_info" = type { i32 (...)**, i8* }
+ %"struct.std::vector<__gnu_cxx::_Hashtable_node<const llvm::Constant*>*,std::allocator<const llvm::Constant*> >" = type { %"struct.std::_Vector_base<__gnu_cxx::_Hashtable_node<const llvm::Constant*>*,std::allocator<const llvm::Constant*> >" }
+ %"struct.std::vector<__gnu_cxx::_Hashtable_node<std::pair<const llvm::Value* const, int> >*,std::allocator<int> >" = type { %"struct.std::_Vector_base<__gnu_cxx::_Hashtable_node<std::pair<const llvm::Value* const, int> >*,std::allocator<int> >" }
+ %"struct.std::vector<const llvm::PassInfo*,std::allocator<const llvm::PassInfo*> >" = type { %"struct.std::_Vector_base<const llvm::PassInfo*,std::allocator<const llvm::PassInfo*> >" }
+ %"struct.std::vector<const llvm::TargetRegClassInfo*,std::allocator<const llvm::TargetRegClassInfo*> >" = type { %"struct.std::_Vector_base<const llvm::TargetRegClassInfo*,std::allocator<const llvm::TargetRegClassInfo*> >" }
+ %"struct.std::vector<llvm::AbstractTypeUser*,std::allocator<llvm::AbstractTypeUser*> >" = type { %"struct.std::_Vector_base<llvm::AbstractTypeUser*,std::allocator<llvm::AbstractTypeUser*> >" }
+ %"struct.std::vector<llvm::MachineInstr*,std::allocator<llvm::MachineInstr*> >" = type { %"struct.std::_Vector_base<llvm::MachineInstr*,std::allocator<llvm::MachineInstr*> >" }
+ %"struct.std::vector<llvm::MachineOperand,std::allocator<llvm::MachineOperand> >" = type { %"struct.std::_Vector_base<llvm::MachineOperand,std::allocator<llvm::MachineOperand> >" }
+ %"struct.std::vector<llvm::PATypeHandle,std::allocator<llvm::PATypeHandle> >" = type { %"struct.std::_Vector_base<llvm::PATypeHandle,std::allocator<llvm::PATypeHandle> >" }
+ %"struct.std::vector<llvm::Use,std::allocator<llvm::Use> >" = type { %"struct.std::_Vector_base<llvm::Use,std::allocator<llvm::Use> >" }
+ %"struct.std::vector<std::pair<const llvm::PassInfo*, llvm::Pass*>,std::allocator<std::pair<const llvm::PassInfo*, llvm::Pass*> > >" = type { %"struct.std::_Vector_base<std::pair<const llvm::PassInfo*, llvm::Pass*>,std::allocator<std::pair<const llvm::PassInfo*, llvm::Pass*> > >" }
+ %"union.llvm::MachineOperand::._65" = type { %"struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >"* }
+
+declare void @_Znwj()
+
+declare void @_ZN4llvm12MachineInstrC1Esjbb()
+
+declare void @_ZNSt6vectorIPN4llvm12MachineInstrESaIS2_EE9push_backERKS2_()
+
+declare void @_ZNK4llvm8Function15getFunctionTypeEv()
+
+declare void @_ZNK4llvm19MachineInstrBuilder7addMRegEiNS_14MachineOperand7UseTypeE()
+
+declare void @_ZNK4llvm19MachineInstrBuilder7addSImmEi()
+
+define 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]
+ %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
+invoke_catch.0.i: ; preds = %invoke_cont.49.i, %invoke_cont.48.i, %invoke_cont.47.i, %invoke_cont.i53.i, %no_exit.i, %invoke_cont.44.i, %invoke_cont.43.i, %invoke_cont.42.i, %invoke_cont.41.i, %invoke_cont.40.i, %invoke_cont.39.i, %invoke_cont.38.i, %invoke_cont.37.i, %then.2.i, %invoke_cont.35.i, %invoke_cont.34.i, %then.1.i, %endif.0.i, %invoke_cont.9.i, %invoke_cont.8.i, %invoke_cont.7.i, %invoke_cont.i.i, %then.0.i, %invoke_cont.4.i, %invoke_cont.3.i, %invoke_cont.2.i, %invoke_cont.1.i, %endif.0.i.i, %tmp.7.i.noexc.i, %invoke_cont.0.i, %entry
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.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 ; <int> [#uses=0]
+ %tmp.17.i2.i = invoke i32 null( %"struct.llvm::TargetFrameInfo"* %tmp.7.i1.i )
+ to label %endif.0.i.i unwind label %invoke_catch.0.i ; <i32> [#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 ; <int> [#uses=0]
+ %tmp.38.i4.i = invoke i32 null( %"struct.llvm::TargetFrameInfo"* %tmp.7.i1.i )
+ to label %tmp.38.i.noexc.i unwind label %invoke_catch.0.i ; <i32> [#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
+ br i1 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]
+ %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 ; <uint> [#uses=0]
+ %tmp.28.i = invoke i32 null( %"struct.llvm::TargetRegInfo"* %tmp.21.i )
+ to label %invoke_cont.3.i unwind label %invoke_catch.0.i ; <i32> [#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]
+ %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 ; <bool> [#uses=1]
+ %tmp.43.i = invoke i1 null( %"struct.llvm::TargetInstrInfo"* %tmp.36.i, i16 383, i64 0 )
+ to label %invoke_cont.5.i unwind label %invoke_catch.0.i ; <i1> [#uses=1]
invoke_cont.5.i: ; preds = %invoke_cont.4.i
- br bool %tmp.43.i, label %then.0.i, label %else.i
+ br i1 %tmp.43.i, label %then.0.i, label %else.i
then.0.i: ; preds = %invoke_cont.5.i
- invoke void %_Znwj( )
+ 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( )
+ 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( )
+ 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( )
+ 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( )
+ 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_( )
+ 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( )
+ 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
+ br i1 false, label %then.1.i, label %endif.1.i
then.1.i: ; preds = %invoke_cont.33.i
- invoke void %_ZNK4llvm8Function15getFunctionTypeEv( )
+ 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]
+ %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 ; <uint> [#uses=0]
+ %tmp.128.i = invoke i32 null( %"struct.llvm::TargetRegInfo"* %tmp.121.i )
+ to label %invoke_cont.36.i unwind label %invoke_catch.0.i ; <i32> [#uses=0]
invoke_cont.36.i: ; preds = %invoke_cont.35.i
- br bool false, label %then.2.i, label %endif.1.i
+ br i1 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]
+ %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]
+ %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 ; <uint> [#uses=0]
+ %tmp.155.i = invoke i32 null( %"struct.llvm::TargetRegInfo"* %tmp.148.i, %"struct.llvm::Type"* null, i1 false )
+ to label %invoke_cont.39.i unwind label %invoke_catch.0.i ; <i32> [#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]
+ %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 ; <int> [#uses=0]
+ %tmp.170.i = invoke i32 null( %"struct.llvm::TargetFrameInfo"* %tmp.163.i )
+ to label %invoke_cont.41.i unwind label %invoke_catch.0.i ; <i32> [#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]
+ %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 ; <int> [#uses=1]
+ %tmp.184.i = invoke i32 null( %"struct.llvm::TargetFrameInfo"* %tmp.177.i )
+ to label %invoke_cont.43.i unwind label %invoke_catch.0.i ; <i32> [#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]
+ %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 ; <int> [#uses=0]
+ %tmp.198.i = invoke i32 null( %"struct.llvm::TargetFrameInfo"* %tmp.191.i, %"struct.llvm::MachineFunction"* %F, i1* null )
+ to label %invoke_cont.45.i unwind label %invoke_catch.0.i ; <i32> [#uses=0]
invoke_cont.45.i: ; preds = %invoke_cont.44.i
- br bool false, label %no_exit.i, label %endif.1.i
+ br i1 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 ] ; <int> [#uses=1]
- invoke void %_Znwj( )
+no_exit.i: ; preds = %invoke_cont.50.i, %invoke_cont.45.i
+ %nextArgOffset.0.i.1 = phi i32 [ %tmp.221.i, %invoke_cont.50.i ], [ 0, %invoke_cont.45.i ] ; <i32> [#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( )
+ 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( )
+ 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( )
+ 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( )
+ 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_( )
+ 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 ; <int> [#uses=1]
- br bool false, label %no_exit.i, label %endif.1.i
+ %tmp.221.i = add i32 %nextArgOffset.0.i.1, %tmp.184.i ; <i32> [#uses=1]
+ br i1 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
+endif.1.i: ; preds = %invoke_cont.50.i, %invoke_cont.45.i, %invoke_cont.36.i, %invoke_cont.33.i
ret void
}
-
diff --git a/test/Transforms/IndVarsSimplify/2004-04-07-ScalarEvolutionCrash.llx b/test/Transforms/IndVarsSimplify/2004-04-07-ScalarEvolutionCrash.llx
index 82212d5c72..b4eb3db190 100644
--- a/test/Transforms/IndVarsSimplify/2004-04-07-ScalarEvolutionCrash.llx
+++ b/test/Transforms/IndVarsSimplify/2004-04-07-ScalarEvolutionCrash.llx
@@ -1,26 +1,27 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -indvars -disable-output
+; RUN: llvm-as < %s | opt -indvars -disable-output
-void %.outPlank_21() {
+define void @.outPlank_21() {
entry:
- br bool false, label %loopexit.0, label %no_exit.0
+ br i1 false, label %loopexit.0, label %no_exit.0
-no_exit.0: ; preds = %entry
- ret void
+no_exit.0: ; preds = %entry
+ ret void
-loopexit.0: ; preds = %entry
- br bool false, label %no_exit.1, label %loopexit.1
+loopexit.0: ; preds = %entry
+ br i1 false, label %no_exit.1, label %loopexit.1
-no_exit.1: ; preds = %loopexit.0, %loopexit.2
- %i.0.0 = phi int [ %inc, %loopexit.2 ], [ 0, %loopexit.0 ] ; <int> [#uses=1]
- br bool false, label %loopexit.2, label %no_exit.2
+no_exit.1: ; preds = %loopexit.2, %loopexit.0
+ %i.0.0 = phi i32 [ %inc, %loopexit.2 ], [ 0, %loopexit.0 ] ; <i32> [#uses=1]
+ br i1 false, label %loopexit.2, label %no_exit.2
-no_exit.2: ; preds = %no_exit.1
- ret void
+no_exit.2: ; preds = %no_exit.1
+ ret void
-loopexit.2: ; preds = %no_exit.1
- %inc = add int %i.0.0, 1 ; <int> [#uses=1]
- br bool false, label %no_exit.1, label %loopexit.1
+loopexit.2: ; preds = %no_exit.1
+ %inc = add i32 %i.0.0, 1 ; <i32> [#uses=1]
+ br i1 false, label %no_exit.1, label %loopexit.1
-loopexit.1: ; preds = %loopexit.0, %loopexit.2
- ret void
+loopexit.1: ; preds = %loopexit.2, %loopexit.0
+ ret void
}
+
diff --git a/test/Transforms/IndVarsSimplify/2005-02-11-InvokeCrash.ll b/test/Transforms/IndVarsSimplify/2005-02-11-InvokeCrash.ll
index 92a48308b2..afee7e1891 100644
--- a/test/Transforms/IndVarsSimplify/2005-02-11-InvokeCrash.ll
+++ b/test/Transforms/IndVarsSimplify/2005-02-11-InvokeCrash.ll
@@ -1,22 +1,23 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -indvars -disable-output
+; RUN: llvm-as < %s | opt -indvars -disable-output
-void %_ZN5ArrayISt7complexIdEEC2ERK10dim_vector() {
+define void @_ZN5ArrayISt7complexIdEEC2ERK10dim_vector() {
entry:
- %tmp.7 = invoke int %_ZN5ArrayISt7complexIdEE8get_sizeERK10dim_vector( )
- to label %invoke_cont.0 unwind label %cond_true.1 ; <int> [#uses=2]
+ %tmp.7 = invoke i32 @_ZN5ArrayISt7complexIdEE8get_sizeERK10dim_vector( )
+ to label %invoke_cont.0 unwind label %cond_true.1 ; <i32> [#uses=2]
-cond_true.1: ; preds = %entry
- unwind
+cond_true.1: ; preds = %entry
+ unwind
-invoke_cont.0: ; preds = %entry
- %tmp.4.i = cast int %tmp.7 to uint ; <uint> [#uses=0]
- %tmp.14.0.i5 = add int %tmp.7, -1 ; <int> [#uses=1]
- br label %no_exit.i
+invoke_cont.0: ; preds = %entry
+ %tmp.4.i = bitcast i32 %tmp.7 to i32 ; <i32> [#uses=0]
+ %tmp.14.0.i5 = add i32 %tmp.7, -1 ; <i32> [#uses=1]
+ br label %no_exit.i
-no_exit.i: ; preds = %no_exit.i, %invoke_cont.0
- %tmp.14.0.i.0 = phi int [ %tmp.14.0.i, %no_exit.i ], [ %tmp.14.0.i5, %invoke_cont.0 ] ; <int> [#uses=1]
- %tmp.14.0.i = add int %tmp.14.0.i.0, -1 ; <int> [#uses=1]
- br label %no_exit.i
+no_exit.i: ; preds = %no_exit.i, %invoke_cont.0
+ %tmp.14.0.i.0 = phi i32 [ %tmp.14.0.i, %no_exit.i ], [ %tmp.14.0.i5, %invoke_cont.0 ] ; <i32> [#uses=1]
+ %tmp.14.0.i = add i32 %tmp.14.0.i.0, -1 ; <i32> [#uses=1]
+ br label %no_exit.i
}
-declare int %_ZN5ArrayISt7complexIdEE8get_sizeERK10dim_vector()
+declare i32 @_ZN5ArrayISt7complexIdEE8get_sizeERK10dim_vector()
+
diff --git a/test/Transforms/IndVarsSimplify/2005-02-17-TruncateExprCrash.ll b/test/Transforms/IndVarsSimplify/2005-02-17-TruncateExprCrash.ll
index 5ba8bdb622..a1beec6468 100644
--- a/test/Transforms/IndVarsSimplify/2005-02-17-TruncateExprCrash.ll
+++ b/test/Transforms/IndVarsSimplify/2005-02-17-TruncateExprCrash.ll
@@ -1,61 +1,59 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -indvars -disable-output
+; RUN: llvm-as < %s | opt -indvars -disable-output
-implementation ; Functions:
+declare void @q_atomic_increment()
-declare void %q_atomic_increment()
+declare void @_Z9qt_assertPKcS0_i()
-declare void %_Z9qt_assertPKcS0_i()
-
-void %_ZN13QMetaResourceC1EPKh() {
+define void @_ZN13QMetaResourceC1EPKh() {
entry:
- invoke void %_Z9qt_assertPKcS0_i( )
+ invoke void @_Z9qt_assertPKcS0_i( )
to label %endif.1 unwind label %then.i.i551
then.i.i551: ; preds = %entry
ret void
endif.1: ; preds = %entry
- br bool false, label %then.2, label %then.i.i
+ br i1 false, label %then.2, label %then.i.i
then.2: ; preds = %endif.1
- invoke void %q_atomic_increment( )
+ invoke void @q_atomic_increment( )
to label %loopentry.0 unwind label %invoke_catch.6
invoke_catch.6: ; preds = %then.2
ret void
loopentry.0: ; preds = %then.2
- br bool false, label %shortcirc_next.i, label %endif.3
+ br i1 false, label %shortcirc_next.i, label %endif.3
endif.3: ; preds = %loopentry.0
ret void
shortcirc_next.i: ; preds = %loopentry.0
- br bool false, label %_ZNK7QString2atEi.exit, label %then.i
+ br i1 false, label %_ZNK7QString2atEi.exit, label %then.i
then.i: ; preds = %shortcirc_next.i
ret void
_ZNK7QString2atEi.exit: ; preds = %shortcirc_next.i
- br bool false, label %endif.4, label %then.4
+ br i1 false, label %endif.4, label %then.4
then.4: ; preds = %_ZNK7QString2atEi.exit
ret void
endif.4: ; preds = %_ZNK7QString2atEi.exit
- %tmp.115 = load ubyte* null ; <ubyte> [#uses=1]
- br bool false, label %loopexit.1, label %no_exit.0
+ %tmp.115 = load i8* null ; <i8> [#uses=1]
+ br i1 false, label %loopexit.1, label %no_exit.0
no_exit.0: ; preds = %no_exit.0, %endif.4
- %bytes_in_len.4.5 = phi ubyte [ %dec, %no_exit.0 ], [ %tmp.115, %endif.4 ] ; <ubyte> [#uses=1]
- %off.5.5.in = phi int [ %off.5.5, %no_exit.0 ], [ 0, %endif.4 ] ; <int> [#uses=1]
- %off.5.5 = add int %off.5.5.in, 1 ; <int> [#uses=2]
- %dec = add ubyte %bytes_in_len.4.5, 255 ; <ubyte> [#uses=2]
- %tmp.123631 = seteq ubyte %dec, 0 ; <bool> [#uses=1]
- br bool %tmp.123631, label %loopexit.1, label %no_exit.0
+ %bytes_in_len.4.5 = phi i8 [ %dec, %no_exit.0 ], [ %tmp.115, %endif.4 ] ; <i8> [#uses=1]
+ %off.5.5.in = phi i32 [ %off.5.5, %no_exit.0 ], [ 0, %endif.4 ] ; <i32> [#uses=1]
+ %off.5.5 = add i32 %off.5.5.in, 1 ; <i32> [#uses=2]
+ %dec = add i8 %bytes_in_len.4.5, -1 ; <i8> [#uses=2]
+ %tmp.123631 = icmp eq i8 %dec, 0 ; <i1> [#uses=1]
+ br i1 %tmp.123631, label %loopexit.1, label %no_exit.0
loopexit.1: ; preds = %no_exit.0, %endif.4
- %off.5.in.6 = phi int [ 0, %endif.4 ], [ %off.5.5, %no_exit.0 ] ; <int> [#uses=0]
+ %off.5.in.6 = phi i32 [ 0, %endif.4 ], [ %off.5.5, %no_exit.0 ] ; <i32> [#uses=0]
ret void
then.i.i: ; preds = %endif.1
diff --git a/test/Transforms/IndVarsSimplify/2005-02-26-ExitValueCompute.ll b/test/Transforms/IndVarsSimplify/2005-02-26-ExitValueCompute.ll
index 13562660c9..853d5ad501 100644
--- a/test/Transforms/IndVarsSimplify/2005-02-26-ExitValueCompute.ll
+++ b/test/Transforms/IndVarsSimplify/2005-02-26-ExitValueCompute.ll
@@ -1,20 +1,20 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -indvars | llvm-dis | \
+; RUN: llvm-as < %s | opt -indvars | llvm-dis | \
; RUN: grep {ret i32 152}
-int %main() {
+define i32 @main() {
entry:
- br label %no_exit
+ br label %no_exit
-no_exit: ; preds = %no_exit, %entry
- %i.1.0 = phi int [ 0, %entry ], [ %inc, %no_exit ] ; <int> [#uses=2]
- %tmp.4 = setgt int %i.1.0, 50 ; <bool> [#uses=1]
- %tmp.7 = select bool %tmp.4, int 100, int 0 ; <int> [#uses=1]
- %i.0 = add int %i.1.0, 1 ; <int> [#uses=1]
- %inc = add int %i.0, %tmp.7 ; <int> [#uses=3]
- %tmp.1 = setlt int %inc, 100 ; <bool> [#uses=1]
- br bool %tmp.1, label %no_exit, label %loopexit
+no_exit: ; preds = %no_exit, %entry
+ %i.1.0 = phi i32 [ 0, %entry ], [ %inc, %no_exit ] ; <i32> [#uses=2]
+ %tmp.4 = icmp sgt i32 %i.1.0, 50 ; <i1> [#uses=1]
+ %tmp.7 = select i1 %tmp.4, i32 100, i32 0 ; <i32> [#uses=1]
+ %i.0 = add i32 %i.1.0, 1 ; <i32> [#uses=1]
+ %inc = add i32 %i.0, %tmp.7 ; <i32> [#uses=3]
+ %tmp.1 = icmp slt i32 %inc, 100 ; <i1> [#uses=1]
+ br i1 %tmp.1, label %no_exit, label %loopexit
-loopexit: ; preds = %no_exit
- ret int %inc
+loopexit: ; preds = %no_exit
+ ret i32 %inc
}
diff --git a/test/Transforms/IndVarsSimplify/2005-06-15-InstMoveCrash.ll b/test/Transforms/IndVarsSimplify/2005-06-15-InstMoveCrash.ll
index 896482c29b..ba4db9f959 100644
--- a/test/Transforms/IndVarsSimplify/2005-06-15-InstMoveCrash.ll
+++ b/test/Transforms/IndVarsSimplify/2005-06-15-InstMoveCrash.ll
@@ -1,36 +1,37 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -indvars -disable-output
+; RUN: llvm-as < %s | opt -indvars -disable-output
-void %main() {
+define void @main() {
entry:
- br label %no_exit.1.outer
+ br label %no_exit.1.outer
-no_exit.1.outer: ; preds = %endif.0, %entry
- %l_14237116.1.0.ph = phi sbyte [ -46, %entry ], [ 0, %endif.0 ] ; <sbyte> [#uses=1]
- %i.0.0.0.ph = phi int [ 0, %entry ], [ %inc.1, %endif.0 ] ; <int> [#uses=1]
- br label %no_exit.1
+no_exit.1.outer: ; preds = %endif.0, %entry
+ %l_14237116.1.0.ph = phi i8 [ -46, %entry ], [ 0, %endif.0 ] ; <i8> [#uses=1]
+ %i.0.0.0.ph = phi i32 [ 0, %entry ], [ %inc.1, %endif.0 ] ; <i32> [#uses=1]
+ br label %no_exit.1
-no_exit.1: ; preds = %_Z13func_47880058cc.exit, %no_exit.1.outer
- br bool false, label %_Z13func_47880058cc.exit, label %then.i
+no_exit.1: ; preds = %_Z13func_47880058cc.exit, %no_exit.1.outer
+ br i1 false, label %_Z13func_47880058cc.exit, label %then.i
-then.i: ; preds = %no_exit.1
- br label %_Z13func_47880058cc.exit
+then.i: ; preds = %no_exit.1
+ br label %_Z13func_47880058cc.exit
-_Z13func_47880058cc.exit: ; preds = %then.i, %no_exit.1
- br bool false, label %then.0, label %no_exit.1
+_Z13func_47880058cc.exit: ; preds = %then.i, %no_exit.1
+ br i1 false, label %then.0, label %no_exit.1
-then.0: ; preds = %_Z13func_47880058cc.exit
- %tmp.6 = cast sbyte %l_14237116.1.0.ph to ubyte ; <ubyte> [#uses=1]
- br bool false, label %endif.0, label %then.1
+then.0: ; preds = %_Z13func_47880058cc.exit
+ %tmp.6 = bitcast i8 %l_14237116.1.0.ph to i8 ; <i8> [#uses=1]
+ br i1 false, label %endif.0, label %then.1
-then.1: ; preds = %then.0
- br label %endif.0
+then.1: ; preds = %then.0
+ br label %endif.0
-endif.0: ; preds = %then.1, %then.0
- %inc.1 = add int %i.0.0.0.ph, 1 ; <int> [#uses=2]
- %tmp.2 = setgt int %inc.1, 99 ; <bool> [#uses=1]
- br bool %tmp.2, label %loopexit.0, label %no_exit.1.outer
+endif.0: ; preds = %then.1, %then.0
+ %inc.1 = add i32 %i.0.0.0.ph, 1 ; <i32> [#uses=2]
+ %tmp.2 = icmp sgt i32 %inc.1, 99 ; <i1> [#uses=1]
+ br i1 %tmp.2, label %loopexit.0, label %no_exit.1.outer
-loopexit.0: ; preds = %endif.0
- %tmp.28 = cast ubyte %tmp.6 to uint ; <uint> [#uses=0]
- ret void
+loopexit.0: ; preds = %endif.0
+ %tmp.28 = zext i8 %tmp.6 to i32 ; <i32> [#uses=0]
+ ret void
}
+
diff --git a/test/Transforms/IndVarsSimplify/2005-11-18-Crash.ll b/test/Transforms/IndVarsSimplify/2005-11-18-Crash.ll
index 9960e5cdb2..5ee8cea74a 100644
--- a/test/Transforms/IndVarsSimplify/2005-11-18-Crash.ll
+++ b/test/Transforms/IndVarsSimplify/2005-11-18-Crash.ll
@@ -1,18 +1,17 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -indvars -disable-output
+; RUN: llvm-as < %s | opt -indvars -disable-output
-%fixtab = external global [29 x [29 x [2 x uint]]] ; <[29 x [29 x [2 x uint]]]*> [#uses=1]
+@fixtab = external global [29 x [29 x [2 x i32]]] ; <[29 x [29 x [2 x i32]]]*> [#uses=1]
-implementation ; Functions:
-
-void %init_optabs() {
+define void @init_optabs() {
entry:
- br label %no_exit.0
+ br label %no_exit.0
-no_exit.0: ; preds = %no_exit.0, %entry
- %p.0.0 = phi uint* [ getelementptr ([29 x [29 x [2 x uint]]]* %fixtab, int 0, int 0, int 0, int 0), %entry ], [ %inc.0, %no_exit.0 ] ; <uint*> [#uses=1]
- %inc.0 = getelementptr uint* %p.0.0, int 1 ; <uint*> [#uses=1]
- br bool false, label %no_exit.0, label %no_exit.1
+no_exit.0: ; preds = %no_exit.0, %entry
+ %p.0.0 = phi i32* [ getelementptr ([29 x [29 x [2 x i32]]]* @fixtab, i32 0, i32 0, i32 0, i32 0), %entry ], [ %inc.0, %no_exit.0 ] ; <i32*> [#uses=1]
+ %inc.0 = getelementptr i32* %p.0.0, i32 1 ; <i32*> [#uses=1]
+ br i1 false, label %no_exit.0, label %no_exit.1
-no_exit.1: ; preds = %no_exit.0
- ret void
+no_exit.1: ; preds = %no_exit.0
+ ret void
}
+
diff --git a/test/Transforms/IndVarsSimplify/2006-03-31-NegativeStride.ll b/test/Transforms/IndVarsSimplify/2006-03-31-NegativeStride.ll
index b2860fd554..32abee9d1c 100644
--- a/test/Transforms/IndVarsSimplify/2006-03-31-NegativeStride.ll
+++ b/test/Transforms/IndVarsSimplify/2006-03-31-NegativeStride.ll
@@ -1,22 +1,22 @@
; PR726
-; RUN: llvm-upgrade < %s | llvm-as | opt -indvars | llvm-dis | \
+; RUN: llvm-as < %s | opt -indvars | llvm-dis | \
; RUN: grep {ret i32 27}
; Make sure to compute the right exit value based on negative strides.
-int %test() {
+define i32 @test() {
entry:
br label %cond_true
cond_true: ; preds = %cond_true, %entry
- %a.0.0 = phi int [ 10, %entry ], [ %tmp4, %cond_true ] ; <int> [#uses=2]
- %b.0.0 = phi int [ 0, %entry ], [ %tmp2, %cond_true ] ; <int> [#uses=1]
- %tmp2 = add int %b.0.0, %a.0.0 ; <int> [#uses=2]
- %tmp4 = add int %a.0.0, -1 ; <int> [#uses=2]
- %tmp = setgt int %tmp4, 7 ; <bool> [#uses=1]
- br bool %tmp, label %cond_true, label %bb7
+ %a.0.0 = phi i32 [ 10, %entry ], [ %tmp4, %cond_true ] ; <i32> [#uses=2]
+ %b.0.0 = phi i32 [ 0, %entry ], [ %tmp2, %cond_true ] ; <i32> [#uses=1]
+ %tmp2 = add i32 %b.0.0, %a.0.0 ; <i32> [#uses=2]
+ %tmp4 = add i32 %a.0.0, -1 ; <i32> [#uses=2]
+ %tmp = icmp sgt i32 %tmp4, 7 ; <i1> [#uses=1]
+ br i1 %tmp, label %cond_true, label %bb7
bb7: ; preds = %cond_true
- ret int %tmp2
+ ret i32 %tmp2
}
diff --git a/test/Transforms/IndVarsSimplify/2006-06-16-Indvar-LCSSA-Crash.ll b/test/Transforms/IndVarsSimplify/2006-06-16-Indvar-LCSSA-Crash.ll
index 1fe8026ef4..986831b9a6 100644
--- a/test/Transforms/IndVarsSimplify/2006-06-16-Indvar-LCSSA-Crash.ll
+++ b/test/Transforms/IndVarsSimplify/2006-06-16-Indvar-LCSSA-Crash.ll
@@ -1,21 +1,22 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -indvars -disable-output
+; RUN: llvm-as < %s | opt -indvars -disable-output
-void %get_block() {
-endif.0: ; preds = %entry
- br label %no_exit.30
+define void @get_block() {
+endif.0:
+ br label %no_exit.30
-no_exit.30: ; preds = %no_exit.30, %endif.0
- %x.12.0 = phi int [ %inc.28, %no_exit.30 ], [ -2, %endif.0 ] ; <int> [#uses=1]
- %tmp.583 = load ushort* null ; <ushort> [#uses=1]
- %tmp.584 = cast ushort %tmp.583 to int ; <int> [#uses=1]
- %tmp.588 = load int* null ; <int> [#uses=1]
- %tmp.589 = mul int %tmp.584, %tmp.588 ; <int> [#uses=1]
- %tmp.591 = add int %tmp.589, 0 ; <int> [#uses=1]
- %inc.28 = add int %x.12.0, 1 ; <int> [#uses=2]
- %tmp.565 = setgt int %inc.28, 3 ; <bool> [#uses=1]
- br bool %tmp.565, label %loopexit.30, label %no_exit.30
+no_exit.30: ; preds = %no_exit.30, %endif.0
+ %x.12.0 = phi i32 [ %inc.28, %no_exit.30 ], [ -2, %endif.0 ] ; <i32> [#uses=1]
+ %tmp.583 = load i16* null ; <i16> [#uses=1]
+ %tmp.584 = zext i16 %tmp.583 to i32 ; <i32> [#uses=1]
+ %tmp.588 = load i32* null ; <i32> [#uses=1]
+ %tmp.589 = mul i32 %tmp.584, %tmp.588 ; <i32> [#uses=1]
+ %tmp.591 = add i32 %tmp.589, 0 ; <i32> [#uses=1]
+ %inc.28 = add i32 %x.12.0, 1 ; <i32> [#uses=2]
+ %tmp.565 = icmp sgt i32 %inc.28, 3 ; <i1> [#uses=1]
+ br i1 %tmp.565, label %loopexit.30, label %no_exit.30
-loopexit.30: ; preds = %no_exit.30
- %tmp.591.lcssa = phi int [ %tmp.591, %no_exit.30 ] ; <int> [#uses=0]
- ret void
+loopexit.30: ; preds = %no_exit.30
+ %tmp.591.lcssa = phi i32 [ %tmp.591, %no_exit.30 ] ; <i32> [#uses=0]
+ ret void
}
+
diff --git a/test/Transforms/IndVarsSimplify/2006-09-20-LFTR-Crash.ll b/test/Transforms/IndVarsSimplify/2006-09-20-LFTR-Crash.ll
index 88872f67c9..6a478ab5f5 100644
--- a/test/Transforms/IndVarsSimplify/2006-09-20-LFTR-Crash.ll
+++ b/test/Transforms/IndVarsSimplify/2006-09-20-LFTR-Crash.ll
@@ -1,18 +1,16 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -indvars -disable-output
+; RUN: llvm-as < %s | opt -indvars -disable-output
+; ModuleID = '2006-09-20-LFTR-Crash.ll'
+ %struct.p7prior_s = type { i32, i32, [200 x float], [200 x [7 x float]], i32, [200 x float], [200 x [20 x float]], i32, [200 x float], [200 x [20 x float]] }
- %struct.p7prior_s = type { int, int, [200 x float], [200 x [7 x float]], int, [200 x float], [200 x [20 x float]], int, [200 x float], [200 x [20 x float]] }
-
-implementation ; Functions:
-
-void %P7DefaultPrior() {
+define void @P7DefaultPrior() {
entry:
- switch int 0, label %UnifiedReturnBlock [
- int 2, label %bb160
- int 3, label %bb
+ switch i32 0, label %UnifiedReturnBlock [
+ i32 2, label %bb160
+ i32 3, label %bb
]
bb: ; preds = %entry
- br bool false, label %cond_true.i, label %sre_malloc.exit
+ br i1 false, label %cond_true.i, label %sre_malloc.exit
cond_true.i: ; preds = %bb
unreachable
@@ -21,18 +19,18 @@ sre_malloc.exit: ; preds = %bb
br label %cond_true
cond_true: ; preds = %cond_true66, %cond_true, %sre_malloc.exit
- %tmp59 = phi int [ 1, %sre_malloc.exit ], [ %phitmp, %cond_true66 ], [ %tmp59, %cond_true ] ; <int> [#uses=2]
- %indvar245.0.ph = phi uint [ 0, %sre_malloc.exit ], [ %indvar.next246, %cond_true66 ], [ %indvar245.0.ph, %cond_true ] ; <uint> [#uses=2]
- br bool false, label %bb57, label %cond_true
+ %tmp59 = phi i32 [ 1, %sre_malloc.exit ], [ %phitmp, %cond_true66 ], [ %tmp59, %cond_true ] ; <i32> [#uses=2]
+ %indvar245.0.ph = phi i32 [ 0, %sre_malloc.exit ], [ %indvar.next246, %cond_true66 ], [ %indvar245.0.ph, %cond_true ] ; <i32> [#uses=2]
+ br i1 false, label %bb57, label %cond_true
bb57: ; preds = %cond_true
- %tmp65 = setgt int 0, %tmp59 ; <bool> [#uses=1]
- %indvar.next246 = add uint %indvar245.0.ph, 1 ; <uint> [#uses=2]
- br bool %tmp65, label %cond_true66, label %bb69
+ %tmp65 = icmp sgt i32 0, %tmp59 ; <i1> [#uses=1]
+ %indvar.next246 = add i32 %indvar245.0.ph, 1 ; <i32> [#uses=2]
+ br i1 %tmp65, label %cond_true66, label %bb69
cond_true66: ; preds = %bb57
- %q.1.0 = cast uint %indvar.next246 to int ; <int> [#uses=1]
- %phitmp = add int %q.1.0, 1 ; <int> [#uses=1]
+ %q.1.0 = bitcast i32 %indvar.next246 to i32 ; <i32> [#uses=1]
+ %phitmp = add i32 %q.1.0, 1 ; <i32> [#uses=1]
br label %cond_true
bb69: ; preds = %bb57
diff --git a/test/Transforms/IndVarsSimplify/2006-12-10-BitCast.ll b/test/Transforms/IndVarsSimplify/2006-12-10-BitCast.ll
index 4d2a29b22b..903e81d3bf 100644
--- a/test/Transforms/IndVarsSimplify/2006-12-10-BitCast.ll
+++ b/test/Transforms/IndVarsSimplify/2006-12-10-BitCast.ll
@@ -1,31 +1,26 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -indvars -disable-output
-
+; RUN: llvm-as < %s | opt -indvars -disable-output
target datalayout = "e-p:32:32"
-target endian = little
-target pointersize = 32
target triple = "i686-apple-darwin8"
- %struct.vorbis_dsp_state = type { int, %struct.vorbis_info*, float**, float**, int, int, int, int, int, int, int, int, int, long, long, long, long, long, long, sbyte* }
- %struct.vorbis_info = type { int, int, int, int, int, int, int, sbyte* }
-
-implementation ; Functions:
+ %struct.vorbis_dsp_state = type { i32, %struct.vorbis_info*, float**, float**, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64, i64, i64, i64, i64, i64, i8* }
+ %struct.vorbis_info = type { i32, i32, i32, i32, i32, i32, i32, i8* }
-void %_ve_envelope_search() {
+define void @_ve_envelope_search() {
entry:
- br bool false, label %cond_true27, label %bb137
+ br i1 false, label %cond_true27, label %bb137
cond_true27: ; preds = %entry
- br bool false, label %cond_true52, label %bb80
+ br i1 false, label %cond_true52, label %bb80
cond_true52: ; preds = %cond_true27
- %tmp152.i = bitcast float 0.000000e+00 to uint ; <uint> [#uses=1]
+ %tmp152.i = bitcast float 0.000000e+00 to i32 ; <i32> [#uses=1]
br label %cond_next182.i
cond_next182.i: ; preds = %cond_next182.i, %cond_true52
- %decay.i.0 = phi uint [ %tmp195.i, %cond_next182.i ], [ %tmp152.i, %cond_true52 ] ; <uint> [#uses=1]
- %tmp194.i53 = bitcast uint %decay.i.0 to float ; <float> [#uses=1]
+ %decay.i.0 = phi i32 [ %tmp195.i.upgrd.1, %cond_next182.i ], [ %tmp152.i, %cond_true52 ] ; <i32> [#uses=1]
+ %tmp194.i53 = bitcast i32 %decay.i.0 to float ; <float> [#uses=1]
%tmp195.i = sub float %tmp194.i53, 8.000000e+00 ; <float> [#uses=1]
- %tmp195.i = bitcast float %tmp195.i to uint ; <uint> [#uses=1]
- br bool false, label %cond_next182.i, label %bb418.i.preheader
+ %tmp195.i.upgrd.1 = bitcast float %tmp195.i to i32 ; <i32> [#uses=1]
+ br i1 false, label %cond_next182.i, label %bb418.i.preheader
bb418.i.preheader: ; preds = %cond_next182.i
ret void
diff --git a/test/Transforms/IndVarsSimplify/complex-scev.ll b/test/Transforms/IndVarsSimplify/complex-scev.ll
index 7d7e8a3562..4bfc4e981a 100644
--- a/test/Transforms/IndVarsSimplify/complex-scev.ll
+++ b/test/Transforms/IndVarsSimplify/complex-scev.ll
@@ -1,28 +1,29 @@
; The i induction variable looks like a wrap-around, but it really is just
; a simple affine IV. Make sure that indvars eliminates it.
-; RUN: llvm-upgrade < %s | llvm-as | opt -indvars | llvm-dis | grep phi | count 1
+; RUN: llvm-as < %s | opt -indvars | llvm-dis | grep phi | count 1
-void %foo() {
+define void @foo() {
entry:
- br label %bb6
-
-bb6: ; preds = %cond_true, %entry
- %j.0 = phi int [ 1, %entry ], [ %tmp5, %cond_true ] ; <int> [#uses=3]
- %i.0 = phi int [ 0, %entry ], [ %j.0, %cond_true ] ; <int> [#uses=1]
- %tmp7 = call int (...)* %foo2( ) ; <int> [#uses=1]
- %tmp = setne int %tmp7, 0 ; <bool> [#uses=1]
- br bool %tmp, label %cond_true, label %return
-
-cond_true: ; preds = %bb6
- %tmp2 = call int (...)* %bar( int %i.0, int %j.0 ) ; <int> [#uses=0]
- %tmp5 = add int %j.0, 1 ; <int> [#uses=1]
- br label %bb6
-
-return: ; preds = %bb6
- ret void
+ br label %bb6
+
+bb6: ; preds = %cond_true, %entry
+ %j.0 = phi i32 [ 1, %entry ], [ %tmp5, %cond_true ] ; <i32> [#uses=3]
+ %i.0 = phi i32 [ 0, %entry ], [ %j.0, %cond_true ] ; <i32> [#uses=1]
+ %tmp7 = call i32 (...)* @foo2( ) ; <i32> [#uses=1]
+ %tmp = icmp ne i32 %tmp7, 0 ; <i1> [#uses=1]
+ br i1 %tmp, label %cond_true, label %return
+
+cond_true: ; preds = %bb6
+ %tmp2 = call i32 (...)* @bar( i32 %i.0, i32 %j.0 ) ; <i32> [#uses=0]
+ %tmp5 = add i32 %j.0, 1 ; <i32> [#uses=1]
+ br label %bb6
+
+return: ; preds = %bb6
+ ret void
}
-declare int %bar(...)
+declare i32 @bar(...)
+
+declare i32 @foo2(...)
-declare int %foo2(...)
diff --git a/test/Transforms/IndVarsSimplify/exit_value_tests.llx b/test/Transforms/IndVarsSimplify/exit_value_tests.llx
index 4e15fc3de7..5e26ea22d9 100644
--- a/test/Transforms/IndVarsSimplify/exit_value_tests.llx
+++ b/test/Transforms/IndVarsSimplify/exit_value_tests.llx
@@ -2,102 +2,113 @@
; these loops all have predictable exit values we can replace the use outside
; of the loop with a closed-form computation, making the loop dead.
;
-; RUN: llvm-upgrade < %s | llvm-as | opt -indvars -adce -simplifycfg | \
+; RUN: llvm-as < %s | opt -indvars -adce -simplifycfg | \
; RUN: llvm-dis | not grep br
-int %polynomial_constant() {
- br label %Loop
-Loop:
- %A1 = phi int [0, %0], [%A2, %Loop]
- %B1 = phi int [0, %0], [%B2, %Loop]
- %A2 = add int %A1, 1
- %B2 = add int %B1, %A1
-
- %C = seteq int %A1, 1000
- br bool %C, label %Out, label %Loop
-Out:
- ret int %B2
+define i32 @polynomial_constant() {
+; <label>:0
+ br label %Loop
+
+Loop: ; preds = %Loop, %0
+ %A1 = phi i32 [ 0, %0 ], [ %A2, %Loop ] ; <i32> [#uses=3]
+ %B1 = phi i32 [ 0, %0 ], [ %B2, %Loop ] ; <i32> [#uses=1]
+ %A2 = add i32 %A1, 1 ; <i32> [#uses=1]
+ %B2 = add i32 %B1, %A1 ; <i32> [#uses=2]
+ %C = icmp eq i32 %A1, 1000 ; <i1> [#uses=1]
+ br i1 %C, label %Out, label %Loop
+
+Out: ; preds = %Loop
+ ret i32 %B2
}
-int %NSquare(int %N) {
+define i32 @NSquare(i32 %N) {
+; <label>:0
br label %Loop
-Loop:
- %X = phi int [0, %0], [%X2, %Loop]
- %X2 = add int %X, 1
- %c = seteq int %X, %N
- br bool %c, label %Out, label %Loop
-Out:
- %Y = mul int %X, %X
- ret int %Y
+
+Loop: ; preds = %Loop, %0
+ %X = phi i32 [ 0, %0 ], [ %X2, %Loop ] ; <i32> [#uses=4]
+ %X2 = add i32 %X, 1 ; <i32> [#uses=1]
+ %c = icmp eq i32 %X, %N ; <i1> [#uses=1]
+ br i1 %c, label %Out, label %Loop
+
+Out: ; preds = %Loop
+ %Y = mul i32 %X, %X ; <i32> [#uses=1]
+ ret i32 %Y
}
-int %NSquareOver2(int %N) {
+define i32 @NSquareOver2(i32 %N) {
+; <label>:0
br label %Loop
-Loop:
- %X = phi int [0, %0], [%X2, %Loop]
- %Y = phi int [15, %0], [%Y2, %Loop] ;; include offset of 15 for yuks
- %Y2 = add int %Y, %X
+Loop: ; preds = %Loop, %0
+ %X = phi i32 [ 0, %0 ], [ %X2, %Loop ] ; <i32> [#uses=3]
+ %Y = phi i32 [ 15, %0 ], [ %Y2, %Loop ] ; <i32> [#uses=1]
+ %Y2 = add i32 %Y, %X ; <i32> [#uses=2]
+ %X2 = add i32 %X, 1 ; <i32> [#uses=1]
+ %c = icmp eq i32 %X, %N ; <i1> [#uses=1]
+ br i1 %c, label %Out, label %Loop
- %X2 = add int %X, 1
- %c = seteq int %X, %N
- br bool %c, label %Out, label %Loop
-Out:
- ret int %Y2
+Out: ; preds = %Loop
+ ret i32 %Y2
}
-int %strength_reduced() {
- br label %Loop
-Loop:
- %A1 = phi int [0, %0], [%A2, %Loop]
- %B1 = phi int [0, %0], [%B2, %Loop]
- %A2 = add int %A1, 1
- %B2 = add int %B1, %A1
-
- %C = seteq int %A1, 1000
- br bool %C, label %Out, label %Loop
-Out:
- ret int %B2
+define i32 @strength_reduced() {
+; <label>:0
+ br label %Loop
+
+Loop: ; preds = %Loop, %0
+ %A1 = phi i32 [ 0, %0 ], [ %A2, %Loop ] ; <i32> [#uses=3]
+ %B1 = phi i32 [ 0, %0 ], [ %B2, %Loop ] ; <i32> [#uses=1]
+ %A2 = add i32 %A1, 1 ; <i32> [#uses=1]
+ %B2 = add i32 %B1, %A1 ; <i32> [#uses=2]
+ %C = icmp eq i32 %A1, 1000 ; <i1> [#uses=1]
+ br i1 %C, label %Out, label %Loop
+
+Out: ; preds = %Loop
+ ret i32 %B2
}
-int %chrec_equals() {
+define i32 @chrec_equals() {
entry:
- br label %no_exit
-no_exit:
- %i0 = phi int [ 0, %entry ], [ %i1, %no_exit ]
- %ISq = mul int %i0, %i0
- %i1 = add int %i0, 1
- %tmp.1 = setne int %ISq, 10000 ; while (I*I != 1000)
- br bool %tmp.1, label %no_exit, label %loopexit
-loopexit:
- ret int %i1
+ br label %no_exit
+
+no_exit: ; preds = %no_exit, %entry
+ %i0 = phi i32 [ 0, %entry ], [ %i1, %no_exit ] ; <i32> [#uses=3]
+ %ISq = mul i32 %i0, %i0 ; <i32> [#uses=1]
+ %i1 = add i32 %i0, 1 ; <i32> [#uses=2]
+ %tmp.1 = icmp ne i32 %ISq, 10000 ; <i1> [#uses=1]
+ br i1 %tmp.1, label %no_exit, label %loopexit
+
+loopexit: ; preds = %no_exit
+ ret i32 %i1
}
-;; We should recognize B1 as being a recurrence, allowing us to compute the
-;; trip count and eliminate the loop.
-short %cast_chrec_test() {
- br label %Loop
-Loop:
- %A1 = phi int [0, %0], [%A2, %Loop]
- %B1 = cast int %A1 to short
- %A2 = add int %A1, 1
-
- %C = seteq short %B1, 1000
- br bool %C, label %Out, label %Loop
-Out:
- ret short %B1
+define i16 @cast_chrec_test() {
+; <label>:0
+ br label %Loop
+
+Loop: ; preds = %Loop, %0
+ %A1 = phi i32 [ 0, %0 ], [ %A2, %Loop ] ; <i32> [#uses=2]
+ %B1 = trunc i32 %A1 to i16 ; <i16> [#uses=2]
+ %A2 = add i32 %A1, 1 ; <i32> [#uses=1]
+ %C = icmp eq i16 %B1, 1000 ; <i1> [#uses=1]
+ br i1 %C, label %Out, label %Loop
+
+Out: ; preds = %Loop
+ ret i16 %B1
}
-uint %linear_div_fold() { ;; for (i = 4; i != 68; i += 8) (exit with i/2)
+define i32 @linear_div_fold() {
entry:
- br label %loop
-loop:
- %i = phi uint [ 4, %entry ], [ %i.next, %loop ]
- %i.next = add uint %i, 8
- %RV = div uint %i, 2
- %c = setne uint %i, 68
- br bool %c, label %loop, label %loopexit
-loopexit:
- ret uint %RV
-}
+ br label %loop
+loop: ; preds = %loop, %entry
+ %i = phi i32 [ 4, %entry ], [ %i.next, %loop ] ; <i32> [#uses=3]
+ %i.next = add i32 %i, 8 ; <i32> [#uses=1]
+ %RV = udiv i32 %i, 2 ; <i32> [#uses=1]
+ %c = icmp ne i32 %i, 68 ; <i1> [#uses=1]
+ br i1 %c, label %loop, label %loopexit
+
+loopexit: ; preds = %loop
+ ret i32 %RV
+}
diff --git a/test/Transforms/IndVarsSimplify/lftr_simple.llx b/test/Transforms/IndVarsSimplify/lftr_simple.llx
index 2265e57c6a..3f7c289a48 100644
--- a/test/Transforms/IndVarsSimplify/lftr_simple.llx
+++ b/test/Transforms/IndVarsSimplify/lftr_simple.llx
@@ -1,23 +1,22 @@
; LFTR should eliminate the need for the computation of i*i completely. It
; is only used to compute the exit value.
-; RUN: llvm-upgrade < %s | llvm-as | opt -indvars -dce | llvm-dis | not grep mul
+; RUN: llvm-as < %s | opt -indvars -dce | llvm-dis | not grep mul
-%A = external global int
+@A = external global i32 ; <i32*> [#uses=1]
-implementation
-
-int %quadratic_setlt() { ;; for (i = 7; i*i < 1000; ++i)
+define i32 @quadratic_setlt() {
entry:
br label %loop
-loop:
- %i = phi int [ 7, %entry ], [ %i.next, %loop ]
- %i.next = add int %i, 1
- store int %i, int* %A
-
- %i2 = mul int %i, %i
- %c = setlt int %i2, 1000
- br bool %c, label %loop, label %loopexit
-loopexit:
- ret int %i
+
+loop: ; preds = %loop, %entry
+ %i = phi i32 [ 7, %entry ], [ %i.next, %loop ] ; <i32> [#uses=5]
+ %i.next = add i32 %i, 1 ; <i32> [#uses=1]
+ store i32 %i, i32* @A
+ %i2 = mul i32 %i, %i ; <i32> [#uses=1]
+ %c = icmp slt i32 %i2, 1000 ; <i1> [#uses=1]
+ br i1 %c, label %loop, label %loopexit
+
+loopexit: ; preds = %loop
+ ret i32 %i
}
diff --git a/test/Transforms/IndVarsSimplify/loop_evaluate_1.ll b/test/Transforms/IndVarsSimplify/loop_evaluate_1.ll
index ead9b916a2..ffff30ae40 100644
--- a/test/Transforms/IndVarsSimplify/loop_evaluate_1.ll
+++ b/test/Transforms/IndVarsSimplify/loop_evaluate_1.ll
@@ -1,21 +1,21 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -indvars -adce -simplifycfg | llvm-dis | not grep br
+; RUN: llvm-as < %s | opt -indvars -adce -simplifycfg | llvm-dis | not grep br
;
; Testcase distilled from 256.bzip2
-int %main() {
+define i32 @main() {
entry:
br label %loopentry
-loopentry: ; preds = %entry, %loopentry
- %indvar1 = phi uint [ 0, %entry ], [ %indvar.next2, %loopentry ] ; <uint> [#uses=1]
- %h.0 = phi int [ %tmp.2, %loopentry ], [ 4, %entry ] ; <int> [#uses=1]
- %tmp.1 = mul int %h.0, 3 ; <int> [#uses=1]
- %tmp.2 = add int %tmp.1, 1 ; <int> [#uses=1]
- %indvar.next2 = add uint %indvar1, 1 ; <uint> [#uses=2]
- %exitcond3 = setne uint %indvar.next2, 4 ; <bool> [#uses=1]
- br bool %exitcond3, label %loopentry, label %loopexit
+loopentry: ; preds = %loopentry, %entry
+ %indvar1 = phi i32 [ 0, %entry ], [ %indvar.next2, %loopentry ] ; <i32> [#uses=1]
+ %h.0 = phi i32 [ %tmp.2, %loopentry ], [ 4, %entry ] ; <i32> [#uses=1]
+ %tmp.1 = mul i32 %h.0, 3 ; <i32> [#uses=1]
+ %tmp.2 = add i32 %tmp.1, 1 ; <i32> [#uses=2]
+ %indvar.next2 = add i32 %indvar1, 1 ; <i32> [#uses=2]
+ %exitcond3 = icmp ne i32 %indvar.next2, 4 ; <i1> [#uses=1]
+ br i1 %exitcond3, label %loopentry, label %loopexit
loopexit: ; preds = %loopentry
- ret int %tmp.2
+ ret i32 %tmp.2
}
diff --git a/test/Transforms/IndVarsSimplify/pointer-indvars.ll b/test/Transforms/IndVarsSimplify/pointer-indvars.ll
index 57f7d2470f..c9da1579e9 100644
--- a/test/Transforms/IndVarsSimplify/pointer-indvars.ll
+++ b/test/Transforms/IndVarsSimplify/pointer-indvars.ll
@@ -1,14 +1,15 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -indvars | llvm-dis | grep indvar
+; RUN: llvm-as < %s | opt -indvars | llvm-dis | grep indvar
+@G = global i32* null ; <i32**> [#uses=1]
+@Array = external global [40 x i32] ; <[40 x i32]*> [#uses=1]
-%G = global int* null
+define void @test() {
+; <label>:0
+ br label %Loop
-%Array = external global [40 x int]
-
-void %test() {
- br label %Loop
-Loop:
- %X = phi int* [getelementptr ([40 x int]* %Array, long 0, long 0), %0], [%X.next, %Loop]
- %X.next = getelementptr int* %X, long 1
- store int* %X, int** %G
- br label %Loop
+Loop: ; preds = %Loop, %0
+ %X = phi i32* [ getelementptr ([40 x i32]* @Array, i64 0, i64 0), %0 ], [ %X.next, %Loop ] ; <i32*> [#uses=2]
+ %X.next = getelementptr i32* %X, i64 1 ; <i32*> [#uses=1]
+ store i32* %X, i32** @G
+ br label %Loop
}
+
diff --git a/test/Transforms/IndVarsSimplify/subtract.ll b/test/Transforms/IndVarsSimplify/subtract.ll
index 9cff198ff5..51065cc1a8 100644
--- a/test/Transforms/IndVarsSimplify/subtract.ll
+++ b/test/Transforms/IndVarsSimplify/subtract.ll
@@ -1,12 +1,15 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -indvars | llvm-dis | grep indvar
+; RUN: llvm-as < %s | opt -indvars | llvm-dis | grep indvar
-%G = global long 0
+@G = global i64 0 ; <i64*> [#uses=1]
-void %test(long %V) {
- br label %Loop
-Loop:
- %X = phi long [1, %0], [%X.next, %Loop]
- %X.next = sub long %X, %V
- store long %X, long* %G
- br label %Loop
+define void @test(i64 %V) {
+; <label>:0
+ br label %Loop
+
+Loop: ; preds = %Loop, %0
+ %X = phi i64 [ 1, %0 ], [ %X.next, %Loop ] ; <i64> [#uses=2]
+ %X.next = sub i64 %X, %V ; <i64> [#uses=1]
+ store i64 %X, i64* @G
+ br label %Loop
}
+
diff --git a/test/Transforms/IndVarsSimplify/tripcount_compute.llx b/test/Transforms/IndVarsSimplify/tripcount_compute.llx
index 733fa1d3ef..1abc82d635 100644
--- a/test/Transforms/IndVarsSimplify/tripcount_compute.llx
+++ b/test/Transforms/IndVarsSimplify/tripcount_compute.llx
@@ -1,90 +1,100 @@
-; These tests ensure that we can compute the trip count of various forms of
+; These tests ensure that we can compute the trip count of various forms of
; loops. If the trip count of the loop is computable, then we will know what
; the exit value of the loop will be for some value, allowing us to substitute
; it directly into users outside of the loop, making the loop dead.
;
-; RUN: llvm-upgrade < %s | llvm-as | opt -indvars -adce -simplifycfg | llvm-dis | not grep br
+; RUN: llvm-as < %s | opt -indvars -adce -simplifycfg | llvm-dis | not grep br
-int %linear_setne() { ;; for (i = 0; i != 100; ++i)
+define i32 @linear_setne() {
entry:
br label %loop
-loop:
- %i = phi int [ 0, %entry ], [ %i.next, %loop ]
- %i.next = add int %i, 1
- %c = setne int %i, 100
- br bool %c, label %loop, label %loopexit
-loopexit:
- ret int %i
+
+loop: ; preds = %loop, %entry
+ %i = phi i32 [ 0, %entry ], [ %i.next, %loop ] ; <i32> [#uses=3]
+ %i.next = add i32 %i, 1 ; <i32> [#uses=1]
+ %c = icmp ne i32 %i, 100 ; <i1> [#uses=1]
+ br i1 %c, label %loop, label %loopexit
+
+loopexit: ; preds = %loop
+ ret i32 %i
}
-int %linear_setne_2() { ;; for (i = 0; i != 100; i += 2)
+define i32 @linear_setne_2() {
entry:
br label %loop
-loop:
- %i = phi int [ 0, %entry ], [ %i.next, %loop ]
- %i.next = add int %i, 2
- %c = setne int %i, 100
- br bool %c, label %loop, label %loopexit
-loopexit:
- ret int %i
-}
+loop: ; preds = %loop, %entry
+ %i = phi i32 [ 0, %entry ], [ %i.next, %loop ] ; <i32> [#uses=3]
+ %i.next = add i32 %i, 2 ; <i32> [#uses=1]
+ %c = icmp ne i32 %i, 100 ; <i1> [#uses=1]
+ br i1 %c, label %loop, label %loopexit
+
+loopexit: ; preds = %loop
+ ret i32 %i
+}
-int %linear_setne_overflow() { ;; for (i = 1024; i != 0; i += 1024)
+define i32 @linear_setne_overflow() {
entry:
br label %loop
-loop:
- %i = phi int [ 1024, %entry ], [ %i.next, %loop ]
- %i.next = add int %i, 1024
- %c = setne int %i, 0
- br bool %c, label %loop, label %loopexit
-loopexit:
- ret int %i
+
+loop: ; preds = %loop, %entry
+ %i = phi i32 [ 1024, %entry ], [ %i.next, %loop ] ; <i32> [#uses=3]
+ %i.next = add i32 %i, 1024 ; <i32> [#uses=1]
+ %c = icmp ne i32 %i, 0 ; <i1> [#uses=1]
+ br i1 %c, label %loop, label %loopexit
+
+loopexit: ; preds = %loop
+ ret i32 %i
}
-int %linear_setlt() { ;; for (i = 0; i < 100; ++i)
+define i32 @linear_setlt() {
entry:
br label %loop
-loop:
- %i = phi int [ 0, %entry ], [ %i.next, %loop ]
- %i.next = add int %i, 1
- %c = setlt int %i, 100
- br bool %c, label %loop, label %loopexit
-loopexit:
- ret int %i
+
+loop: ; preds = %loop, %entry
+ %i = phi i32 [ 0, %entry ], [ %i.next, %loop ] ; <i32> [#uses=3]
+ %i.next = add i32 %i, 1 ; <i32> [#uses=1]
+ %c = icmp slt i32 %i, 100 ; <i1> [#uses=1]
+ br i1 %c, label %loop, label %loopexit
+
+loopexit: ; preds = %loop
+ ret i32 %i
}
-int %quadratic_setlt() { ;; for (i = 7; i*i < 1000; i+=3)
+define i32 @quadratic_setlt() {
entry:
- br label %loop
-loop:
- %i = phi int [ 7, %entry ], [ %i.next, %loop ]
- %i.next = add int %i, 3
- %i2 = mul int %i, %i
- %c = setlt int %i2, 1000
- br bool %c, label %loop, label %loopexit
-loopexit:
- ret int %i
+ br label %loop
+
+loop: ; preds = %loop, %entry
+ %i = phi i32 [ 7, %entry ], [ %i.next, %loop ] ; <i32> [#uses=4]
+ %i.next = add i32 %i, 3 ; <i32> [#uses=1]
+ %i2 = mul i32 %i, %i ; <i32> [#uses=1]
+ %c = icmp slt i32 %i2, 1000 ; <i1> [#uses=1]
+ br i1 %c, label %loop, label %loopexit
+
+loopexit: ; preds = %loop
+ ret i32 %i
}
-;; Chained loop test - The exit value of the second loop depends on the exit
-;; value of the first being computed.
-int %chained() {
+define i32 @chained() {
entry:
br label %loop
-loop: ;; for (i = 0; i != 100; ++i)
- %i = phi int [ 0, %entry ], [ %i.next, %loop ]
- %i.next = add int %i, 1
- %c = setne int %i, 100
- br bool %c, label %loop, label %loopexit
-loopexit:
+
+loop: ; preds = %loop, %entry
+ %i = phi i32 [ 0, %entry ], [ %i.next, %loop ] ; <i32> [#uses=3]
+ %i.next = add i32 %i, 1 ; <i32> [#uses=1]
+ %c = icmp ne i32 %i, 100 ; <i1> [#uses=1]
+ br i1 %c, label %loop, label %loopexit
+
+loopexit: ; preds = %loop
br label %loop2
-loop2: ;; for (j = i; j != 200; ++j)
- %j = phi int [ %i, %loopexit ], [ %j.next, %loop2 ]
- %j.next = add int %j, 1
- %c2 = setne int %j, 200
- br bool %c2, label %loop2, label %loopexit2
-loopexit2:
- ret int %j
-}
+loop2: ; preds = %loop2, %loopexit
+ %j = phi i32 [ %i, %loopexit ], [ %j.next, %loop2 ] ; <i32> [#uses=3]
+ %j.next = add i32 %j, 1 ; <i32> [#uses=1]
+ %c2 = icmp ne i32 %j, 200 ; <i1> [#uses=1]
+ br i1 %c2, label %loop2, label %loopexit2
+
+loopexit2: ; preds = %loop2
+ ret i32 %j
+}
diff --git a/test/Transforms/IndVarsSimplify/tripcount_infinite.llx b/test/Transforms/IndVarsSimplify/tripcount_infinite.llx
index 8a7b27c3b2..d5965f4ed6 100644
--- a/test/Transforms/IndVarsSimplify/tripcount_infinite.llx
+++ b/test/Transforms/IndVarsSimplify/tripcount_infinite.llx
@@ -1,32 +1,38 @@
; These tests have an infinite trip count. We obviously shouldn't remove the
; loops! :)
;
-; RUN: llvm-upgrade < %s | llvm-as | opt -indvars -adce -simplifycfg | llvm-dis | grep icmp | wc -l > %t2
-; RUN: llvm-upgrade < %s | llvm-as | llvm-dis | grep icmp | wc -l > %t1
+; RUN: llvm-as < %s | opt -indvars -adce -simplifycfg | llvm-dis | grep icmp | wc -l > %t2
+; RUN: llvm-as < %s | llvm-dis | grep icmp | wc -l > %t1
; RUN: diff %t1 %t2
-int %infinite_linear() { ;; test for (i = 1; i != 100; i += 2)
+;; test for (i = 1; i != 100; i += 2)
+define i32 @infinite_linear() {
entry:
br label %loop
-loop:
- %i = phi int [ 1, %entry ], [ %i.next, %loop ]
- %i.next = add int %i, 2
- %c = setne int %i, 100
- br bool %c, label %loop, label %loopexit
-loopexit:
- ret int %i
+
+loop: ; preds = %loop, %entry
+ %i = phi i32 [ 1, %entry ], [ %i.next, %loop ] ; <i32> [#uses=3]
+ %i.next = add i32 %i, 2 ; <i32> [#uses=1]
+ %c = icmp ne i32 %i, 100 ; <i1> [#uses=1]
+ br i1 %c, label %loop, label %loopexit
+
+loopexit: ; preds = %loop
+ ret i32 %i
}
-int %infinite_quadratic() { ;; test for (i = 1; i*i != 63; ++i)
+;; test for (i = 1; i*i != 63; ++i)
+define i32 @infinite_quadratic() {
entry:
br label %loop
-loop:
- %i = phi int [ 1, %entry ], [ %i.next, %loop ]
- %isquare = mul int %i, %i
- %i.next = add int %i, 1
- %c = setne int %isquare, 63
- br bool %c, label %loop, label %loopexit
-loopexit:
- ret int %i
+
+loop: ; preds = %loop, %entry
+ %i = phi i32 [ 1, %entry ], [ %i.next, %loop ] ; <i32> [#uses=4]
+ %isquare = mul i32 %i, %i ; <i32> [#uses=1]
+ %i.next = add i32 %i, 1 ; <i32> [#uses=1]
+ %c = icmp ne i32 %isquare, 63 ; <i1> [#uses=1]
+ br i1 %c, label %loop, label %loopexit
+
+loopexit: ; preds = %loop
+ ret i32 %i
}
diff --git a/test/Transforms/IndVarsSimplify/variable-stride-ivs.ll b/test/Transforms/IndVarsSimplify/variable-stride-ivs.ll
index e1127579e9..dc86f1eec5 100644
--- a/test/Transforms/IndVarsSimplify/variable-stride-ivs.ll
+++ b/test/Transforms/IndVarsSimplify/variable-stride-ivs.ll
@@ -1,38 +1,37 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -indvars -instcombine | llvm-dis | \
+; RUN: llvm-as < %s | opt -indvars -instcombine | llvm-dis | \
; RUN: grep {store i32 0}
-; END.
; Test that -indvars can reduce variable stride IVs. If it can reduce variable
; stride iv's, it will make %iv. and %m.0.0 isomorphic to each other without
; cycles, allowing the tmp.21 subtraction to be eliminated.
-void %vnum_test8(int* %data) {
+define void @vnum_test8(i32* %data) {
entry:
- %tmp.1 = getelementptr int* %data, int 3 ; <int*> [#uses=1]
- %tmp.2 = load int* %tmp.1 ; <int> [#uses=2]
- %tmp.4 = getelementptr int* %data, int 4 ; <int*> [#uses=1]
- %tmp.5 = load int* %tmp.4 ; <int> [#uses=2]
- %tmp.8 = getelementptr int* %data, int 2 ; <int*> [#uses=1]
- %tmp.9 = load int* %tmp.8 ; <int> [#uses=3]
- %tmp.125 = setgt int %tmp.2, 0 ; <bool> [#uses=1]
- br bool %tmp.125, label %no_exit.preheader, label %return
+ %tmp.1 = getelementptr i32* %data, i32 3 ; <i32*> [#uses=1]
+ %tmp.2 = load i32* %tmp.1 ; <i32> [#uses=2]
+ %tmp.4 = getelementptr i32* %data, i32 4 ; <i32*> [#uses=1]
+ %tmp.5 = load i32* %tmp.4 ; <i32> [#uses=2]
+ %tmp.8 = getelementptr i32* %data, i32 2 ; <i32*> [#uses=1]
+ %tmp.9 = load i32* %tmp.8 ; <i32> [#uses=3]
+ %tmp.125 = icmp sgt i32 %tmp.2, 0 ; <i1> [#uses=1]
+ br i1 %tmp.125, label %no_exit.preheader, label %return
no_exit.preheader: ; preds = %entry
- %tmp.16 = getelementptr int* %data, int %tmp.9 ; <int*> [#uses=1]
+ %tmp.16 = getelementptr i32* %data, i32 %tmp.9 ; <i32*> [#uses=1]
br label %no_exit
no_exit: ; preds = %no_exit, %no_exit.preheader
- %iv.ui = phi uint [ 0, %no_exit.preheader ], [ %iv..inc.ui, %no_exit ] ; <uint> [#uses=1]
- %iv. = phi int [ %tmp.5, %no_exit.preheader ], [ %iv..inc, %no_exit ] ; <int> [#uses=2]
- %m.0.0 = phi int [ %tmp.5, %no_exit.preheader ], [ %tmp.24, %no_exit ] ; <int> [#uses=2]
- store int 2, int* %tmp.16
- %tmp.21 = sub int %m.0.0, %iv. ; <int> [#uses=1]
- store int %tmp.21, int* %data
- %tmp.24 = add int %m.0.0, %tmp.9 ; <int> [#uses=1]
- %iv..inc = add int %tmp.9, %iv. ; <int> [#uses=1]
- %iv..inc.ui = add uint %iv.ui, 1 ; <uint> [#uses=2]
- %iv..inc1 = cast uint %iv..inc.ui to int ; <int> [#uses=1]
- %tmp.12 = setlt int %iv..inc1, %tmp.2 ; <bool> [#uses=1]
- br bool %tmp.12, label %no_exit, label %return.loopexit
+ %iv.ui = phi i32 [ 0, %no_exit.preheader ], [ %iv..inc.ui, %no_exit ] ; <i32> [#uses=1]
+ %iv. = phi i32 [ %tmp.5, %no_exit.preheader ], [ %iv..inc, %no_exit ] ; <i32> [#uses=2]
+ %m.0.0 = phi i32 [ %tmp.5, %no_exit.preheader ], [ %tmp.24, %no_exit ] ; <i32> [#uses=2]
+ store i32 2, i32* %tmp.16
+ %tmp.21 = sub i32 %m.0.0, %iv. ; <i32> [#uses=1]
+ store i32 %tmp.21, i32* %data
+ %tmp.24 = add i32 %m.0.0, %tmp.9 ; <i32> [#uses=1]
+ %iv..inc = add i32 %tmp.9, %iv. ; <i32> [#uses=1]
+ %iv..inc.ui = add i32 %iv.ui, 1 ; <i32> [#uses=2]
+ %iv..inc1 = bitcast i32 %iv..inc.ui to i32 ; <i32> [#uses=1]
+ %tmp.12 = icmp slt i32 %iv..inc1, %tmp.2 ; <i1> [#uses=1]
+ br i1 %tmp.12, label %no_exit, label %return.loopexit
return.loopexit: ; preds = %no_exit
br label %return
diff --git a/test/Transforms/Inline/2003-09-14-InlineValue.ll b/test/Transforms/Inline/2003-09-14-InlineValue.ll
index 48d563366b..edc9b474e0 100644
--- a/test/Transforms/Inline/2003-09-14-InlineValue.ll
+++ b/test/Transforms/Inline/2003-09-14-InlineValue.ll
@@ -1,20 +1,21 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -inline -disable-output
+; RUN: llvm-as < %s | opt -inline -disable-output
-declare int %External()
+declare i32 @External()
-implementation
-
-internal int %Callee() {
- %I = call int %External()
- %J = add int %I, %I
- ret int %J
+define internal i32 @Callee() {
+ %I = call i32 @External( ) ; <i32> [#uses=2]
+ %J = add i32 %I, %I ; <i32> [#uses=1]
+ ret i32 %J
}
-int %Caller() {
- %V = invoke int %Callee() to label %Ok except label %Bad
-Ok:
- ret int %V
-Bad:
- ret int 0
+define i32 @Caller() {
+ %V = invoke i32 @Callee( )
+ to label %Ok unwind label %Bad ; <i32> [#uses=1]
+
+Ok: ; preds = %0
+ ret i32 %V
+
+Bad: ; preds = %0
+ ret i32 0
}
diff --git a/test/Transforms/Inline/2003-09-22-PHINodeInlineFail.ll b/test/Transforms/Inline/2003-09-22-PHINodeInlineFail.ll
index 6e4d1b39e7..d57aee01c6 100644
--- a/test/Transforms/Inline/2003-09-22-PHINodeInlineFail.ll
+++ b/test/Transforms/Inline/2003-09-22-PHINodeInlineFail.ll
@@ -1,17 +1,16 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -inline -disable-output
-implementation
+; RUN: llvm-as < %s | opt -inline -disable-output
-int %main() {
+define i32 @main() {
entry:
- invoke void %__main( )
- to label %LongJmpBlkPre except label %LongJmpBlkPre
+ invoke void @__main( )
+ to label %LongJmpBlkPre unwind label %LongJmpBlkPre
-LongJmpBlkPre:
- %i.3 = phi uint [ 0, %entry ], [ 0, %entry]
- ret int 0
+LongJmpBlkPre: ; preds = %entry, %entry
+ %i.3 = phi i32 [ 0, %entry ], [ 0, %entry ] ; <i32> [#uses=0]
+ ret i32 0
}
-void %__main() {
- ret void
+define void @__main() {
+ ret void
}
diff --git a/test/Transforms/Inline/2003-09-22-PHINodesInExceptionDest.ll b/test/Transforms/Inline/2003-09-22-PHINodesInExceptionDest.ll
index e73199c29c..d75999b976 100644
--- a/test/Transforms/Inline/2003-09-22-PHINodesInExceptionDest.ll
+++ b/test/Transforms/Inline/2003-09-22-PHINodesInExceptionDest.ll
@@ -1,26 +1,25 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -inline -disable-output
+; RUN: llvm-as < %s | opt -inline -disable-output
-implementation
-
-int %main() {
+define i32 @main() {
entry:
- invoke void %__main( )
- to label %Call2Invoke except label %LongJmpBlkPre
+ invoke void @__main( )
+ to label %Call2Invoke unwind label %LongJmpBlkPre
-Call2Invoke:
- br label %LongJmpBlkPre
+Call2Invoke: ; preds = %entry
+ br label %LongJmpBlkPre
-LongJmpBlkPre:
- %i.3 = phi uint [ 0, %entry ], [ 0, %Call2Invoke ] ; <uint> [#uses=0]
- ret int 0
+LongJmpBlkPre: ; preds = %Call2Invoke, %entry
+ %i.3 = phi i32 [ 0, %entry ], [ 0, %Call2Invoke ] ; <i32> [#uses=0]
+ ret i32 0
}
-void %__main() {
- call void %__llvm_getGlobalCtors( )
- call void %__llvm_getGlobalDtors( )
- ret void
+define void @__main() {
+ call void @__llvm_getGlobalCtors( )
+ call void @__llvm_getGlobalDtors( )
+ ret void
}
-declare void %__llvm_getGlobalCtors()
+declare void @__llvm_getGlobalCtors()
+
+declare void @__llvm_getGlobalDtors()
-declare void %__llvm_getGlobalDtors()
diff --git a/test/Transforms/Inline/2003-09-22-PHINodesInNormalInvokeDest.ll b/test/Transforms/Inline/2003-09-22-PHINodesInNormalInvokeDest.ll
index 774639b744..09d516f482 100644
--- a/test/Transforms/Inline/2003-09-22-PHINodesInNormalInvokeDest.ll
+++ b/test/Transforms/Inline/2003-09-22-PHINodesInNormalInvokeDest.ll
@@ -1,24 +1,23 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -inline -disable-output
-implementation
+; RUN: llvm-as < %s | opt -inline -disable-output
-int %main() {
+define i32 @main() {
entry:
- invoke void %__main( )
- to label %else except label %RethrowExcept
+ invoke void @__main( )
+ to label %else unwind label %RethrowExcept
-else:
- %i.2 = phi int [ 36, %entry ], [ %i.2, %LJDecisionBB ]
- br label %LJDecisionBB
+else: ; preds = %LJDecisionBB, %entry
+ %i.2 = phi i32 [ 36, %entry ], [ %i.2, %LJDecisionBB ] ; <i32> [#uses=1]
+ br label %LJDecisionBB
-LJDecisionBB:
- br label %else
+LJDecisionBB: ; preds = %else
+ br label %else
-RethrowExcept:
- ret int 0
+RethrowExcept: ; preds = %entry
+ ret i32 0
}
-void %__main() {
- ret void
+define void @__main() {
+ ret void
}
diff --git a/test/Transforms/Inline/2003-10-13-AllocaDominanceProblem.ll b/test/Transforms/Inline/2003-10-13-AllocaDominanceProblem.ll
index ca163edc5c..6b6cf06abb 100644
--- a/test/Transforms/Inline/2003-10-13-AllocaDominanceProblem.ll
+++ b/test/Transforms/Inline/2003-10-13-AllocaDominanceProblem.ll
@@ -1,19 +1,19 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -inline -disable-output
+; RUN: llvm-as < %s | opt -inline -disable-output
-implementation ; Functions:
-
-int %reload() {
+define i32 @reload() {
reloadentry:
- br label %A
-A:
- call void %callee( )
- ret int 0
+ br label %A
+
+A: ; preds = %reloadentry
+ call void @callee( )
+ ret i32 0
}
-internal void %callee() {
+define internal void @callee() {
entry:
- %X = alloca sbyte, uint 0
- %Y = cast int 0 to uint
- %Z = alloca sbyte, uint %Y
- ret void
+ %X = alloca i8, i32 0 ; <i8*> [#uses=0]
+ %Y = bitcast i32 0 to i32 ; <i32> [#uses=1]
+ %Z = alloca i8, i32 %Y ; <i8*> [#uses=0]
+ ret void
}
+
diff --git a/test/Transforms/Inline/2003-10-26-InlineInvokeExceptionDestPhi.ll b/test/Transforms/Inline/2003-10-26-InlineInvokeExceptionDestPhi.ll
index 785a425b12..675454e134 100644
--- a/test/Transforms/Inline/2003-10-26-InlineInvokeExceptionDestPhi.ll
+++ b/test/Transforms/Inline/2003-10-26-InlineInvokeExceptionDestPhi.ll
@@ -2,18 +2,19 @@
; node in the exception destination, and the inlined function contains an
; unwind instruction.
-; RUN: llvm-upgrade < %s | llvm-as | opt -inline -disable-output
+; RUN: llvm-as < %s | opt -inline -disable-output
-implementation
-
-linkonce void %foo() {
- unwind
+define linkonce void @foo() {
+ unwind
}
-int %test() {
+define i32 @test() {
BB1:
- invoke void %foo() to label %Cont except label %Cont
-Cont:
- %A = phi int [ 0, %BB1], [0, %BB1]
- ret int %A
+ invoke void @foo( )
+ to label %Cont unwind label %Cont
+
+Cont: ; preds = %BB1, %BB1
+ %A = phi i32 [ 0, %BB1 ], [ 0, %BB1 ] ; <i32> [#uses=1]
+ ret i32 %A
}
+
diff --git a/test/Transforms/Inline/2004-04-15-InlineDeletesCall.ll b/test/Transforms/Inline/2004-04-15-InlineDeletesCall.ll
index e1ecaed83e..8a2f8e29ed 100644
--- a/test/Transforms/Inline/2004-04-15-InlineDeletesCall.ll
+++ b/test/Transforms/Inline/2004-04-15-InlineDeletesCall.ll
@@ -1,21 +1,20 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -inline -disable-output
+; RUN: llvm-as < %s | opt -inline -disable-output
; Inlining the first call caused the inliner function to delete the second
; call. Then the inliner tries to inline the second call, which no longer
; exists.
-implementation
-
-internal void %Callee1() {
- unwind
+define internal void @Callee1() {
+ unwind
}
-void %Callee2() {
- ret void
+define void @Callee2() {
+ ret void
}
-void %caller() {
- call void %Callee1()
- call void %Callee2()
- ret void
+define void @caller() {
+ call void @Callee1( )
+ call void @Callee2( )
+ ret void
}
+
diff --git a/test/Transforms/Inline/2004-04-20-InlineLinkOnce.llx b/test/Transforms/Inline/2004-04-20-InlineLinkOnce.llx
index 4fab1c9934..d9f09a06e7 100644
--- a/test/Transforms/Inline/2004-04-20-InlineLinkOnce.llx
+++ b/test/Transforms/Inline/2004-04-20-InlineLinkOnce.llx
@@ -1,12 +1,11 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -inline -prune-eh -disable-output
+; RUN: llvm-as < %s | opt -inline -prune-eh -disable-output
-implementation
-
-linkonce void %caller() {
- call void %callee()
- ret void
+define linkonce void @caller() {
+ call void @callee( )
+ ret void
}
-linkonce void %callee() {
- ret void
+define linkonce void @callee() {
+ ret void
}
+
diff --git a/test/Transforms/Inline/2004-10-17-InlineFunctionWithoutReturn.ll b/test/Transforms/Inline/2004-10-17-InlineFunctionWithoutReturn.ll
index 016fc5a4ab..09666ec8e6 100644
--- a/test/Transforms/Inline/2004-10-17-InlineFunctionWithoutReturn.ll
+++ b/test/Transforms/Inline/2004-10-17-InlineFunctionWithoutReturn.ll
@@ -1,10 +1,11 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -inline -disable-output
+; RUN: llvm-as < %s | opt -inline -disable-output
-int %test() {
- unwind
+define i32 @test() {
+ unwind
}
-int %caller() {
- %X = call int %test()
- ret int %X
+define i32 @caller() {
+ %X = call i32 @test( ) ; <i32> [#uses=1]
+ ret i32 %X
}
+
diff --git a/test/Transforms/Inline/2006-01-14-CallGraphUpdate.ll b/test/Transforms/Inline/2006-01-14-CallGraphUpdate.ll
index cb9241154e..acdf6ab766 100644
--- a/test/Transforms/Inline/2006-01-14-CallGraphUpdate.ll
+++ b/test/Transforms/Inline/2006-01-14-CallGraphUpdate.ll
@@ -1,26 +1,25 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -inline -prune-eh -disable-output
+; RUN: llvm-as < %s | opt -inline -prune-eh -disable-output
- "struct.std::__codecvt_abstract_base<char,char,__mbstate_t>" = type { "struct.std::locale::facet" }
- "struct.std::basic_streambuf<wchar_t,std::char_traits<wchar_t> >" = type { int (...)**, int*, int*, int*, int*, int*, int*, "struct.std::locale" }
- "struct.std::ios_base" = type { int (...)**, int, int, uint, uint, uint, "struct.std::ios_base::_Callback_list"*, "struct.std::ios_base::_Words", [8 x "struct.std::ios_base::_Words"], int, "struct.std::ios_base::_Words"*, "struct.std::locale" }
- "struct.std::ios_base::_Callback_list" = type { "struct.std::ios_base::_Callback_list"*, void (uint, "struct.std::ios_base"*, int)*, int, int }
- "struct.std::ios_base::_Words" = type { sbyte*, int }
- "struct.std::locale" = type { "struct.std::locale::_Impl"* }
- "struct.std::locale::_Impl" = type { int, "struct.std::locale::facet"**, uint, "struct.std::locale::facet"**, sbyte** }
- "struct.std::locale::facet" = type { int (...)**, int }
- "struct.std::ostreambuf_iterator<wchar_t,std::char_traits<wchar_t> >" = type { "struct.std::basic_streambuf<wchar_t,std::char_traits<wchar_t> >"*, int }
+ %"struct.std::__codecvt_abstract_base<char,char,__mbstate_t>" = type { %"struct.std::locale::facet" }
+ %"struct.std::basic_streambuf<wchar_t,std::char_traits<wchar_t> >" = type { i32 (...)**, i32*, i32*, i32*, i32*, i32*, i32*, %"struct.std::locale" }
+ %"struct.std::ios_base" = type { i32 (...)**, i32, i32, i32, i32, i32, %"struct.std::ios_base::_Callback_list"*, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, %"struct.std::ios_base::_Words"*, %"struct.std::locale" }
+ %"struct.std::ios_base::_Callback_list" = type { %"struct.std::ios_base::_Callback_list"*, void (i32, %"struct.std::ios_base"*, i32)*, i32, i32 }
+ %"struct.std::ios_base::_Words" = type { i8*, i32 }
+ %"struct.std::locale" = type { %"struct.std::locale::_Impl"* }
+ %"struct.std::locale::_Impl" = type { i32, %"struct.std::locale::facet"**, i32, %"struct.std::locale::facet"**, i8** }
+ %"struct.std::locale::facet" = type { i32 (...)**, i32 }
+ %"struct.std::ostreambuf_iterator<wchar_t,std::char_traits<wchar_t> >" = type { %"struct.std::basic_streambuf<wchar_t,std::char_traits<wchar_t> >"*, i32 }
-implementation ; Functions:
-
-void %_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewl("struct.std::ostreambuf_iterator<wchar_t,std::char_traits<wchar_t> >"* %agg.result, "struct.std::__codecvt_abstract_base<char,char,__mbstate_t>"* %this, "struct.std::basic_streambuf<wchar_t,std::char_traits<wchar_t> >"* %__s.0__, int %__s.1__, "struct.std::ios_base"* %__io, int %__fill, int %__v) {
+define void @_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewl(%"struct.std::ostreambuf_iterator<wchar_t,std::char_traits<wchar_t> >"* %agg.result, %"struct.std::__codecvt_abstract_base<char,char,__mbstate_t>"* %this, %"struct.std::basic_streambuf<wchar_t,std::char_traits<wchar_t> >"* %__s.0__, i32 %__s.1__, %"struct.std::ios_base"* %__io, i32 %__fill, i32 %__v) {
entry:
- tail call fastcc void %_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIlEES3_S3_RSt8ios_basewT_( )
- ret void
+ tail call fastcc void @_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIlEES3_S3_RSt8ios_basewT_( )
+ ret void
}
-fastcc void %_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIlEES3_S3_RSt8ios_basewT_() {
+define fastcc void @_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIlEES3_S3_RSt8ios_basewT_() {
entry:
- %tmp.38 = shl uint 0, ubyte 3 ; <uint> [#uses=1]
- %tmp.39 = alloca sbyte, uint %tmp.38 ; <sbyte*> [#uses=0]
- ret void
+ %tmp.38 = shl i32 0, 3 ; <i32> [#uses=1]
+ %tmp.39 = alloca i8, i32 %tmp.38 ; <i8*> [#uses=0]
+ ret void
}
+
diff --git a/test/Transforms/Inline/2006-07-12-InlinePruneCGUpdate.ll b/test/Transforms/Inline/2006-07-12-InlinePruneCGUpdate.ll
index 8429e7c45a..5215bec929 100644
--- a/test/Transforms/Inline/2006-07-12-InlinePruneCGUpdate.ll
+++ b/test/Transforms/Inline/2006-07-12-InlinePruneCGUpdate.ll
@@ -1,13 +1,10 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -inline -prune-eh -disable-output
+; RUN: llvm-as < %s | opt -inline -prune-eh -disable-output
; PR827
+@_ZTV8CRjii = internal global [1 x i32 (...)*] [ i32 (...)* @_ZN8CRjii12NlFeeEPN5Jr7sE ] ; <[1 x i32 (...)*]*> [#uses=0]
-%_ZTV8CRjii = internal global [1 x int (...)*] [ int (...)* %_ZN8CRjii12NlFeeEPN5Jr7sE ] ; <[1 x int (...)*]*> [#uses=0]
-
-implementation ; Functions:
-
-internal int %_ZN8CRjii12NlFeeEPN5Jr7sE(...) {
+define internal i32 @_ZN8CRjii12NlFeeEPN5Jr7sE(...) {
entry:
- br bool false, label %cond_true, label %cond_false179
+ br i1 false, label %cond_true, label %cond_false179
cond_true: ; preds = %entry
br label %bb9
@@ -16,7 +13,7 @@ bb: ; preds = %cond_true14
br label %bb9
bb9: ; preds = %bb, %cond_true
- br bool false, label %cond_true14, label %cond_false
+ br i1 false, label %cond_true14, label %cond_false
cond_true14: ; preds = %bb9
br label %bb
@@ -34,7 +31,7 @@ bb17: ; preds = %cond_true29
br label %bb24
bb24: ; preds = %bb17, %bb15
- br bool false, label %cond_true29, label %cond_false30
+ br i1 false, label %cond_true29, label %cond_false30
cond_true29: ; preds = %bb24
br label %bb17
@@ -52,7 +49,7 @@ bb34: ; preds = %cond_true46
br label %bb41
bb41: ; preds = %bb34, %bb32
- br bool false, label %cond_true46, label %cond_false47
+ br i1 false, label %cond_true46, label %cond_false47
cond_true46: ; preds = %bb41
br label %bb34
@@ -70,7 +67,7 @@ bb51: ; preds = %cond_true63
br label %bb58
bb58: ; preds = %bb51, %bb49
- br bool false, label %cond_true63, label %cond_false64
+ br i1 false, label %cond_true63, label %cond_false64
cond_true63: ; preds = %bb58
br label %bb51
@@ -88,7 +85,7 @@ bb68: ; preds = %cond_true81
br label %bb76
bb76: ; preds = %bb68, %bb66
- br bool false, label %cond_true81, label %cond_false82
+ br i1 false, label %cond_true81, label %cond_false82
cond_true81: ; preds = %bb76
br label %bb68
@@ -106,7 +103,7 @@ bb86: ; preds = %cond_true99
br label %bb94
bb94: ; preds = %bb86, %bb84
- br bool false, label %cond_true99, label %cond_false100
+ br i1 false, label %cond_true99, label %cond_false100
cond_true99: ; preds = %bb94
br label %bb86
@@ -124,7 +121,7 @@ bb104: ; preds = %cond_true117
br label %bb112
bb112: ; preds = %bb104, %bb102
- br bool false, label %cond_true117, label %cond_false118
+ br i1 false, label %cond_true117, label %cond_false118
cond_true117: ; preds = %bb112
br label %bb104
@@ -142,7 +139,7 @@ bb122: ; preds = %cond_true135
br label %bb130
bb130: ; preds = %bb122, %bb120
- br bool false, label %cond_true135, label %cond_false136
+ br i1 false, label %cond_true135, label %cond_false136
cond_true135: ; preds = %bb130
br label %bb122
@@ -157,11 +154,11 @@ bb138: ; preds = %cond_next137, %cond_false136
br label %bb148
bb140: ; preds = %cond_true153
- call fastcc void %_Zjrf1( )
+ call fastcc void @_Zjrf1( )
br label %bb148
bb148: ; preds = %bb140, %bb138
- br bool false, label %cond_true153, label %cond_false154
+ br i1 false, label %cond_true153, label %cond_false154
cond_true153: ; preds = %bb148
br label %bb140
@@ -179,7 +176,7 @@ bb158: ; preds = %cond_true171
br label %bb166
bb166: ; preds = %bb158, %bb156
- br bool false, label %cond_true171, label %cond_false172
+ br i1 false, label %cond_true171, label %cond_false172
cond_true171: ; preds = %bb166
br label %bb158
@@ -206,10 +203,10 @@ cond_next180: ; preds = %cond_false179, %finally
br label %return
return: ; preds = %cond_next180
- ret int 0
+ ret i32 0
}
-internal fastcc void %_Zjrf2() {
+define internal fastcc void @_Zjrf2() {
entry:
br label %bb3
@@ -217,9 +214,9 @@ bb: ; preds = %cond_true
br label %bb3
bb3: ; preds = %bb, %entry
- %tmp5 = load ubyte** null ; <ubyte*> [#uses=1]
- %tmp = setne ubyte* null, %tmp5 ; <bool> [#uses=1]
- br bool %tmp, label %cond_true, label %cond_false
+ %tmp5 = load i8** null ; <i8*> [#uses=1]
+ %tmp = icmp ne i8* null, %tmp5 ; <i1> [#uses=1]
+ br i1 %tmp, label %cond_true, label %cond_false
cond_true: ; preds = %bb3
br label %bb
@@ -237,16 +234,16 @@ return: ; preds = %bb6
ret void
}
-internal fastcc void %_Zjrf3() {
+define internal fastcc void @_Zjrf3() {
entry:
- call fastcc void %_Zjrf2( )
+ call fastcc void @_Zjrf2( )
br label %return
return: ; preds = %entry
ret void
}
-internal fastcc void %_Zjrf4() {
+define internal fastcc void @_Zjrf4() {
entry:
br label %bb6
@@ -254,7 +251,7 @@ bb: ; preds = %cond_true
br label %bb6
bb6: ; preds = %bb, %entry
- br bool false, label %cond_true, label %cond_false
+ br i1 false, label %cond_true, label %cond_false
cond_true: ; preds = %bb6
br label %bb
@@ -266,10 +263,10 @@ cond_next: ; No predecessors!
br label %bb8
bb8: ; preds = %cond_next, %cond_false
- br bool false, label %cond_true9, label %cond_false12
+ br i1 false, label %cond_true9, label %cond_false12
cond_true9: ; preds = %bb8
- call fastcc void %_Zjrf3( )
+ call fastcc void @_Zjrf3( )
br label %cond_next13
cond_false12: ; preds = %bb8
@@ -282,25 +279,25 @@ return: ; preds = %cond_next13
ret void
}
-internal fastcc void %_Zjrf5() {
+define internal fastcc void @_Zjrf5() {
entry:
- call fastcc void %_Zjrf4( )
+ call fastcc void @_Zjrf4( )
br label %return
return: ; preds = %entry
ret void
}
-internal fastcc void %_Zjrf6() {
+define internal fastcc void @_Zjrf6() {
entry:
- call fastcc void %_Zjrf5( )
+ call fastcc void @_Zjrf5( )
br label %return
return: ; preds = %entry
ret void
}
-internal fastcc void %_Zjrf7() {
+define internal fastcc void @_Zjrf7() {
entry:
br label %cleanup
@@ -308,7 +305,7 @@ cleanup: ; preds = %entry
br label %finally
finally: ; preds = %cleanup
- call fastcc void %_Zjrf6( )
+ call fastcc void @_Zjrf6( )
br label %cleanup9
cleanup9: ; preds = %finally
@@ -330,7 +327,7 @@ return: ; preds = %finally23
ret void
}
-internal fastcc void %_Zjrf11() {
+define internal fastcc void @_Zjrf11() {
entry:
br label %bb7
@@ -338,7 +335,7 @@ bb: ; preds = %cond_true
br label %bb7
bb7: ; preds = %bb, %entry
- br bool false, label %cond_true, label %cond_false
+ br i1 false, label %cond_true, label %cond_false
cond_true: ; preds = %bb7
br label %bb
@@ -352,10 +349,10 @@ cond_next: ; No predecessors!
bb9: ; preds = %cond_next, %cond_false
br label %return
; No predecessors!
- br bool false, label %cond_true12, label %cond_false15
+ br i1 false, label %cond_true12, label %cond_false15
cond_true12: ; preds = %0
- call fastcc void %_Zjrf3( )
+ call fastcc void @_Zjrf3( )
br label %cond_next16
cond_false15: ; preds = %0
@@ -368,30 +365,30 @@ return: ; preds = %cond_next16, %bb9
ret void
}
-internal fastcc void %_Zjrf9() {
+define internal fastcc void @_Zjrf9() {
entry:
- call fastcc void %_Zjrf11( )
+ call fastcc void @_Zjrf11( )
br label %return
return: ; preds = %entry
ret void
}
-internal fastcc void %_Zjrf10() {
+define internal fastcc void @_Zjrf10() {
entry:
- call fastcc void %_Zjrf9( )
+ call fastcc void @_Zjrf9( )
br label %return
return: ; preds = %entry
ret void
}
-internal fastcc void %_Zjrf8() {
+define internal fastcc void @_Zjrf8() {
entry:
- br bool false, label %cond_true, label %cond_false201
+ br i1 false, label %cond_true, label %cond_false201
cond_true: ; preds = %entry
- br bool false, label %cond_true36, label %cond_false
+ br i1 false, label %cond_true36, label %cond_false
cond_true36: ; preds = %cond_true
br label %cleanup
@@ -403,7 +400,7 @@ finally: ; preds = %cleanup
br label %cond_next189
cond_false: ; preds = %cond_true
- br bool false, label %cond_true99, label %cond_false137
+ br i1 false, label %cond_true99, label %cond_false137
cond_true99: ; preds = %cond_false
br label %cleanup136
@@ -415,7 +412,7 @@ finally135: ; preds = %cleanup136
br label %cond_next
cond_false137: ; preds = %cond_false
- call fastcc void %_Zjrf10( )
+ call fastcc void @_Zjrf10( )
br label %cleanup188
cleanup188: ; preds = %cond_false137
@@ -440,7 +437,7 @@ return: ; preds = %cond_next202
ret void
}
-internal fastcc void %_Zjrf1() {
+define internal fastcc void @_Zjrf1() {
entry:
br label %bb492
@@ -457,7 +454,7 @@ cleanup11: ; preds = %finally
br label %finally10
finally10: ; preds = %cleanup11
- br bool false, label %cond_true, label %cond_false286
+ br i1 false, label %cond_true, label %cond_false286
cond_true: ; preds = %finally10
br label %cleanup26
@@ -472,7 +469,7 @@ bb27: ; preds = %cond_true37
br label %bb30
bb30: ; preds = %bb27, %finally25
- br bool false, label %cond_true37, label %cond_false
+ br i1 false, label %cond_true37, label %cond_false
cond_true37: ; preds = %bb30
br label %bb27
@@ -490,7 +487,7 @@ bb40: ; preds = %cond_true156
br label %bb139
bb41: ; preds = %cond_true142
- call fastcc void %_Zjrf7( )
+ call fastcc void @_Zjrf7( )
br label %bb105
bb44: ; preds = %cond_true112
@@ -500,7 +497,7 @@ bb66: ; preds = %cond_true80
br label %bb74
bb74: ; preds = %bb66, %bb44
- br bool false, label %cond_true80, label %cond_false81
+ br i1 false, label %cond_true80, label %cond_false81
cond_true80: ; preds = %bb74
br label %bb66
@@ -527,7 +524,7 @@ finally98: ; preds = %cleanup99
br label %bb105
bb105: ; preds = %finally98, %bb41
- br bool false, label %cond_true112, label %cond_false113
+ br i1 false, label %cond_true112, label %cond_false113
cond_true112: ; preds = %bb105
br label %bb44
@@ -539,17 +536,17 @@ cond_next114: ; No predecessors!
br label %bb115
bb115: ; preds = %cond_next114, %cond_false113
- br bool false, label %cond_true119, label %cond_false123
+ br i1 false, label %cond_true119, label %cond_false123
cond_true119: ; preds = %bb115
- call fastcc void %_Zjrf8( )
+ call fastcc void @_Zjrf8( )
br label %cond_next124
cond_false123: ; preds = %bb115
br label %cond_next124
cond_next124: ; preds = %cond_false123, %cond_true119
- br bool false, label %cond_true131, label %cond_false132
+ br i1 false, label %cond_true131, label %cond_false132
cond_true131: ; preds = %cond_next124
br label %cleanup135
@@ -570,7 +567,7 @@ finally134: ; preds = %cleanup136
br label %bb139
bb139: ; preds = %finally134, %bb40
- br bool false, label %cond_true142, label %cond_false143
+ br i1 false, label %cond_true142, label %cond_false143
cond_true142: ; preds = %bb139
br label %bb41
@@ -585,7 +582,7 @@ bb145: ; preds = %cond_next144, %cond_false143
br label %bb148
bb148: ; preds = %bb145, %bb38
- br bool false, label %cond_true156, label %cond_false157
+ br i1 false, label %cond_true156, label %cond_false157
cond_true156: ; preds = %bb148
br label %bb40
@@ -603,7 +600,7 @@ done: ; preds = %bb159, %cleanup135
br label %bb214
bb185: ; preds = %cond_true218
- br bool false, label %cond_true193, label %cond_false206
+ br i1 false, label %cond_true193, label %cond_false206
cond_true193: ; preds = %bb185
br label %cond_next211
@@ -615,7 +612,7 @@ cond_next211: ; preds = %cond_false206, %cond_true193
br label %bb214
bb214: ; preds = %cond_next211, %done
- br bool false, label %cond_true218, label %cond_false219
+ br i1 false, label %cond_true218, label %cond_false219
cond_true218: ; preds = %bb214
br label %bb185
@@ -627,7 +624,7 @@ cond_next220: ; No predecessors!
br label %bb221
bb221: ; preds = %cond_next220, %cond_false219
- br bool false, label %cond_true236, label %cond_false245
+ br i1 false, label %cond_true236, label %cond_false245
cond_true236: ; preds = %bb221
br label %cond_next249
@@ -636,7 +633,7 @@ cond_false245: ; preds = %bb221
br label %cond_next249
cond_next249: ; preds = %cond_false245, %cond_true236
- br bool false, label %cond_true272, label %cond_false277
+ br i1 false, label %cond_true272, label %cond_false277
cond_true272: ; preds = %cond_next249
br label %cond_next278
@@ -657,7 +654,7 @@ cond_false286: ; preds = %finally10
br label %cond_next287
cond_next287: ; preds = %cond_false286, %finally284
- br bool false, label %cond_true317, label %cond_false319
+ br i1 false, label %cond_true317, label %cond_false319
cond_true317: ; preds = %cond_next287
br label %cond_next321
@@ -672,7 +669,7 @@ bb335: ; preds = %cond_true355
br label %bb348
bb348: ; preds = %bb335, %cond_next321
- br bool false, label %cond_true355, label %cond_false356
+ br i1 false, label %cond_true355, label %cond_false356
cond_true355: ; preds = %bb348
br label %bb335
@@ -684,7 +681,7 @@ cond_next357: ; No predecessors!
br label %bb358
bb358: ; preds = %cond_next357, %cond_false356
- br bool false, label %cond_true363, label %cond_false364
+ br i1 false, label %cond_true363, label %cond_false364
cond_true363: ; preds = %bb358
br label %bb388
@@ -693,7 +690,7 @@ cond_false364: ; preds = %bb358
br label %cond_next365
cond_next365: ; preds = %cond_false364
- br bool false, label %cond_true370, label %cond_false371
+ br i1 false, label %cond_true370, label %cond_false371
cond_true370: ; preds = %cond_next365
br label %bb388
@@ -702,7 +699,7 @@ cond_false371: ; preds = %cond_next365
br label %cond_next372
cond_next372: ; preds = %cond_false371
- br bool false, label %cond_true385, label %cond_false386
+ br i1 false, label %cond_true385, label %cond_false386
cond_true385: ; preds = %cond_next372
br label %bb388
@@ -717,13 +714,13 @@ bb388: ; preds = %cond_true385, %cond_true370, %cond_true363
br label %bb389
bb389: ; preds = %bb388, %cond_next387
- br bool false, label %cond_true392, label %cond_false443
+ br i1 false, label %cond_true392, label %cond_false443
cond_true392: ; preds = %bb389
br label %bb419
bb402: ; preds = %cond_true425
- br bool false, label %cond_true406, label %cond_false412
+ br i1 false, label %cond_true406, label %cond_false412
cond_true406: ; preds = %bb402
br label %cond_next416
@@ -735,7 +732,7 @@ cond_next416: ; preds = %cond_false412, %cond_true406
br label %bb419
bb419: ; preds = %cond_next416, %cond_true392
- br bool false, label %cond_true425, label %cond_false426
+ br i1 false, label %cond_true425, label %cond_false426
cond_true425: ; preds = %bb419
br label %bb402
@@ -756,7 +753,7 @@ bb450: ; preds = %cond_true466
br label %bb460
bb460: ; preds = %bb450, %cond_false443
- br bool false, label %cond_true466, label %cond_false467
+ br i1 false, label %cond_true466, label %cond_false467
cond_true466: ; preds = %bb460
br label %bb450
@@ -792,7 +789,7 @@ finally488: ; preds = %cleanup489
br label %bb492
bb492: ; preds = %finally488, %entry
- br bool false, label %cond_true499, label %cond_false500
+ br i1 false, label %cond_true499, label %cond_false500
cond_true499: ; preds = %bb492
br label %bb
@@ -810,7 +807,7 @@ return: ; preds = %bb502
ret void
}
-internal fastcc void %_ZSt26__unguarded_insertion_sortIN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEEEvT_S7_() {
+define internal fastcc void @_ZSt26__unguarded_insertion_sortIN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEEEvT_S7_() {
entry:
br label %bb12
@@ -824,7 +821,7 @@ finally: ; preds = %cleanup
br label %bb12
bb12: ; preds = %finally, %entry
- br bool false, label %cond_true, label %cond_false
+ br i1 false, label %cond_true, label %cond_false
cond_true: ; preds = %bb12
br label %bb
diff --git a/test/Transforms/Inline/2006-11-09-InlineCGUpdate-2.ll b/test/Transforms/Inline/2006-11-09-InlineCGUpdate-2.ll
index 705961b65b..bd2885dab4 100644
--- a/test/Transforms/Inline/2006-11-09-InlineCGUpdate-2.ll
+++ b/test/Transforms/Inline/2006-11-09-InlineCGUpdate-2.ll
@@ -1,138 +1,135 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -inline -prune-eh -disable-output
+; RUN: llvm-as < %s | opt -inline -prune-eh -disable-output
; PR993
-target endian = little
-target pointersize = 32
+target datalayout = "e-p:32:32"
target triple = "i386-unknown-openbsd3.9"
deplibs = [ "stdc++", "c", "crtend" ]
- "struct.__gnu_cxx::__normal_iterator<char*,std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" = type { sbyte* }
- "struct.__gnu_cxx::char_producer<char>" = type { int (...)** }
- %struct.__sFILE = type { ubyte*, int, int, short, short, %struct.__sbuf, int, sbyte*, int (sbyte*)*, int (sbyte*, sbyte*, int)*, long (sbyte*, long, int)*, int (sbyte*, sbyte*, int)*, %struct.__sbuf, ubyte*, int, [3 x ubyte], [1 x ubyte], %struct.__sbuf, int, long }
- %struct.__sbuf = type { ubyte*, int }
- "struct.std::__basic_file<char>" = type { %struct.__sFILE*, bool }
- "struct.std::__codecvt_abstract_base<char,char,__mbstate_t>" = type { "struct.std::locale::facet" }
- "struct.std::bad_alloc" = type { "struct.__gnu_cxx::char_producer<char>" }
- "struct.std::basic_filebuf<char,std::char_traits<char> >" = type { "struct.std::basic_streambuf<char,std::char_traits<char> >", int, "struct.std::__basic_file<char>", uint, %union.__mbstate_t, %union.__mbstate_t, sbyte*, uint, bool, bool, bool, bool, sbyte, sbyte*, sbyte*, bool, "struct.std::codecvt<char,char,__mbstate_t>"*, sbyte*, int, sbyte*, sbyte* }
- "struct.std::basic_ios<char,std::char_traits<char> >" = type { "struct.std::ios_base", "struct.std::basic_ostream<char,std::char_traits<char> >"*, sbyte, bool, "struct.std::basic_streambuf<char,std::char_traits<char> >"*, "struct.std::ctype<char>"*, "struct.std::__codecvt_abstract_base<char,char,__mbstate_t>"*, "struct.std::__codecvt_abstract_base<char,char,__mbstate_t>"* }
- "struct.std::basic_iostream<char,std::char_traits<char> >" = type { "struct.std::locale::facet", "struct.__gnu_cxx::char_producer<char>", "struct.std::basic_ios<char,std::char_traits<char> >" }
- "struct.std::basic_ofstream<char,std::char_traits<char> >" = type { "struct.__gnu_cxx::char_producer<char>", "struct.std::basic_filebuf<char,std::char_traits<char> >", "struct.std::basic_ios<char,std::char_traits<char> >" }
- "struct.std::basic_ostream<char,std::char_traits<char> >" = type { int (...)**, "struct.std::basic_ios<char,std::char_traits<char> >" }
- "struct.std::basic_streambuf<char,std::char_traits<char> >" = type { int (...)**, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, "struct.std::locale" }
- "struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >" = type { "struct.__gnu_cxx::__normal_iterator<char*,std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" }
- "struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Rep" = type { "struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Rep_base" }
- "struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Rep_base" = type { uint, uint, int }
- "struct.std::codecvt<char,char,__mbstate_t>" = type { "struct.std::__codecvt_abstract_base<char,char,__mbstate_t>", int* }
- "struct.std::ctype<char>" = type { "struct.std::__codecvt_abstract_base<char,char,__mbstate_t>", int*, bool, int*, int*, uint* }
- "struct.std::domain_error" = type { "struct.std::logic_error" }
- "struct.std::ios_base" = type { int (...)**, int, int, uint, uint, uint, "struct.std::ios_base::_Callback_list"*, "struct.std::ios_base::_Words", [8 x "struct.std::ios_base::_Words"], int, "struct.std::ios_base::_Words"*, "struct.std::locale" }
- "struct.std::ios_base::_Callback_list" = type { "struct.std::ios_base::_Callback_list"*, void (uint, "struct.std::ios_base"*, int)*, int, int }
- "struct.std::ios_base::_Words" = type { sbyte*, int }
- "struct.std::locale" = type { "struct.std::locale::_Impl"* }
- "struct.std::locale::_Impl" = type { int, "struct.std::locale::facet"**, uint, "struct.std::locale::facet"**, sbyte** }
- "struct.std::locale::facet" = type { int (...)**, int }
- "struct.std::logic_error" = type { "struct.__gnu_cxx::char_producer<char>", "struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >" }
- %union.__mbstate_t = type { long, [120 x ubyte] }
-%.str_1 = external global [17 x sbyte] ; <[17 x sbyte]*> [#uses=0]
-%.str_9 = external global [24 x sbyte] ; <[24 x sbyte]*> [#uses=0]
-
-implementation ; Functions:
-
-void %main() {
-entry:
- call fastcc void %_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode( )
- ret void
-}
-
-fastcc void %_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode() {
-entry:
- %tmp.6 = seteq "struct.std::basic_filebuf<char,std::char_traits<char> >"* null, null ; <bool> [#uses=1]
- br bool %tmp.6, label %then, label %UnifiedReturnBlock
+ %"struct.__gnu_cxx::__normal_iterator<char*,std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" = type { i8* }
+ %"struct.__gnu_cxx::char_producer<char>" = type { i32 (...)** }
+ %struct.__sFILE = type { i8*, i32, i32, i16, i16, %struct.__sbuf, i32, i8*, i32 (i8*)*, i32 (i8*, i8*, i32)*, i64 (i8*, i64, i32)*, i32 (i8*, i8*, i32)*, %struct.__sbuf, i8*, i32, [3 x i8], [1 x i8], %struct.__sbuf, i32, i64 }
+ %struct.__sbuf = type { i8*, i32 }
+ %"struct.std::__basic_file<char>" = type { %struct.__sFILE*, i1 }
+ %"struct.std::__codecvt_abstract_base<char,char,__mbstate_t>" = type { %"struct.std::locale::facet" }
+ %"struct.std::bad_alloc" = type { %"struct.__gnu_cxx::char_producer<char>" }
+ %"struct.std::basic_filebuf<char,std::char_traits<char> >" = type { %"struct.std::basic_streambuf<char,std::char_traits<char> >", i32, %"struct.std::__basic_file<char>", i32, %union.__mbstate_t, %union.__mbstate_t, i8*, i32, i1, i1, i1, i1, i8, i8*, i8*, i1, %"struct.std::codecvt<char,char,__mbstate_t>"*, i8*, i32, i8*, i8* }
+ %"struct.std::basic_ios<char,std::char_traits<char> >" = type { %"struct.std::ios_base", %"struct.std::basic_ostream<char,std::char_traits<char> >"*, i8, i1, %"struct.std::basic_streambuf<char,std::char_traits<char> >"*, %"struct.std::ctype<char>"*, %"struct.std::__codecvt_abstract_base<char,char,__mbstate_t>"*, %"struct.std::__codecvt_abstract_base<char,char,__mbstate_t>"* }
+ %"struct.std::basic_iostream<char,std::char_traits<char> >" = type { %"struct.std::locale::facet", %"struct.__gnu_cxx::char_producer<char>", %"struct.std::basic_ios<char,std::char_traits<char> >" }
+ %"struct.std::basic_ofstream<char,std::char_traits<char> >" = type { %"struct.__gnu_cxx::char_producer<char>", %"struct.std::basic_filebuf<char,std::char_traits<char> >", %"struct.std::basic_ios<char,std::char_traits<char> >" }
+ %"struct.std::basic_ostream<char,std::char_traits<char> >" = type { i32 (...)**, %"struct.std::basic_ios<char,std::char_traits<char> >" }
+ %"struct.std::basic_streambuf<char,std::char_traits<char> >" = type { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, %"struct.std::locale" }
+ %"struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >" = type { %"struct.__gnu_cxx::__normal_iterator<char*,std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" }
+ %"struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Rep" = type { %"struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Rep_base" }
+ %"struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Rep_base" = type { i32, i32, i32 }
+ %"struct.std::codecvt<char,char,__mbstate_t>" = type { %"struct.std::__codecvt_abstract_base<char,char,__mbstate_t>", i32* }
+ %"struct.std::ctype<char>" = type { %"struct.std::__codecvt_abstract_base<char,char,__mbstate_t>", i32*, i1, i32*, i32*, i32* }
+ %"struct.std::domain_error" = type { %"struct.std::logic_error" }
+ %"struct.std::ios_base" = type { i32 (...)**, i32, i32, i32, i32, i32, %"struct.std::ios_base::_Callback_list"*, %struct.__sbuf, [8 x %struct.__sbuf], i32, %struct.__sbuf*, %"struct.std::locale" }
+ %"struct.std::ios_base::_Callback_list" = type { %"struct.std::ios_base::_Callback_list"*, void (i32, %"struct.std::ios_base"*, i32)*, i32, i32 }
+ %"struct.std::ios_base::_Words" = type { i8*, i32 }
+ %"struct.std::locale" = type { %"struct.std::locale::_Impl"* }
+ %"struct.std::locale::_Impl" = type { i32, %"struct.std::locale::facet"**, i32, %"struct.std::locale::facet"**, i8** }
+ %"struct.std::locale::facet" = type { i32 (...)**, i32 }
+ %"struct.std::logic_error" = type { %"struct.__gnu_cxx::char_producer<char>", %"struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >" }
+ %union.__mbstate_t = type { i64, [120 x i8] }
+@.str_1 = external global [17 x i8] ; <[17 x i8]*> [#uses=0]
+@.str_9 = external global [24 x i8] ; <[24 x i8]*> [#uses=0]
+
+define void @main() {
+entry:
+ call fastcc void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode( )
+ ret void
+}
+
+define fastcc void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode() {
+entry:
+ %tmp.6 = icmp eq %"struct.std::basic_filebuf<char,std::char_traits<char> >"* null, null ; <i1> [#uses=1]
+ br i1 %tmp.6, label %then, label %UnifiedReturnBlock
then: ; preds = %entry
- tail call fastcc void %_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate( )
+ tail call fastcc void @_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate( )
ret void
UnifiedReturnBlock: ; preds = %entry
ret void
}
-fastcc void %_ZN10__cxxabiv111__terminateEPFvvE() {
+define fastcc void @_ZN10__cxxabiv111__terminateEPFvvE() {
entry:
unreachable
}
-void %_ZNSdD0Ev() {
+define void @_ZNSdD0Ev() {
entry:
unreachable
}
-void %_ZThn8_NSdD1Ev() {
+define void @_ZThn8_NSdD1Ev() {
entry:
ret void
}
-void %_ZNSt13basic_filebufIcSt11char_traitsIcEED0Ev() {
+define void @_ZNSt13basic_filebufIcSt11char_traitsIcEED0Ev() {
entry:
ret void
}
-void %_ZNSt13basic_filebufIcSt11char_traitsIcEE9pbackfailEi() {
+define void @_ZNSt13basic_filebufIcSt11char_traitsIcEE9pbackfailEi() {
entry:
unreachable
}
-fastcc void %_ZNSoD2Ev() {
+define fastcc void @_ZNSoD2Ev() {
entry:
unreachable
}
-fastcc void %_ZNSt9basic_iosIcSt11char_traitsIcEED2Ev() {
+define fastcc void @_ZNSt9basic_iosIcSt11char_traitsIcEED2Ev() {
entry:
unreachable
}
-fastcc void %_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate() {
+define fastcc void @_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate() {
entry:
- tail call fastcc void %_ZSt19__throw_ios_failurePKc( )
+ tail call fastcc void @_ZSt19__throw_ios_failurePKc( )
ret void
}
-declare fastcc void %_ZNSaIcED1Ev()
+declare fastcc void @_ZNSaIcED1Ev()
-fastcc void %_ZNSsC1EPKcRKSaIcE() {
+define fastcc void @_ZNSsC1EPKcRKSaIcE() {
entry:
- tail call fastcc void %_ZNSs16_S_construct_auxIPKcEEPcT_S3_RKSaIcE12__false_type( )
+ tail call fastcc void @_ZNSs16_S_construct_auxIPKcEEPcT_S3_RKSaIcE12__false_type( )
unreachable
}
-fastcc void %_ZSt14__convert_to_vIyEvPKcRT_RSt12_Ios_IostateRKPii() {
+define fastcc void @_ZSt14__convert_to_vIyEvPKcRT_RSt12_Ios_IostateRKPii() {
entry:
ret void
}
-fastcc void %_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej() {
+define fastcc void @_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej() {
entry:
ret void
}
-fastcc void %_ZSt19__throw_ios_failurePKc() {
+define fastcc void @_ZSt19__throw_ios_failurePKc() {
entry:
- call fastcc void %_ZNSsC1EPKcRKSaIcE( )
+ call fastcc void @_ZNSsC1EPKcRKSaIcE( )
unwind
}
-void %_GLOBAL__D__ZSt23lexicographical_compareIPKaS1_EbT_S2_T0_S3_() {
+define void @_GLOBAL__D__ZSt23lexicographical_compareIPKaS1_EbT_S2_T0_S3_() {
entry:
ret void
}
-void %_ZNSt9bad_allocD1Ev() {
+define void @_ZNSt9bad_allocD1Ev() {
entry:
unreachable
}
-fastcc void %_ZSt19__throw_logic_errorPKc() {
+define fastcc void @_ZSt19__throw_logic_errorPKc() {
entry:
- invoke fastcc void %_ZNSt11logic_errorC1ERKSs( )
+ invoke fastcc void @_ZNSt11logic_errorC1ERKSs( )
to label %try_exit.0 unwind label %try_catch.0
try_catch.0: ; preds = %entry
@@ -142,26 +139,26 @@ try_exit.0: ; preds = %entry
unwind
}
-fastcc void %_ZNSt11logic_errorC1ERKSs() {
+define fastcc void @_ZNSt11logic_errorC1ERKSs() {
entry:
- call fastcc void %_ZNSsC1ERKSs( )
+ call fastcc void @_ZNSsC1ERKSs( )
ret void
}
-void %_ZNSt12domain_errorD1Ev() {
+define void @_ZNSt12domain_errorD1Ev() {
entry:
unreachable
}
-fastcc void %_ZSt20__throw_length_errorPKc() {
+define fastcc void @_ZSt20__throw_length_errorPKc() {
entry:
- call fastcc void %_ZNSt12length_errorC1ERKSs( )
+ call fastcc void @_ZNSt12length_errorC1ERKSs( )
unwind
}
-fastcc void %_ZNSt12length_errorC1ERKSs() {
+define fastcc void @_ZNSt12length_errorC1ERKSs() {
entry:
- invoke fastcc void %_ZNSsC1ERKSs( )
+ invoke fastcc void @_ZNSsC1ERKSs( )
to label %_ZNSt11logic_errorC2ERKSs.exit unwind label %invoke_catch.i
invoke_catch.i: ; preds = %entry
@@ -171,78 +168,78 @@ _ZNSt11logic_errorC2ERKSs.exit: ; preds = %entry
ret void
}
-fastcc void %_ZNSs4_Rep9_S_createEjRKSaIcE() {
+define fastcc void @_ZNSs4_Rep9_S_createEjRKSaIcE() {
entry:
- call fastcc void %_ZSt20__throw_length_errorPKc( )
+ call fastcc void @_ZSt20__throw_length_errorPKc( )
unreachable
}
-fastcc void %_ZNSs12_S_constructIN9__gnu_cxx17__normal_iteratorIPcSsEEEES2_T_S4_RKSaIcESt20forward_iterator_tag() {
+define fastcc void @_ZNSs12_S_constructIN9__gnu_cxx17__normal_iteratorIPcSsEEEES2_T_S4_RKSaIcESt20forward_iterator_tag() {
entry:
unreachable
}
-fastcc void %_ZNSs16_S_construct_auxIPKcEEPcT_S3_RKSaIcE12__false_type() {
+define fastcc void @_ZNSs16_S_construct_auxIPKcEEPcT_S3_RKSaIcE12__false_type() {
entry:
- br bool false, label %then.1.i, label %endif.1.i
+ br i1 false, label %then.1.i, label %endif.1.i
then.1.i: ; preds = %entry
- call fastcc void %_ZSt19__throw_logic_errorPKc( )
+ call fastcc void @_ZSt19__throw_logic_errorPKc( )
br label %endif.1.i
endif.1.i: ; preds = %then.1.i, %entry
- call fastcc void %_ZNSs4_Rep9_S_createEjRKSaIcE( )
+ call fastcc void @_ZNSs4_Rep9_S_createEjRKSaIcE( )
unreachable
}
-fastcc void %_ZNSsC1ERKSs() {
+define fastcc void @_ZNSsC1ERKSs() {
entry:
- call fastcc void %_ZNSs4_Rep7_M_grabERKSaIcES2_( )
- invoke fastcc void %_ZNSaIcEC1ERKS_( )
+ call fastcc void @_ZNSs4_Rep7_M_grabERKSaIcES2_( )
+ invoke fastcc void @_ZNSaIcEC1ERKS_( )
to label %invoke_cont.1 unwind label %invoke_catch.1
invoke_catch.1: ; preds = %entry
- call fastcc void %_ZNSaIcED1Ev( )
+ call fastcc void @_ZNSaIcED1Ev( )
unwind
invoke_cont.1: ; preds = %entry
- call fastcc void %_ZNSaIcEC2ERKS_( )
+ call fastcc void @_ZNSaIcEC2ERKS_( )
ret void
}
-fastcc void %_ZNSaIcEC1ERKS_() {
+define fastcc void @_ZNSaIcEC1ERKS_() {
entry:
ret void
}
-fastcc void %_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_jc() {
+define fastcc void @_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_jc() {
entry:
ret void
}
-fastcc void %_ZNSs4_Rep7_M_grabERKSaIcES2_() {
+define fastcc void @_ZNSs4_Rep7_M_grabERKSaIcES2_() {
entry:
- br bool false, label %else.i, label %cond_true
+ br i1 false, label %else.i, label %cond_true
cond_true: ; preds = %entry
ret void
else.i: ; preds = %entry
- tail call fastcc void %_ZNSs4_Rep9_S_createEjRKSaIcE( )
+ tail call fastcc void @_ZNSs4_Rep9_S_createEjRKSaIcE( )
unreachable
}
-fastcc void %_ZNSaIcEC2ERKS_() {
+define fastcc void @_ZNSaIcEC2ERKS_() {
entry:
ret void
}
-fastcc void %_ZN9__gnu_cxx12__pool_allocILb1ELi0EE8allocateEj() {
+define fastcc void @_ZN9__gnu_cxx12__pool_allocILb1ELi0EE8allocateEj() {
entry:
ret void
}
-fastcc void %_ZN9__gnu_cxx12__pool_allocILb1ELi0EE9_S_refillEj() {
+define fastcc void @_ZN9__gnu_cxx12__pool_allocILb1ELi0EE9_S_refillEj() {
entry:
unreachable
}
diff --git a/test/Transforms/Inline/2006-11-09-InlineCGUpdate.ll b/test/Transforms/Inline/2006-11-09-InlineCGUpdate.ll
index 1b137cf5f0..05096f425f 100644
--- a/test/Transforms/Inline/2006-11-09-InlineCGUpdate.ll
+++ b/test/Transforms/Inline/2006-11-09-InlineCGUpdate.ll
@@ -1,312 +1,308 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -inline -prune-eh -disable-output
+; RUN: llvm-as < %s | opt -inline -prune-eh -disable-output
; PR992
target datalayout = "e-p:32:32"
-target endian = little
-target pointersize = 32
target triple = "i686-pc-linux-gnu"
deplibs = [ "stdc++", "c", "crtend" ]
- %struct._IO_FILE = type { int, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, %struct._IO_marker*, %struct._IO_FILE*, int, int, int, ushort, sbyte, [1 x sbyte], sbyte*, long, sbyte*, sbyte*, int, [52 x sbyte] }
- %struct._IO_marker = type { %struct._IO_marker*, %struct._IO_FILE*, int }
- "struct.__cxxabiv1::__array_type_info" = type { "struct.std::type_info" }
- "struct.__cxxabiv1::__si_class_type_info" = type { "struct.__cxxabiv1::__array_type_info", "struct.__cxxabiv1::__array_type_info"* }
- "struct.__gnu_cxx::_Rope_rep_alloc_base<char,std::allocator<char>, true>" = type { uint }
- "struct.__gnu_cxx::__normal_iterator<char*,std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" = type { sbyte* }
- "struct.__gnu_cxx::__normal_iterator<const wchar_t*,std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" = type { int* }
- "struct.__gnu_cxx::char_producer<char>" = type { int (...)** }
- "struct.__gnu_cxx::stdio_sync_filebuf<char,std::char_traits<char> >" = type { "struct.std::basic_streambuf<char,std::char_traits<char> >", %struct._IO_FILE*, int }
- "struct.__gnu_cxx::stdio_sync_filebuf<wchar_t,std::char_traits<wchar_t> >" = type { "struct.std::basic_streambuf<wchar_t,std::char_traits<wchar_t> >", %struct._IO_FILE*, uint }
- %struct.__locale_struct = type { [13 x %struct.locale_data*], ushort*, int*, int*, [13 x sbyte*] }
- %struct.__mbstate_t = type { int, "struct.__gnu_cxx::_Rope_rep_alloc_base<char,std::allocator<char>, true>" }
+ %struct._IO_FILE = type { i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, %struct._IO_marker*, %struct._IO_FILE*, i32, i32, i32, i16, i8, [1 x i8], i8*, i64, i8*, i8*, i32, [52 x i8] }
+ %struct._IO_marker = type { %struct._IO_marker*, %struct._IO_FILE*, i32 }
+ %"struct.__cxxabiv1::__array_type_info" = type { %"struct.std::type_info" }
+ %"struct.__cxxabiv1::__si_class_type_info" = type { %"struct.__cxxabiv1::__array_type_info", %"struct.__cxxabiv1::__array_type_info"* }
+ %"struct.__gnu_cxx::_Rope_rep_alloc_base<char,std::allocator<char>, true>" = type { i32 }
+ %"struct.__gnu_cxx::__normal_iterator<char*,std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" = type { i8* }
+ %"struct.__gnu_cxx::__normal_iterator<const wchar_t*,std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" = type { i32* }
+ %"struct.__gnu_cxx::char_producer<char>" = type { i32 (...)** }
+ %"struct.__gnu_cxx::stdio_sync_filebuf<char,std::char_traits<char> >" = type { %"struct.std::basic_streambuf<char,std::char_traits<char> >", %struct._IO_FILE*, i32 }
+ %"struct.__gnu_cxx::stdio_sync_filebuf<wchar_t,std::char_traits<wchar_t> >" = type { %"struct.std::basic_streambuf<wchar_t,std::char_traits<wchar_t> >", %struct._IO_FILE*, i32 }
+ %struct.__locale_struct = type { [13 x %struct.locale_data*], i16*, i32*, i32*, [13 x i8*] }
+ %struct.__mbstate_t = type { i32, %"struct.__gnu_cxx::_Rope_rep_alloc_base<char,std::allocator<char>, true>" }
%struct.locale_data = type opaque
- "struct.std::__basic_file<char>" = type { %struct._IO_FILE*, bool }
- "struct.std::__codecvt_abstract_base<char,char,__mbstate_t>" = type { "struct.std::locale::facet" }
- "struct.std::basic_filebuf<char,std::char_traits<char> >" = type { "struct.std::basic_streambuf<char,std::char_traits<char> >", int, "struct.std::__basic_file<char>", uint, %struct.__mbstate_t, %struct.__mbstate_t, sbyte*, uint, bool, bool, bool, bool, sbyte, sbyte*, sbyte*, bool, "struct.std::codecvt<char,char,__mbstate_t>"*, sbyte*, int, sbyte*, sbyte* }
- "struct.std::basic_filebuf<wchar_t,std::char_traits<wchar_t> >" = type { "struct.std::basic_streambuf<wchar_t,std::char_traits<wchar_t> >", int, "struct.std::__basic_file<char>", uint, %struct.__mbstate_t, %struct.__mbstate_t, int*, uint, bool, bool, bool, bool, int, int*, int*, bool, "struct.std::codecvt<char,char,__mbstate_t>"*, sbyte*, int, sbyte*, sbyte* }
- "struct.std::basic_fstream<char,std::char_traits<char> >" = type { { "struct.std::locale::facet", "struct.__gnu_cxx::char_producer<char>" }, "struct.std::basic_filebuf<char,std::char_traits<char> >", "struct.std::basic_ios<char,std::char_traits<char> >" }
- "struct.std::basic_fstream<wchar_t,std::char_traits<wchar_t> >" = type { { "struct.std::locale::facet", "struct.__gnu_cxx::char_producer<char>" }, "struct.std::basic_filebuf<wchar_t,std::char_traits<wchar_t> >", "struct.std::basic_ios<wchar_t,std::char_traits<wchar_t> >" }
- "struct.std::basic_ios<char,std::char_traits<char> >" = type { "struct.std::ios_base", "struct.std::basic_ostream<char,std::char_traits<char> >"*, sbyte, bool, "struct.std::basic_streambuf<char,std::char_traits<char> >"*, "struct.std::ctype<char>"*, "struct.std::__codecvt_abstract_base<char,char,__mbstate_t>"*, "struct.std::__codecvt_abstract_base<char,char,__mbstate_t>"* }
- "struct.std::basic_ios<wchar_t,std::char_traits<wchar_t> >" = type { "struct.std::ios_base", "struct.std::basic_ostream<wchar_t,std::char_traits<wchar_t> >"*, int, bool, "struct.std::basic_streambuf<wchar_t,std::char_traits<wchar_t> >"*, "struct.std::codecvt<char,char,__mbstate_t>"*, "struct.std::__codecvt_abstract_base<char,char,__mbstate_t>"*, "struct.std::__codecvt_abstract_base<char,char,__mbstate_t>"* }
- "struct.std::basic_iostream<wchar_t,std::char_traits<wchar_t> >" = type { "struct.std::locale::facet", "struct.__gnu_cxx::char_producer<char>", "struct.std::basic_ios<wchar_t,std::char_traits<wchar_t> >" }
- "struct.std::basic_ostream<char,std::char_traits<char> >" = type { int (...)**, "struct.std::basic_ios<char,std::char_traits<char> >" }
- "struct.std::basic_ostream<wchar_t,std::char_traits<wchar_t> >" = type { int (...)**, "struct.std::basic_ios<wchar_t,std::char_traits<wchar_t> >" }
- "struct.std::basic_streambuf<char,std::char_traits<char> >" = type { int (...)**, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, "struct.std::locale" }
- "struct.std::basic_streambuf<wchar_t,std::char_traits<wchar_t> >" = type { int (...)**, int*, int*, int*, int*, int*, int*, "struct.std::locale" }
- "struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >" = type { "struct.__gnu_cxx::__normal_iterator<char*,std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" }
- "struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Rep" = type { "struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Rep_base" }
- "struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Rep_base" = type { uint, uint, int }
- "struct.std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >" = type { "struct.__gnu_cxx::__normal_iterator<const wchar_t*,std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" }
- "struct.std::codecvt<char,char,__mbstate_t>" = type { "struct.std::__codecvt_abstract_base<char,char,__mbstate_t>", %struct.__locale_struct* }
- "struct.std::collate<char>" = type { "struct.std::locale::facet", %struct.__locale_struct* }
- "struct.std::collate_byname<char>" = type { "struct.std::collate<char>" }
- "struct.std::ctype<char>" = type { "struct.std::__codecvt_abstract_base<char,char,__mbstate_t>", %struct.__locale_struct*, bool, int*, int*, ushort* }
- "struct.std::ctype_byname<char>" = type { "struct.std::ctype<char>" }
- "struct.std::domain_error" = type { "struct.std::logic_error" }
- "struct.std::ios_base" = type { int (...)**, int, int, uint, uint, uint, "struct.std::ios_base::_Callback_list"*, "struct.std::ios_base::_Words", [8 x "struct.std::ios_base::_Words"], int, "struct.std::ios_base::_Words"*, "struct.std::locale" }
- "struct.std::ios_base::_Callback_list" = type { "struct.std::ios_base::_Callback_list"*, void (uint, "struct.std::ios_base"*, int)*, int, int }
- "struct.std::ios_base::_Words" = type { sbyte*, int }
- "struct.std::istreambuf_iterator<char,std::char_traits<char> >" = type { "struct.std::basic_streambuf<char,std::char_traits<char> >"*, int }
- "struct.std::istreambuf_iterator<wchar_t,std::char_traits<wchar_t> >" = type { "struct.std::basic_streambuf<wchar_t,std::char_traits<wchar_t> >"*, uint }
- "struct.std::locale" = type { "struct.std::locale::_Impl"* }
- "struct.std::locale::_Impl" = type { int, "struct.std::locale::facet"**, uint, "struct.std::locale::facet"**, sbyte** }
- "struct.std::locale::facet" = type { int (...)**, int }
- "struct.std::logic_error" = type { "struct.__gnu_cxx::char_producer<char>", "struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >" }
- "struct.std::type_info" = type { int (...)**, sbyte* }
-%.str_11 = external global [42 x sbyte] ; <[42 x sbyte]*> [#uses=0]
-%.str_9 = external global [24 x sbyte] ; <[24 x sbyte]*> [#uses=0]
-%.str_1 = external global [17 x sbyte] ; <[17 x sbyte]*> [#uses=0]
-
-implementation ; Functions:
-
-void %main() {
-entry:
- tail call fastcc void %_ZNSolsEi( )
- ret void
-}
-
-fastcc void %_ZNSolsEi() {
-entry:
- %tmp.22 = seteq uint 0, 0 ; <bool> [#uses=1]
- br bool %tmp.22, label %else, label %then
+ %"struct.std::__basic_file<char>" = type { %struct._IO_FILE*, i1 }
+ %"struct.std::__codecvt_abstract_base<char,char,__mbstate_t>" = type { %"struct.std::locale::facet" }
+ %"struct.std::basic_filebuf<char,std::char_traits<char> >" = type { %"struct.std::basic_streambuf<char,std::char_traits<char> >", i32, %"struct.std::__basic_file<char>", i32, %struct.__mbstate_t, %struct.__mbstate_t, i8*, i32, i1, i1, i1, i1, i8, i8*, i8*, i1, %"struct.std::codecvt<char,char,__mbstate_t>"*, i8*, i32, i8*, i8* }
+ %"struct.std::basic_filebuf<wchar_t,std::char_traits<wchar_t> >" = type { %"struct.std::basic_streambuf<wchar_t,std::char_traits<wchar_t> >", i32, %"struct.std::__basic_file<char>", i32, %struct.__mbstate_t, %struct.__mbstate_t, i32*, i32, i1, i1, i1, i1, i32, i32*, i32*, i1, %"struct.std::codecvt<char,char,__mbstate_t>"*, i8*, i32, i8*, i8* }
+ %"struct.std::basic_fstream<char,std::char_traits<char> >" = type { { %"struct.std::locale::facet", %"struct.__gnu_cxx::char_producer<char>" }, %"struct.std::basic_filebuf<char,std::char_traits<char> >", %"struct.std::basic_ios<char,std::char_traits<char> >" }
+ %"struct.std::basic_fstream<wchar_t,std::char_traits<wchar_t> >" = type { { %"struct.std::locale::facet", %"struct.__gnu_cxx::char_producer<char>" }, %"struct.std::basic_filebuf<wchar_t,std::char_traits<wchar_t> >", %"struct.std::basic_ios<wchar_t,std::char_traits<wchar_t> >" }
+ %"struct.std::basic_ios<char,std::char_traits<char> >" = type { %"struct.std::ios_base", %"struct.std::basic_ostream<char,std::char_traits<char> >"*, i8, i1, %"struct.std::basic_streambuf<char,std::char_traits<char> >"*, %"struct.std::ctype<char>"*, %"struct.std::__codecvt_abstract_base<char,char,__mbstate_t>"*, %"struct.std::__codecvt_abstract_base<char,char,__mbstate_t>"* }
+ %"struct.std::basic_ios<wchar_t,std::char_traits<wchar_t> >" = type { %"struct.std::ios_base", %"struct.std::basic_ostream<wchar_t,std::char_traits<wchar_t> >"*, i32, i1, %"struct.std::basic_streambuf<wchar_t,std::char_traits<wchar_t> >"*, %"struct.std::codecvt<char,char,__mbstate_t>"*, %"struct.std::__codecvt_abstract_base<char,char,__mbstate_t>"*, %"struct.std::__codecvt_abstract_base<char,char,__mbstate_t>"* }
+ %"struct.std::basic_iostream<wchar_t,std::char_traits<wchar_t> >" = type { %"struct.std::locale::facet", %"struct.__gnu_cxx::char_producer<char>", %"struct.std::basic_ios<wchar_t,std::char_traits<wchar_t> >" }
+ %"struct.std::basic_ostream<char,std::char_traits<char> >" = type { i32 (...)**, %"struct.std::basic_ios<char,std::char_traits<char> >" }
+ %"struct.std::basic_ostream<wchar_t,std::char_traits<wchar_t> >" = type { i32 (...)**, %"struct.std::basic_ios<wchar_t,std::char_traits<wchar_t> >" }
+ %"struct.std::basic_streambuf<char,std::char_traits<char> >" = type { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, %"struct.std::locale" }
+ %"struct.std::basic_streambuf<wchar_t,std::char_traits<wchar_t> >" = type { i32 (...)**, i32*, i32*, i32*, i32*, i32*, i32*, %"struct.std::locale" }
+ %"struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >" = type { %"struct.__gnu_cxx::__normal_iterator<char*,std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" }
+ %"struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Rep" = type { %"struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Rep_base" }
+ %"struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Rep_base" = type { i32, i32, i32 }
+ %"struct.std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >" = type { %"struct.__gnu_cxx::__normal_iterator<const wchar_t*,std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >" }
+ %"struct.std::codecvt<char,char,__mbstate_t>" = type { %"struct.std::__codecvt_abstract_base<char,char,__mbstate_t>", %struct.__locale_struct* }
+ %"struct.std::collate<char>" = type { %"struct.std::locale::facet", %struct.__locale_struct* }
+ %"struct.std::collate_byname<char>" = type { %"struct.std::collate<char>" }
+ %"struct.std::ctype<char>" = type { %"struct.std::__codecvt_abstract_base<char,char,__mbstate_t>", %struct.__locale_struct*, i1, i32*, i32*, i16* }
+ %"struct.std::ctype_byname<char>" = type { %"struct.std::ctype<char>" }
+ %"struct.std::domain_error" = type { %"struct.std::logic_error" }
+ %"struct.std::ios_base" = type { i32 (...)**, i32, i32, i32, i32, i32, %"struct.std::ios_base::_Callback_list"*, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, %"struct.std::ios_base::_Words"*, %"struct.std::locale" }
+ %"struct.std::ios_base::_Callback_list" = type { %"struct.std::ios_base::_Callback_list"*, void (i32, %"struct.std::ios_base"*, i32)*, i32, i32 }
+ %"struct.std::ios_base::_Words" = type { i8*, i32 }
+ %"struct.std::istreambuf_iterator<char,std::char_traits<char> >" = type { %"struct.std::basic_streambuf<char,std::char_traits<char> >"*, i32 }
+ %"struct.std::istreambuf_iterator<wchar_t,std::char_traits<wchar_t> >" = type { %"struct.std::basic_streambuf<wchar_t,std::char_traits<wchar_t> >"*, i32 }
+ %"struct.std::locale" = type { %"struct.std::locale::_Impl"* }
+ %"struct.std::locale::_Impl" = type { i32, %"struct.std::locale::facet"**, i32, %"struct.std::locale::facet"**, i8** }
+ %"struct.std::locale::facet" = type { i32 (...)**, i32 }
+ %"struct.std::logic_error" = type { %"struct.__gnu_cxx::char_producer<char>", %"struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >" }
+ %"struct.std::type_info" = type { i32 (...)**, i8* }
+@.str_11 = external global [42 x i8] ; <[42 x i8]*> [#uses=0]
+@.str_9 = external global [24 x i8] ; <[24 x i8]*> [#uses=0]
+@.str_1 = external global [17 x i8] ; <[17 x i8]*> [#uses=0]
+
+define void @main() {
+entry:
+ tail call fastcc void @_ZNSolsEi( )
+ ret void
+}
+
+define fastcc void @_ZNSolsEi() {
+entry:
+ %tmp.22 = icmp eq i32 0, 0 ; <i1> [#uses=1]
+ br i1 %tmp.22, label %else, label %then
then: ; preds = %entry
ret void
else: ; preds = %entry
- tail call fastcc void %_ZNSolsEl( )
+ tail call fastcc void @_ZNSolsEl( )
ret void
}
-void %_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_() {
+define void @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_() {
entry:
ret void
}
-fastcc void %_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate() {
+define fastcc void @_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate() {
entry:
- tail call fastcc void %_ZSt19__throw_ios_failurePKc( )
+ tail call fastcc void @_ZSt19__throw_ios_failurePKc( )
ret void
}
-fastcc void %_ZNSo3putEc() {
+define fastcc void @_ZNSo3putEc() {
entry:
ret void
}
-fastcc void %_ZNSolsEl() {
+define fastcc void @_ZNSolsEl() {
entry:
- %tmp.21.i = seteq "struct.std::basic_ostream<char,std::char_traits<char> >"* null, null ; <bool> [#uses=1]
- br bool %tmp.21.i, label %endif.0.i, label %shortcirc_next.i
+ %tmp.21.i = icmp eq %"struct.std::basic_ostream<char,std::char_traits<char> >"* null, null ; <i1> [#uses=1]
+ br i1 %tmp.21.i, label %endif.0.i, label %shortcirc_next.i
shortcirc_next.i: ; preds = %entry
ret void
endif.0.i: ; preds = %entry
- call fastcc void %_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate( )
+ call fastcc void @_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate( )
ret void
}
-fastcc void %_ZSt19__throw_ios_failurePKc() {
+define fastcc void @_ZSt19__throw_ios_failurePKc() {
entry:
- call fastcc void %_ZNSsC1EPKcRKSaIcE( )
+ call fastcc void @_ZNSsC1EPKcRKSaIcE( )
ret void
}
-fastcc void %_ZNSt8ios_baseD2Ev() {
+define fastcc void @_ZNSt8ios_baseD2Ev() {
entry:
unreachable
}
-void %_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE5uflowEv() {
+define void @_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE5uflowEv() {
entry:
unreachable
}
-void %_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEED1Ev() {
+define void @_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEED1Ev() {
entry:
unreachable
}
-void %_ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPci() {
+define void @_ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPci() {
entry:
ret void
}
-fastcc void %_ZSt9use_facetISt5ctypeIcEERKT_RKSt6locale() {
+define fastcc void @_ZSt9use_facetISt5ctypeIcEERKT_RKSt6locale() {
entry:
ret void
}
-declare fastcc void %_ZNSaIcED1Ev()
+declare fastcc void @_ZNSaIcED1Ev()
-fastcc void %_ZSt19__throw_logic_errorPKc() {
+define fastcc void @_ZSt19__throw_logic_errorPKc() {
entry:
- call fastcc void %_ZNSt11logic_errorC1ERKSs( )
+ call fastcc void @_ZNSt11logic_errorC1ERKSs( )
ret void
}
-fastcc void %_ZNSs4_Rep9_S_createEjRKSaIcE() {
+define fastcc void @_ZNSs4_Rep9_S_createEjRKSaIcE() {
entry:
- br bool false, label %then.0, label %endif.0
+ br i1 false, label %then.0, label %endif.0
then.0: ; preds = %entry
- call fastcc void %_ZSt20__throw_length_errorPKc( )
+ call fastcc void @_ZSt20__throw_length_errorPKc( )
ret void
endif.0: ; preds = %entry
ret void
}
-fastcc void %_ZSt20__throw_length_errorPKc() {
+define fastcc void @_ZSt20__throw_length_errorPKc() {
entry:
- call fastcc void %_ZNSt12length_errorC1ERKSs( )
+ call fastcc void @_ZNSt12length_errorC1ERKSs( )
unwind
}
-fastcc void %_ZNSs16_S_construct_auxIPKcEEPcT_S3_RKSaIcE12__false_type() {
+define fastcc void @_ZNSs16_S_construct_auxIPKcEEPcT_S3_RKSaIcE12__false_type() {
entry:
- br bool false, label %then.1.i, label %endif.1.i
+ br i1 false, label %then.1.i, label %endif.1.i
then.1.i: ; preds = %entry
- call fastcc void %_ZSt19__throw_logic_errorPKc( )
+ call fastcc void @_ZSt19__throw_logic_errorPKc( )
ret void
endif.1.i: ; preds = %entry
- call fastcc void %_ZNSs4_Rep9_S_createEjRKSaIcE( )
+ call fastcc void @_ZNSs4_Rep9_S_createEjRKSaIcE( )
unreachable
}
-fastcc void %_ZNSsC1ERKSs() {
+define fastcc void @_ZNSsC1ERKSs() {
entry:
- call fastcc void %_ZNSs4_Rep7_M_grabERKSaIcES2_( )
- invoke fastcc void %_ZNSaIcEC1ERKS_( )
+ call fastcc void @_ZNSs4_Rep7_M_grabERKSaIcES2_( )
+ invoke fastcc void @_ZNSaIcEC1ERKS_( )
to label %invoke_cont.1 unwind label %invoke_catch.1
invoke_catch.1: ; preds = %entry
- call fastcc void %_ZNSaIcED1Ev( )
+ call fastcc void @_ZNSaIcED1Ev( )
unwind
invoke_cont.1: ; preds = %entry
- call fastcc void %_ZNSaIcEC2ERKS_( )
+ call fastcc void @_ZNSaIcEC2ERKS_( )
ret void
}
-fastcc void %_ZNSs7reserveEj() {
+define fastcc void @_ZNSs7reserveEj() {
entry:
ret void
}
-fastcc void %_ZNSaIcEC1ERKS_() {
+define fastcc void @_ZNSaIcEC1ERKS_() {
entry:
ret void
}
-fastcc void %_ZNSs4_Rep7_M_grabERKSaIcES2_() {
+define fastcc void @_ZNSs4_Rep7_M_grabERKSaIcES2_() {
entry:
- br bool false, label %else.i, label %cond_true
+ br i1 false, label %else.i, label %cond_true
cond_true: ; preds = %entry
ret void
else.i: ; preds = %entry
- tail call fastcc void %_ZNSs4_Rep9_S_createEjRKSaIcE( )
+ tail call fastcc void @_ZNSs4_Rep9_S_createEjRKSaIcE( )
ret void
}
-fastcc void %_ZNSsC1EPKcRKSaIcE() {
+define fastcc void @_ZNSsC1EPKcRKSaIcE() {
entry:
- tail call fastcc void %_ZNSs16_S_construct_auxIPKcEEPcT_S3_RKSaIcE12__false_type( )
+ tail call fastcc void @_ZNSs16_S_construct_auxIPKcEEPcT_S3_RKSaIcE12__false_type( )
unreachable
}
-fastcc void %_ZNSaIcEC2ERKS_() {
+define fastcc void @_ZNSaIcEC2ERKS_() {
entry:
ret void
}
-void %_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev() {
+define void @_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev() {
entry:
unreachable
}
-void %_ZNSt14collate_bynameIcED1Ev() {
+define void @_ZNSt14collate_bynameIcED1Ev() {
entry:
unreachable
}
-void %_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy() {
+define void @_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy() {
entry:
ret void
}
-void %_ZNSt23__codecvt_abstract_baseIcc11__mbstate_tED1Ev() {
+define void @_ZNSt23__codecvt_abstract_baseIcc11__mbstate_tED1Ev() {
entry:
unreachable
}
-void %_ZNSt12ctype_bynameIcED0Ev() {
+define void @_ZNSt12ctype_bynameIcED0Ev() {
entry:
unreachable
}
-fastcc void %_ZNSt8messagesIwEC1Ej() {
+define fastcc void @_ZNSt8messagesIwEC1Ej() {
entry:
ret void
}
-fastcc void %_ZSt14__convert_to_vIlEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi() {
+define fastcc void @_ZSt14__convert_to_vIlEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi() {
entry:
ret void
}
-fastcc void %_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej() {
+define fastcc void @_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej() {
entry:
ret void
}
-fastcc void %_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej() {
+define fastcc void @_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej() {
entry:
ret void
}
-fastcc void %_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs() {
+define fastcc void @_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs() {
entry:
unreachable
}
-fastcc void %_ZNSbIwSt11char_traitsIwESaIwEE4swapERS2_() {
+define fastcc void @_ZNSbIwSt11char_traitsIwESaIwEE4swapERS2_() {
entry:
ret void
}
-void %_ZNSt14basic_iostreamIwSt11char_traitsIwEED0Ev() {
+define void @_ZNSt14basic_iostreamIwSt11char_traitsIwEED0Ev() {
entry:
unreachable
}
-void %_ZNSt15basic_streambufIcSt11char_traitsIcEE9showmanycEv() {
+define void @_ZNSt15basic_streambufIcSt11char_traitsIcEE9showmanycEv() {
entry:
ret void
}
-void %_ZNSt9exceptionD0Ev() {
+define void @_ZNSt9exceptionD0Ev() {
entry:
unreachable
}
-fastcc void %_ZNSt11logic_errorC1ERKSs() {
+define fastcc void @_ZNSt11logic_errorC1ERKSs() {
entry:
- call fastcc void %_ZNSsC1ERKSs( )
+ call fastcc void @_ZNSsC1ERKSs( )
ret void
}
-fastcc void %_ZNSt11logic_errorD2Ev() {
+define fastcc void @_ZNSt11logic_errorD2Ev() {
entry:
unreachable
}
-fastcc void %_ZNSt12length_errorC1ERKSs() {
+define fastcc void @_ZNSt12length_errorC1ERKSs() {
entry:
- invoke fastcc void %_ZNSsC1ERKSs( )
+ invoke fastcc void @_ZNSsC1ERKSs( )
to label %_ZNSt11logic_errorC2ERKSs.exit unwind label %invoke_catch.i
invoke_catch.i: ; preds = %entry
@@ -316,27 +312,27 @@ _ZNSt11logic_errorC2ERKSs.exit: ; preds = %entry
ret void
}
-void %_ZNK10__cxxabiv120__si_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_() {
+define void @_ZNK10__cxxabiv120__si_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_() {
entry:
ret void
}
-fastcc void %_ZNSbIwSt11char_traitsIwESaIwEE16_S_construct_auxIPKwEEPwT_S7_RKS1_12__false_type() {
+define fastcc void @_ZNSbIwSt11char_traitsIwESaIwEE16_S_construct_auxIPKwEEPwT_S7_RKS1_12__false_type() {
entry:
ret void
}
-void %_ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev() {
+define void @_ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev() {
entry:
ret void
}
-void %_ZNSt13basic_fstreamIcSt11char_traitsIcEED1Ev() {
+define void @_ZNSt13basic_fstreamIcSt11char_traitsIcEED1Ev() {
entry:
unreachable
}
-fastcc void %_ZNSt5ctypeIcEC1EPKtbj() {
+define fastcc void @_ZNSt5ctypeIcEC1EPKtbj() {
entry:
ret void
}
diff --git a/test/Transforms/Inline/alloca_test.ll b/test/Transforms/Inline/alloca_test.ll
index 35ded4f0d7..1fbd095354 100644
--- a/test/Transforms/Inline/alloca_test.ll
+++ b/test/Transforms/Inline/alloca_test.ll
@@ -1,20 +1,21 @@
; This test ensures that alloca instructions in the entry block for an inlined
; function are moved to the top of the function they are inlined into.
;
-; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | %prcontext alloca 1 | grep Entry:
+; RUN: llvm-as < %s | opt -inline | llvm-dis | %prcontext alloca 1 | grep Entry:
-int %func(int %i) {
- %X = alloca int
- store int %i, int* %X
- ret int %i
+define i32 @func(i32 %i) {
+ %X = alloca i32 ; <i32*> [#uses=1]
+ store i32 %i, i32* %X
+ ret i32 %i
}
-declare void %bar()
+declare void @bar()
-int %main(int %argc) {
+define i32 @main(i32 %argc) {
Entry:
- call void %bar()
- %X = call int %func(int 7)
- %Y = add int %X, %argc
- ret int %Y
+ call void @bar( )
+ %X = call i32 @func( i32 7 ) ; <i32> [#uses=1]
+ %Y = add i32 %X, %argc ; <i32> [#uses=1]
+ ret i32 %Y
}
+
diff --git a/test/Transforms/Inline/basictest.ll b/test/Transforms/Inline/basictest.ll
index 30d87b25bc..f34d1648a7 100644
--- a/test/Transforms/Inline/basictest.ll
+++ b/test/Transforms/Inline/basictest.ll
@@ -1,11 +1,12 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -inline -disable-output -print
+; RUN: llvm-as < %s | opt -inline -disable-output -print
-int %func(int %i) {
- ret int %i
+define i32 @func(i32 %i) {
+ ret i32 %i
}
-int %main(int %argc) {
- %X = call int %func(int 7)
- %Y = add int %X, %argc
- ret int %Y
+define i32 @main(i32 %argc) {
+ %X = call i32 @func( i32 7 ) ; <i32> [#uses=1]
+ %Y = add i32 %X, %argc ; <i32> [#uses=1]
+ ret i32 %Y
}
+
diff --git a/test/Transforms/Inline/casts.ll b/test/Transforms/Inline/casts.ll
index 340b9781d8..029d309fd8 100644
--- a/test/Transforms/Inline/casts.ll
+++ b/test/Transforms/Inline/casts.ll
@@ -1,20 +1,19 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | grep {ret i32 1}
+; RUN: llvm-as < %s | opt -inline | llvm-dis | grep {ret i32 1}
; ModuleID = 'short.opt.bc'
-implementation ; Functions:
-
-int %testBool(bool %X) {
- %tmp = zext bool %X to int ; <int> [#uses=1]
- ret int %tmp
+define i32 @testBool(i1 %X) {
+ %tmp = zext i1 %X to i32 ; <i32> [#uses=1]
+ ret i32 %tmp
}
-int %testByte(sbyte %X) {
- %tmp = setne sbyte %X, 0 ; <bool> [#uses=1]
- %tmp.i = zext bool %tmp to int ; <int> [#uses=1]
- ret int %tmp.i
+define i32 @testByte(i8 %X) {
+ %tmp = icmp ne i8 %X, 0 ; <i1> [#uses=1]
+ %tmp.i = zext i1 %tmp to i32 ; <i32> [#uses=1]
+ ret i32 %tmp.i
}
-int %main() {
- %rslt = call int %testByte( sbyte 123)
- ret int %rslt
+define i32 @main() {
+ %rslt = call i32 @testByte( i8 123 ) ; <i32> [#uses=1]
+ ret i32 %rslt
}
+
diff --git a/test/Transforms/Inline/cfg_preserve_test.ll b/test/Transforms/Inline/cfg_preserve_test.ll
index c444f3a229..6b6ff18ecf 100644
--- a/test/Transforms/Inline/cfg_preserve_test.ll
+++ b/test/Transforms/Inline/cfg_preserve_test.ll
@@ -1,15 +1,16 @@
; This test ensures that inlining an "empty" function does not destroy the CFG
;
-; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | not grep br
+; RUN: llvm-as < %s | opt -inline | llvm-dis | not grep br
-int %func(int %i) {
- ret int %i
+define i32 @func(i32 %i) {
+ ret i32 %i
}
-declare void %bar()
+declare void @bar()
-int %main(int %argc) {
+define i32 @main(i32 %argc) {
Entry:
- %X = call int %func(int 7)
- ret int %X
+ %X = call i32 @func( i32 7 ) ; <i32> [#uses=1]
+ ret i32 %X
}
+
diff --git a/test/Transforms/Inline/dynamic_alloca_test.ll b/test/Transforms/Inline/dynamic_alloca_test.ll
index cccf2d9b46..87707120e6 100644
--- a/test/Transforms/Inline/dynamic_alloca_test.ll
+++ b/test/Transforms/Inline/dynamic_alloca_test.ll
@@ -1,28 +1,31 @@
; Test that functions with dynamic allocas get inlined in a case where
; naively inlining it would result in a miscompilation.
-; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | \
+; RUN: llvm-as < %s | opt -inline | llvm-dis | \
; RUN: grep llvm.stacksave
-; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | not grep callee
+; RUN: llvm-as < %s | opt -inline | llvm-dis | not grep callee
-declare void %ext(int*)
-implementation
-internal void %callee(uint %N) {
- %P = alloca int, uint %N ;; dynamic alloca
- call void %ext(int* %P)
- ret void
+declare void @ext(i32*)
+
+define internal void @callee(i32 %N) {
+ %P = alloca i32, i32 %N ; <i32*> [#uses=1]
+ call void @ext( i32* %P )
+ ret void
}
-void %foo(uint %N) {
- br label %Loop
-Loop:
- %count = phi uint [0, %0], [%next, %Loop]
- %next = add uint %count, 1
- call void %callee(uint %N)
- %cond = seteq uint %count, 100000
- br bool %cond, label %out, label %Loop
-out:
- ret void
+define void @foo(i32 %N) {
+; <label>:0
+ br label %Loop
+
+Loop: ; preds = %Loop, %0
+ %count = phi i32 [ 0, %0 ], [ %next, %Loop ] ; <i32> [#uses=2]
+ %next = add i32 %count, 1 ; <i32> [#uses=1]
+ call void @callee( i32 %N )
+ %cond = icmp eq i32 %count, 100000 ; <i1> [#uses=1]
+ br i1 %cond, label %out, label %Loop
+
+out: ; preds = %Loop
+ ret void
}
diff --git a/test/Transforms/Inline/inline-tail.ll b/test/Transforms/Inline/inline-tail.ll
index 31e036fe65..5921655b73 100644
--- a/test/Transforms/Inline/inline-tail.ll
+++ b/test/Transforms/Inline/inline-tail.ll
@@ -1,16 +1,15 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | not grep tail
+; RUN: llvm-as < %s | opt -inline | llvm-dis | not grep tail
-implementation
+declare void @bar(i32*)
-declare void %bar(int*)
-
-internal void %foo(int* %P) { ;; to be inlined
- tail call void %bar(int* %P)
- ret void
+define internal void @foo(i32* %P) {
+ tail call void @bar( i32* %P )
+ ret void
}
-void %caller() {
- %A = alloca int
- call void %foo(int* %A) ;; not a tail call
- ret void
+define void @caller() {
+ %A = alloca i32 ; <i32*> [#uses=1]
+ call void @foo( i32* %A )
+ ret void
}
+
diff --git a/test/Transforms/Inline/inline_cleanup.ll b/test/Transforms/Inline/inline_cleanup.ll
index 2ec67ff5c4..89b3a8283c 100644
--- a/test/Transforms/Inline/inline_cleanup.ll
+++ b/test/Transforms/Inline/inline_cleanup.ll
@@ -1,66 +1,63 @@
; Test that the inliner doesn't leave around dead allocas, and that it folds
; uncond branches away after it is done specializing.
-; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | \
+; RUN: llvm-as < %s | opt -inline | llvm-dis | \
; RUN: not grep {alloca.*uses=0}
-; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | \
+; RUN: llvm-as < %s | opt -inline | llvm-dis | \
; RUN: not grep {br label}
+@A = weak global i32 0 ; <i32*> [#uses=1]
+@B = weak global i32 0 ; <i32*> [#uses=1]
+@C = weak global i32 0 ; <i32*> [#uses=1]
-%A = weak global int 0 ; <int*> [#uses=1]
-%B = weak global int 0 ; <int*> [#uses=1]
-%C = weak global int 0 ; <int*> [#uses=1]
-
-implementation ; Functions:
-
-internal fastcc void %foo(int %X) {
+define internal fastcc void @foo(i32 %X) {
entry:
- %ALL = alloca int, align 4 ; <int*> [#uses=1]
- %tmp1 = and int %X, 1 ; <int> [#uses=1]
- %tmp1 = seteq int %tmp1, 0 ; <bool> [#uses=1]
- br bool %tmp1, label %cond_next, label %cond_true
+ %ALL = alloca i32, align 4 ; <i32*> [#uses=1]
+ %tmp1 = and i32 %X, 1 ; <i32> [#uses=1]
+ %tmp1.upgrd.1 = icmp eq i32 %tmp1, 0 ; <i1> [#uses=1]
+ br i1 %tmp1.upgrd.1, label %cond_next, label %cond_true
cond_true: ; preds = %entry
- store int 1, int* %A
+ store i32 1, i32* @A
br label %cond_next
-cond_next: ; preds = %entry, %cond_true
- %tmp4 = and int %X, 2 ; <int> [#uses=1]
- %tmp4 = seteq int %tmp4, 0 ; <bool> [#uses=1]
- br bool %tmp4, label %cond_next7, label %cond_true5
+cond_next: ; preds = %cond_true, %entry
+ %tmp4 = and i32 %X, 2 ; <i32> [#uses=1]
+ %tmp4.upgrd.2 = icmp eq i32 %tmp4, 0 ; <i1> [#uses=1]
+ br i1 %tmp4.upgrd.2, label %cond_next7, label %cond_true5
cond_true5: ; preds = %cond_next
- store int 1, int* %B
+ store i32 1, i32* @B
br label %cond_next7
-cond_next7: ; preds = %cond_next, %cond_true5
- %tmp10 = and int %X, 4 ; <int> [#uses=1]
- %tmp10 = seteq int %tmp10, 0 ; <bool> [#uses=1]
- br bool %tmp10, label %cond_next13, label %cond_true11
+cond_next7: ; preds = %cond_true5, %cond_next
+ %tmp10 = and i32 %X, 4 ; <i32> [#uses=1]
+ %tmp10.upgrd.3 = icmp eq i32 %tmp10, 0 ; <i1> [#uses=1]
+ br i1 %tmp10.upgrd.3, label %cond_next13, label %cond_true11
cond_true11: ; preds = %cond_next7
- store int 1, int* %C
+ store i32 1, i32* @C
br label %cond_next13
-cond_next13: ; preds = %cond_next7, %cond_true11
- %tmp16 = and int %X, 8 ; <int> [#uses=1]
- %tmp16 = seteq int %tmp16, 0 ; <bool> [#uses=1]
- br bool %tmp16, label %UnifiedReturnBlock, label %cond_true17
+cond_next13: ; preds = %cond_true11, %cond_next7
+ %tmp16 = and i32 %X, 8 ; <i32> [#uses=1]
+ %tmp16.upgrd.4 = icmp eq i32 %tmp16, 0 ; <i1> [#uses=1]
+ br i1 %tmp16.upgrd.4, label %UnifiedReturnBlock, label %cond_true17
cond_true17: ; preds = %cond_next13
- call void %ext( int* %ALL )
+ call void @ext( i32* %ALL )
ret void
UnifiedReturnBlock: ; preds = %cond_next13
ret void
}
-declare void %ext(int*)
+declare void @ext(i32*)
-void %test() {
+define void @test() {
entry:
- tail call fastcc void %foo( int 1 )
- tail call fastcc void %foo( int 2 )
- tail call fastcc void %foo( int 3 )
- tail call fastcc void %foo( int 8 )
+ tail call fastcc void @foo( i32 1 )
+ tail call fastcc void @foo( i32 2 )
+ tail call fastcc void @foo( i32 3 )
+ tail call fastcc void @foo( i32 8 )
ret void
}
diff --git a/test/Transforms/Inline/inline_constprop.ll b/test/Transforms/Inline/inline_constprop.ll
index 4b183e2460..4744c86233 100644
--- a/test/Transforms/Inline/inline_constprop.ll
+++ b/test/Transforms/Inline/inline_constprop.ll
@@ -1,14 +1,14 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | not grep callee
-; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | not grep div
+; RUN: llvm-as < %s | opt -inline | llvm-dis | not grep callee
+; RUN: llvm-as < %s | opt -inline | llvm-dis | not grep div
-implementation
-internal int %callee(int %A, int %B) {
- %C = div int %A, %B
- ret int %C
+define internal i32 @callee(i32 %A, i32 %B) {
+ %C = sdiv i32 %A, %B ; <i32> [#uses=1]
+ ret i32 %C
}
-int %test() {
- %X = call int %callee(int 10, int 3)
- ret int %X
+define i32 @test() {
+ %X = call i32 @callee( i32 10, i32 3 ) ; <i32> [#uses=1]
+ ret i32 %X
}
+
diff --git a/test/Transforms/Inline/inline_dce.ll b/test/Transforms/Inline/inline_dce.ll
index 5cb118f728..b48a9a79e7 100644
--- a/test/Transforms/Inline/inline_dce.ll
+++ b/test/Transforms/Inline/inline_dce.ll
@@ -1,26 +1,25 @@
; This checks to ensure that the inline pass deletes functions if they get
; inlined into all of their callers.
-; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | \
+; RUN: llvm-as < %s | opt -inline | llvm-dis | \
; RUN: not grep %reallysmall
-implementation
-
-internal int %reallysmall(int %A) {
- ret int %A
+define internal i32 @reallysmall(i32 %A) {
+ ret i32 %A
}
-void %caller1() {
- call int %reallysmall(int 5)
- ret void
+define void @caller1() {
+ call i32 @reallysmall( i32 5 ) ; <i32>:1 [#uses=0]
+ ret void
}
-void %caller2(int %A) {
- call int %reallysmall(int %A)
- ret void
+define void @caller2(i32 %A) {
+ call i32 @reallysmall( i32 %A ) ; <i32>:1 [#uses=0]
+ ret void
}
-int %caller3(int %A) {
- %B = call int %reallysmall(int %A)
- ret int %B
+define i32 @caller3(i32 %A) {
+ %B = call i32 @reallysmall( i32 %A ) ; <i32> [#uses=1]
+ ret i32 %B
}
+
diff --git a/test/Transforms/Inline/inline_prune.ll b/test/Transforms/Inline/inline_prune.ll
index 85a6343d47..fcd8321d5a 100644
--- a/test/Transforms/Inline/inline_prune.ll
+++ b/test/Transforms/Inline/inline_prune.ll
@@ -1,40 +1,45 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | \
+; RUN: llvm-as < %s | opt -inline | llvm-dis | \
; RUN: not grep {callee\[12\](}
-; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | not grep mul
-
-implementation
-
-internal int %callee1(int %A, int %B) {
- %cond = seteq int %A, 123
- br bool %cond, label %T, label %F
-T:
- %C = mul int %B, %B
- ret int %C
-F:
- ret int 0
+; RUN: llvm-as < %s | opt -inline | llvm-dis | not grep mul
+
+define internal i32 @callee1(i32 %A, i32 %B) {
+ %cond = icmp eq i32 %A, 123 ; <i1> [#uses=1]
+ br i1 %cond, label %T, label %F
+
+T: ; preds = %0
+ %C = mul i32 %B, %B ; <i32> [#uses=1]
+ ret i32 %C
+
+F: ; preds = %0
+ ret i32 0
}
-internal int %callee2(int %A, int %B) {
- switch int %A, label %T [
- int 10, label %F
- int 1234, label %G
+define internal i32 @callee2(i32 %A, i32 %B) {
+ switch i32 %A, label %T [
+ i32 10, label %F
+ i32 1234, label %G
]
- %cond = seteq int %A, 123
- br bool %cond, label %T, label %F
-T:
- %C = mul int %B, %B
- ret int %C
-F:
- ret int 0
-G:
- %D = mul int %B, %B
- %E = mul int %D, %B
- ret int %E
+ ; No predecessors!
+ %cond = icmp eq i32 %A, 123 ; <i1> [#uses=1]
+ br i1 %cond, label %T, label %F
+
+T: ; preds = %1, %0
+ %C = mul i32 %B, %B ; <i32> [#uses=1]
+ ret i32 %C
+
+F: ; preds = %1, %0
+ ret i32 0
+
+G: ; preds = %0
+ %D = mul i32 %B, %B ; <i32> [#uses=1]
+ %E = mul i32 %D, %B ; <i32> [#uses=1]
+ ret i32 %E
}
-int %test(int %A) {
- %X = call int %callee1(int 10, int %A)
- %Y = call int %callee2(int 10, int %A)
- %Z = add int %X, %Y
- ret int %Z
+define i32 @test(i32 %A) {
+ %X = call i32 @callee1( i32 10, i32 %A ) ; <i32> [#uses=1]
+ %Y = call i32 @callee2( i32 10, i32 %A ) ; <i32> [#uses=1]
+ %Z = add i32 %X, %Y ; <i32> [#uses=1]
+ ret i32 %Z
}
+
diff --git a/test/Transforms/Inline/invoke_test-1.ll b/test/Transforms/Inline/invoke_test-1.ll
index 9e690189d9..1fd3317fd1 100644
--- a/test/Transforms/Inline/invoke_test-1.ll
+++ b/test/Transforms/Inline/invoke_test-1.ll
@@ -1,23 +1,24 @@
; Test that we can inline a simple function, turning the calls in it into invoke
; instructions
-; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | \
+; RUN: llvm-as < %s | opt -inline | llvm-dis | \
; RUN: not grep {call\[^e\]}
-declare void %might_throw()
+declare void @might_throw()
-implementation
-
-internal void %callee() {
- call void %might_throw()
- ret void
+define internal void @callee() {
+ call void @might_throw( )
+ ret void
}
; caller returns true if might_throw throws an exception...
-int %caller() {
- invoke void %callee() to label %cont except label %exc
-cont:
- ret int 0
-exc:
- ret int 1
+define i32 @caller() {
+ invoke void @callee( )
+ to label %cont unwind label %exc
+
+cont: ; preds = %0
+ ret i32 0
+
+exc: ; preds = %0
+ ret i32 1
}
diff --git a/test/Transforms/Inline/invoke_test-2.ll b/test/Transforms/Inline/invoke_test-2.ll
index 9262090475..68b8bd8b65 100644
--- a/test/Transforms/Inline/invoke_test-2.ll
+++ b/test/Transforms/Inline/invoke_test-2.ll
@@ -1,28 +1,30 @@
; Test that if an invoked function is inlined, and if that function cannot
; throw, that the dead handler is now unreachable.
-; RUN: llvm-upgrade < %s | llvm-as | opt -inline -simplifycfg | llvm-dis | \
+; RUN: llvm-as < %s | opt -inline -simplifycfg | llvm-dis | \
; RUN: not grep UnreachableExceptionHandler
-declare void %might_throw()
+declare void @might_throw()
-implementation
+define internal i32 @callee() {
+ invoke void @might_throw( )
+ to label %cont unwind label %exc
-internal int %callee() {
- invoke void %might_throw() to label %cont except label %exc
-cont:
- ret int 0
-exc:
- ; This just consumes the exception!
- ret int 1
+cont: ; preds = %0
+ ret i32 0
+
+exc: ; preds = %0
+ ret i32 1
}
; caller returns true if might_throw throws an exception... callee cannot throw.
-int %caller() {
- %X = invoke int %callee() to label %cont
- except label %UnreachableExceptionHandler
-cont:
- ret int %X
-UnreachableExceptionHandler:
- ret int -1 ; This is dead!
+define i32 @caller() {
+ %X = invoke i32 @callee( )
+ to label %cont unwind label %UnreachableExceptionHandler ; <i32> [#uses=1]
+
+cont: ; preds = %0
+ ret i32 %X
+
+UnreachableExceptionHandler: ; preds = %0
+ ret i32 -1
}
diff --git a/test/Transforms/Inline/invoke_test-3.ll b/test/Transforms/Inline/invoke_test-3.ll
index b471afe2fb..a5deec6aa8 100644
--- a/test/Transforms/Inline/invoke_test-3.ll
+++ b/test/Transforms/Inline/invoke_test-3.ll
@@ -1,28 +1,32 @@
; Test that any rethrown exceptions in an inlined function are automatically
; turned into branches to the invoke destination.
-; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | not grep unwind$
+; RUN: llvm-as < %s | opt -inline | llvm-dis | not grep unwind$
-declare void %might_throw()
+declare void @might_throw()
-implementation
+define internal i32 @callee() {
+ invoke void @might_throw( )
+ to label %cont unwind label %exc
-internal int %callee() {
- invoke void %might_throw() to label %cont except label %exc
-cont:
- ret int 0
-exc: ; This just rethrows the exception!
- unwind
+cont: ; preds = %0
+ ret i32 0
+
+exc: ; preds = %0a
+ ; This just rethrows the exception!
+ unwind
}
-; caller returns true if might_throw throws an exception... which gets
+; caller returns true if might_throw throws an exception... which gets
; propagated by callee.
-int %caller() {
- %X = invoke int %callee() to label %cont
- except label %Handler
-cont:
- ret int %X
-Handler:
- ; This consumes an exception thrown by might_throw
- ret int 1
+define i32 @caller() {
+ %X = invoke i32 @callee( )
+ to label %cont unwind label %Handler ; <i32> [#uses=1]
+
+cont: ; preds = %0
+ ret i32 %X
+
+Handler: ; preds = %0
+; This consumes an exception thrown by might_throw
+ ret i32 1
}
diff --git a/test/Transforms/InstCombine/2002-03-11-InstCombineHang.ll b/test/Transforms/InstCombine/2002-03-11-InstCombineHang.ll
index dd683a3d99..94ce68e989 100644
--- a/test/Transforms/InstCombine/2002-03-11-InstCombineHang.ll
+++ b/test/Transforms/InstCombine/2002-03-11-InstCombineHang.ll
@@ -1,11 +1,9 @@
; This testcase causes instcombine to hang.
;
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine
+; RUN: llvm-as < %s | opt -instcombine
-implementation
+define void @test(i32 %X) {
+ %reg117 = add i32 %X, 0 ; <i32> [#uses=0]
+ ret void
+}
-void "test"(int %X)
-begin
- %reg117 = add int %X, 0
- ret void
-end
diff --git a/test/Transforms/InstCombine/2002-05-14-TouchDeletedInst.ll b/test/Transforms/InstCombine/2002-05-14-TouchDeletedInst.ll
index 5e6d63bdd0..1c93d2457d 100644
--- a/test/Transforms/InstCombine/2002-05-14-TouchDeletedInst.ll
+++ b/test/Transforms/InstCombine/2002-05-14-TouchDeletedInst.ll
@@ -1,510 +1,506 @@
-; This testcase, obviously distilled from a large program (bzip2 from
-; Specint2000) caused instcombine to fail because it got the same instruction
-; on it's worklist more than once (which is ok), but then deleted the
-; instruction. Since the inst stayed on the worklist, as soon as it came back
+; This testcase, obviously distilled from a large program (bzip2 from
+; Specint2000) caused instcombine to fail because it got the same instruction
+; on it's worklist more than once (which is ok), but then deleted the
+; instruction. Since the inst stayed on the worklist, as soon as it came back
; up to be processed, bad things happened, and opt asserted.
;
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine
-; END.
+; RUN: llvm-as < %s | opt -instcombine
;
-
-%.LC0 = internal global [21 x sbyte] c"hbMakeCodeLengths(1)\00" ; <[21 x sbyte]*> [#uses=1]
-%.LC1 = internal global [21 x sbyte] c"hbMakeCodeLengths(2)\00" ; <[21 x sbyte]*> [#uses=1]
-
-implementation ; Functions:
-
-void %hbMakeCodeLengths(ubyte* %len, int* %freq, int %alphaSize, int %maxLen) {
-bb0: ;[#uses=0]
- %len = alloca ubyte* ; <ubyte**> [#uses=2]
- store ubyte* %len, ubyte** %len
- %freq = alloca int* ; <int**> [#uses=2]
- store int* %freq, int** %freq
- %alphaSize = alloca int ; <int*> [#uses=2]
- store int %alphaSize, int* %alphaSize
- %maxLen = alloca int ; <int*> [#uses=2]
- store int %maxLen, int* %maxLen
- %heap = alloca int, uint 260 ; <int*> [#uses=27]
- %weight = alloca int, uint 516 ; <int*> [#uses=18]
- %parent = alloca int, uint 516 ; <int*> [#uses=7]
+@.LC0 = internal global [21 x i8] c"hbMakeCodeLengths(1)\00" ; <[21 x i8]*> [#uses=1]
+@.LC1 = internal global [21 x i8] c"hbMakeCodeLengths(2)\00" ; <[21 x i8]*> [#uses=1]
+
+define void @hbMakeCodeLengths(i8* %len, i32* %freq, i32 %alphaSize, i32 %maxLen) {
+bb0:
+ %len.upgrd.1 = alloca i8* ; <i8**> [#uses=2]
+ store i8* %len, i8** %len.upgrd.1
+ %freq.upgrd.2 = alloca i32* ; <i32**> [#uses=2]
+ store i32* %freq, i32** %freq.upgrd.2
+ %alphaSize.upgrd.3 = alloca i32 ; <i32*> [#uses=2]
+ store i32 %alphaSize, i32* %alphaSize.upgrd.3
+ %maxLen.upgrd.4 = alloca i32 ; <i32*> [#uses=2]
+ store i32 %maxLen, i32* %maxLen.upgrd.4
+ %heap = alloca i32, i32 260 ; <i32*> [#uses=27]
+ %weight = alloca i32, i32 516 ; <i32*> [#uses=18]
+ %parent = alloca i32, i32 516 ; <i32*> [#uses=7]
br label %bb1
-bb1: ;[#uses=2]
- %reg107 = load ubyte** %len ; <ubyte*> [#uses=1]
- %reg108 = load int** %freq ; <int*> [#uses=1]
- %reg109 = load int* %alphaSize ; <int> [#uses=10]
- %reg110 = load int* %maxLen ; <int> [#uses=1]
- %cond747 = setge int 0, %reg109 ; <bool> [#uses=1]
- br bool %cond747, label %bb6, label %bb2
-
-bb2: ;[#uses=2]
- %reg591 = phi int [ %reg594, %bb5 ], [ 0, %bb1 ] ; <int> [#uses=3]
- %reg591-idxcast1 = cast int %reg591 to uint ; <uint> [#uses=1]
- %reg591-idxcast1-offset = add uint %reg591-idxcast1, 1 ; <uint> [#uses=1]
- %reg591-idxcast1-offset = cast uint %reg591-idxcast1-offset to long ; <long> [#uses=1]
- %reg126 = getelementptr int* %weight, long %reg591-idxcast1-offset ; <int*> [#uses=1]
- %reg591-idxcast = cast int %reg591 to long ; <long> [#uses=1]
- %reg132 = getelementptr int* %reg108, long %reg591-idxcast ; <int*> [#uses=1]
- %reg133 = load int* %reg132 ; <int> [#uses=2]
- %cond748 = seteq int %reg133, 0 ; <bool> [#uses=1]
- br bool %cond748, label %bb4, label %bb3
-
-bb3: ;[#uses=2]
- %reg127 = shl int %reg133, ubyte 8 ; <int> [#uses=1]
+bb1: ; preds = %bb0
+ %reg107 = load i8** %len.upgrd.1 ; <i8*> [#uses=1]
+ %reg108 = load i32** %freq.upgrd.2 ; <i32*> [#uses=1]
+ %reg109 = load i32* %alphaSize.upgrd.3 ; <i32> [#uses=10]
+ %reg110 = load i32* %maxLen.upgrd.4 ; <i32> [#uses=1]
+ %cond747 = icmp sge i32 0, %reg109 ; <i1> [#uses=1]
+ br i1 %cond747, label %bb6, label %bb2
+
+bb2: ; preds = %bb5, %bb1
+ %reg591 = phi i32 [ %reg594, %bb5 ], [ 0, %bb1 ] ; <i32> [#uses=3]
+ %reg591-idxcast1 = bitcast i32 %reg591 to i32 ; <i32> [#uses=1]
+ %reg591-idxcast1-offset = add i32 %reg591-idxcast1, 1 ; <i32> [#uses=1]
+ %reg591-idxcast1-offset.upgrd.5 = zext i32 %reg591-idxcast1-offset to i64 ; <i64> [#uses=1]
+ %reg126 = getelementptr i32* %weight, i64 %reg591-idxcast1-offset.upgrd.5 ; <i32*> [#uses=1]
+ %reg591-idxcast = sext i32 %reg591 to i64 ; <i64> [#uses=1]
+ %reg132 = getelementptr i32* %reg108, i64 %reg591-idxcast ; <i32*> [#uses=1]
+ %reg133 = load i32* %reg132 ; <i32> [#uses=2]
+ %cond748 = icmp eq i32 %reg133, 0 ; <i1> [#uses=1]
+ br i1 %cond748, label %bb4, label %bb3
+
+bb3: ; preds = %bb2
+ %reg127 = shl i32 %reg133, 8 ; <i32> [#uses=1]
br label %bb5
-bb4: ;[#uses=2]
+bb4: ; preds = %bb2
br label %bb5
-bb5: ;[#uses=3]
- %reg593 = phi int [ 256, %bb4 ], [ %reg127, %bb3 ] ; <int> [#uses=1]
- store int %reg593, int* %reg126
- %reg594 = add int %reg591, 1 ; <int> [#uses=2]
- %cond749 = setlt int %reg594, %reg109 ; <bool> [#uses=1]
- br bool %cond749, label %bb2, label %bb6
-
-bb6: ;[#uses=6]
- store int 0, int* %heap
- store int 0, int* %weight
- store int -2, int* %parent
- %cond750 = setgt int 1, %reg109 ; <bool> [#uses=1]
- br bool %cond750, label %bb11, label %bb7
-
-bb7: ;[#uses=3]
- %reg597 = phi uint [ %reg598, %bb10 ], [ 0, %bb6 ] ; <uint> [#uses=5]
- %reg597-casted = cast uint %reg597 to int ; <int> [#uses=1]
- %reg596 = add int %reg597-casted, 1 ; <int> [#uses=3]
- %reg597-offset = add uint %reg597, 1 ; <uint> [#uses=1]
- %reg597-offset = cast uint %reg597-offset to long ; <long> [#uses=1]
- %reg149 = getelementptr int* %parent, long %reg597-offset ; <int*> [#uses=1]
- store int -1, int* %reg149
- %reg598 = add uint %reg597, 1 ; <uint> [#uses=3]
- %reg597-offset1 = add uint %reg597, 1 ; <uint> [#uses=1]
- %reg597-offset1 = cast uint %reg597-offset1 to long ; <long> [#uses=1]
- %reg157 = getelementptr int* %heap, long %reg597-offset1 ; <int*> [#uses=1]
- store int %reg596, int* %reg157
+bb5: ; preds = %bb4, %bb3
+ %reg593 = phi i32 [ 256, %bb4 ], [ %reg127, %bb3 ] ; <i32> [#uses=1]
+ store i32 %reg593, i32* %reg126
+ %reg594 = add i32 %reg591, 1 ; <i32> [#uses=2]
+ %cond749 = icmp slt i32 %reg594, %reg109 ; <i1> [#uses=1]
+ br i1 %cond749, label %bb2, label %bb6
+
+bb6: ; preds = %bb43, %bb41, %bb5, %bb1
+ store i32 0, i32* %heap
+ store i32 0, i32* %weight
+ store i32 -2, i32* %parent
+ %cond750 = icmp sgt i32 1, %reg109 ; <i1> [#uses=1]
+ br i1 %cond750, label %bb11, label %bb7
+
+bb7: ; preds = %bb10, %bb6
+ %reg597 = phi i32 [ %reg598, %bb10 ], [ 0, %bb6 ] ; <i32> [#uses=5]
+ %reg597-casted = bitcast i32 %reg597 to i32 ; <i32> [#uses=1]
+ %reg596 = add i32 %reg597-casted, 1 ; <i32> [#uses=3]
+ %reg597-offset = add i32 %reg597, 1 ; <i32> [#uses=1]
+ %reg597-offset.upgrd.6 = zext i32 %reg597-offset to i64 ; <i64> [#uses=1]
+ %reg149 = getelementptr i32* %parent, i64 %reg597-offset.upgrd.6 ; <i32*> [#uses=1]
+ store i32 -1, i32* %reg149
+ %reg598 = add i32 %reg597, 1 ; <i32> [#uses=3]
+ %reg597-offset1 = add i32 %reg597, 1 ; <i32> [#uses=1]
+ %reg597-offset1.upgrd.7 = zext i32 %reg597-offset1 to i64 ; <i64> [#uses=1]
+ %reg157 = getelementptr i32* %heap, i64 %reg597-offset1.upgrd.7 ; <i32*> [#uses=1]
+ store i32 %reg596, i32* %reg157
br label %bb9
-bb8: ;[#uses=2]
- %reg599 = cast uint %reg599 to long ; <long> [#uses=1]
- %reg198 = getelementptr int* %heap, long %reg599 ; <int*> [#uses=1]
- store int %reg182, int* %reg198
- %cast938 = cast int %reg174 to uint ; <uint> [#uses=1]
+bb8: ; preds = %bb9
+ %reg599 = zext i32 %reg599.upgrd.8 to i64 ; <i64> [#uses=1]
+ %reg198 = getelementptr i32* %heap, i64 %reg599 ; <i32*> [#uses=1]
+ store i32 %reg182, i32* %reg198
+ %cast938 = bitcast i32 %reg174 to i32 ; <i32> [#uses=1]
br label %bb9
-bb9: ;[#uses=2]
- %reg599 = phi uint [ %cast938, %bb8 ], [ %reg598, %bb7 ] ; <uint> [#uses=3]
- %cast807 = cast uint %reg599 to int ; <int> [#uses=1]
- %reg597-offset2 = add uint %reg597, 1 ; <uint> [#uses=1]
- %reg597-offset2 = cast uint %reg597-offset2 to long ; <long> [#uses=1]
- %reg173 = getelementptr int* %weight, long %reg597-offset2 ; <int*> [#uses=1]
- %reg174 = shr int %cast807, ubyte 1 ; <int> [#uses=2]
- %reg174-idxcast = cast int %reg174 to uint ; <uint> [#uses=1]
- cast uint %reg174-idxcast to long ; <long>:0 [#uses=1]
- %reg181 = getelementptr int* %heap, long %0 ; <int*> [#uses=1]
- %reg182 = load int* %reg181 ; <int> [#uses=2]
- %reg182-idxcast = cast int %reg182 to uint ; <uint> [#uses=1]
- cast uint %reg182-idxcast to long ; <long>:1 [#uses=1]
- %reg189 = getelementptr int* %weight, long %1 ; <int*> [#uses=1]
- %reg190 = load int* %reg173 ; <int> [#uses=1]
- %reg191 = load int* %reg189 ; <int> [#uses=1]
- %cond751 = setlt int %reg190, %reg191 ; <bool> [#uses=1]
- br bool %cond751, label %bb8, label %bb10
-
-bb10: ;[#uses=3]
- cast uint %reg599 to long ; <long>:2 [#uses=1]
- %reg214 = getelementptr int* %heap, long %2 ; <int*> [#uses=1]
- store int %reg596, int* %reg214
- %reg601 = add int %reg596, 1 ; <int> [#uses=1]
- %cond752 = setle int %reg601, %reg109 ; <bool> [#uses=1]
- br bool %cond752, label %bb7, label %bb11
-
-bb11: ;[#uses=2]
- %reg602 = phi uint [ %reg598, %bb10 ], [ 0, %bb6 ] ; <uint> [#uses=3]
- %cast819 = cast uint %reg602 to int ; <int> [#uses=1]
- %cast818 = cast uint %reg602 to int ; <int> [#uses=1]
- %cond753 = setle int %cast818, 259 ; <bool> [#uses=1]
- br bool %cond753, label %bb13, label %bb12
-
-bb12: ;[#uses=1]
- cast uint 0 to long ; <long>:3 [#uses=1]
- cast uint 0 to long ; <long>:4 [#uses=1]
- %cast784 = getelementptr [21 x sbyte]* %.LC0, long %3, long %4 ; <sbyte*> [#uses=1]
- call void %panic( sbyte* %cast784 )
+bb9: ; preds = %bb8, %bb7
+ %reg599.upgrd.8 = phi i32 [ %cast938, %bb8 ], [ %reg598, %bb7 ] ; <i32> [#uses=3]
+ %cast807 = bitcast i32 %reg599.upgrd.8 to i32 ; <i32> [#uses=1]
+ %reg597-offset2 = add i32 %reg597, 1 ; <i32> [#uses=1]
+ %reg597-offset2.upgrd.9 = zext i32 %reg597-offset2 to i64 ; <i64> [#uses=1]
+ %reg173 = getelementptr i32* %weight, i64 %reg597-offset2.upgrd.9 ; <i32*> [#uses=1]
+ %reg174 = ashr i32 %cast807, 1 ; <i32> [#uses=2]
+ %reg174-idxcast = bitcast i32 %reg174 to i32 ; <i32> [#uses=1]
+ zext i32 %reg174-idxcast to i64 ; <i64>:0 [#uses=1]
+ %reg181 = getelementptr i32* %heap, i64 %0 ; <i32*> [#uses=1]
+ %reg182 = load i32* %reg181 ; <i32> [#uses=2]
+ %reg182-idxcast = bitcast i32 %reg182 to i32 ; <i32> [#uses=1]
+ zext i32 %reg182-idxcast to i64 ; <i64>:1 [#uses=1]
+ %reg189 = getelementptr i32* %weight, i64 %1 ; <i32*> [#uses=1]
+ %reg190 = load i32* %reg173 ; <i32> [#uses=1]
+ %reg191 = load i32* %reg189 ; <i32> [#uses=1]
+ %cond751 = icmp slt i32 %reg190, %reg191 ; <i1> [#uses=1]
+ br i1 %cond751, label %bb8, label %bb10
+
+bb10: ; preds = %bb9
+ zext i32 %reg599.upgrd.8 to i64 ; <i64>:2 [#uses=1]
+ %reg214 = getelementptr i32* %heap, i64 %2 ; <i32*> [#uses=1]
+ store i32 %reg596, i32* %reg214
+ %reg601 = add i32 %reg596, 1 ; <i32> [#uses=1]
+ %cond752 = icmp sle i32 %reg601, %reg109 ; <i1> [#uses=1]
+ br i1 %cond752, label %bb7, label %bb11
+
+bb11: ; preds = %bb10, %bb6
+ %reg602 = phi i32 [ %reg598, %bb10 ], [ 0, %bb6 ] ; <i32> [#uses=3]
+ %cast819 = bitcast i32 %reg602 to i32 ; <i32> [#uses=1]
+ %cast818 = bitcast i32 %reg602 to i32 ; <i32> [#uses=1]
+ %cond753 = icmp sle i32 %cast818, 259 ; <i1> [#uses=1]
+ br i1 %cond753, label %bb13, label %bb12
+
+bb12: ; preds = %bb11
+ zext i32 0 to i64 ; <i64>:3 [#uses=1]
+ zext i32 0 to i64 ; <i64>:4 [#uses=1]
+ %cast784 = getelementptr [21 x i8]* @.LC0, i64 %3, i64 %4 ; <i8*> [#uses=1]
+ call void @panic( i8* %cast784 )
br label %bb13
-bb13: ;[#uses=4]
- %cond754 = setle int %cast819, 1 ; <bool> [#uses=1]
- %cast918 = cast int %reg109 to uint ; <uint> [#uses=1]
- %cast940 = cast uint %reg602 to int ; <int> [#uses=1]
- %cast942 = cast int %reg109 to uint ; <uint> [#uses=1]
- br bool %cond754, label %bb32, label %bb14
-
-bb14: ;[#uses=5]
- %cann-indvar1 = phi uint [ 0, %bb13 ], [ %add1-indvar1, %bb31 ] ; <uint> [#uses=3]
- %cann-indvar1-casted = cast uint %cann-indvar1 to int ; <int> [#uses=1]
- %reg603-scale = mul int %cann-indvar1-casted, -1 ; <int> [#uses=1]
- %reg603 = add int %reg603-scale, %cast940 ; <int> [#uses=4]
- %reg604 = add uint %cann-indvar1, %cast942 ; <uint> [#uses=4]
- %add1-indvar1 = add uint %cann-indvar1, 1 ; <uint> [#uses=1]
- cast uint 1 to long ; <long>:5 [#uses=1]
- %reg7551 = getelementptr int* %heap, long %5 ; <int*> [#uses=1]
- %reg113 = load int* %reg7551 ; <int> [#uses=2]
- %reg603-idxcast = cast int %reg603 to uint ; <uint> [#uses=1]
- cast uint %reg603-idxcast to long ; <long>:6 [#uses=1]
- %reg222 = getelementptr int* %heap, long %6 ; <int*> [#uses=1]
- %reg223 = load int* %reg222 ; <int> [#uses=1]
- cast uint 1 to long ; <long>:7 [#uses=1]
- %reg7561 = getelementptr int* %heap, long %7 ; <int*> [#uses=1]
- store int %reg223, int* %reg7561
- %reg605 = add int %reg603, -1 ; <int> [#uses=4]
- cast uint 1 to long ; <long>:8 [#uses=1]
- %reg757 = getelementptr int* %heap, long %8 ; <int*> [#uses=1]
- %reg226 = load int* %reg757 ; <int> [#uses=2]
- %cond758 = setgt int 2, %reg605 ; <bool> [#uses=1]
- br bool %cond758, label %bb20, label %bb15
-
-bb15: ;[#uses=3]
- %reg606 = phi int [ %reg611, %bb19 ], [ 2, %bb14 ] ; <int> [#uses=6]
- %reg607 = phi int [ %reg609, %bb19 ], [ 1, %bb14 ] ; <int> [#uses=2]
- %cond759 = setge int %reg606, %reg605 ; <bool> [#uses=1]
- br bool %cond759, label %bb18, label %bb16
-
-bb16: ;[#uses=2]
- %reg606-idxcast = cast int %reg606 to uint ; <uint> [#uses=1]
- %reg606-idxcast-offset = add uint %reg606-idxcast, 1 ; <uint> [#uses=1]
- cast uint %reg606-idxcast-offset to long ; <long>:9 [#uses=1]
- %reg241 = getelementptr int* %heap, long %9 ; <int*> [#uses=1]
- %reg242 = load int* %reg241 ; <int> [#uses=1]
- %reg242-idxcast = cast int %reg242 to uint ; <uint> [#uses=1]
- cast uint %reg242-idxcast to long ; <long>:10 [#uses=1]
- %reg249 = getelementptr int* %weight, long %10 ; <int*> [#uses=1]
- %reg606-idxcast1 = cast int %reg606 to uint ; <uint> [#uses=1]
- cast uint %reg606-idxcast1 to long ; <long>:11 [#uses=1]
- %reg256 = getelementptr int* %heap, long %11 ; <int*> [#uses=1]
- %reg257 = load int* %reg256 ; <int> [#uses=1]
- %reg257-idxcast = cast int %reg257 to uint ; <uint> [#uses=1]
- cast uint %reg257-idxcast to long ; <long>:12 [#uses=1]
- %reg264 = getelementptr int* %weight, long %12 ; <int*> [#uses=1]
- %reg265 = load int* %reg249 ; <int> [#uses=1]
- %reg266 = load int* %reg264 ; <int> [#uses=1]
- %cond760 = setge int %reg265, %reg266 ; <bool> [#uses=1]
- br bool %cond760, label %bb18, label %bb17
-
-bb17: ;[#uses=2]
- %reg608 = add int %reg606, 1 ; <int> [#uses=1]
+bb13: ; preds = %bb12, %bb11
+ %cond754 = icmp sle i32 %cast819, 1 ; <i1> [#uses=1]
+ %cast918 = bitcast i32 %reg109 to i32 ; <i32> [#uses=1]
+ %cast940 = bitcast i32 %reg602 to i32 ; <i32> [#uses=1]
+ %cast942 = bitcast i32 %reg109 to i32 ; <i32> [#uses=1]
+ br i1 %cond754, label %bb32, label %bb14
+
+bb14: ; preds = %bb31, %bb13
+ %cann-indvar1 = phi i32 [ 0, %bb13 ], [ %add1-indvar1, %bb31 ] ; <i32> [#uses=3]
+ %cann-indvar1-casted = bitcast i32 %cann-indvar1 to i32 ; <i32> [#uses=1]
+ %reg603-scale = mul i32 %cann-indvar1-casted, -1 ; <i32> [#uses=1]
+ %reg603 = add i32 %reg603-scale, %cast940 ; <i32> [#uses=4]
+ %reg604 = add i32 %cann-indvar1, %cast942 ; <i32> [#uses=4]
+ %add1-indvar1 = add i32 %cann-indvar1, 1 ; <i32> [#uses=1]
+ zext i32 1 to i64 ; <i64>:5 [#uses=1]
+ %reg7551 = getelementptr i32* %heap, i64 %5 ; <i32*> [#uses=1]
+ %reg113 = load i32* %reg7551 ; <i32> [#uses=2]
+ %reg603-idxcast = bitcast i32 %reg603 to i32 ; <i32> [#uses=1]
+ zext i32 %reg603-idxcast to i64 ; <i64>:6 [#uses=1]
+ %reg222 = getelementptr i32* %heap, i64 %6 ; <i32*> [#uses=1]
+ %reg223 = load i32* %reg222 ; <i32> [#uses=1]
+ zext i32 1 to i64 ; <i64>:7 [#uses=1]
+ %reg7561 = getelementptr i32* %heap, i64 %7 ; <i32*> [#uses=1]
+ store i32 %reg223, i32* %reg7561
+ %reg605 = add i32 %reg603, -1 ; <i32> [#uses=4]
+ zext i32 1 to i64 ; <i64>:8 [#uses=1]
+ %reg757 = getelementptr i32* %heap, i64 %8 ; <i32*> [#uses=1]
+ %reg226 = load i32* %reg757 ; <i32> [#uses=2]
+ %cond758 = icmp sgt i32 2, %reg605 ; <i1> [#uses=1]
+ br i1 %cond758, label %bb20, label %bb15
+
+bb15: ; preds = %bb19, %bb14
+ %reg606 = phi i32 [ %reg611, %bb19 ], [ 2, %bb14 ] ; <i32> [#uses=6]
+ %reg607 = phi i32 [ %reg609, %bb19 ], [ 1, %bb14 ] ; <i32> [#uses=2]
+ %cond759 = icmp sge i32 %reg606, %reg605 ; <i1> [#uses=1]
+ br i1 %cond759, label %bb18, label %bb16
+
+bb16: ; preds = %bb15
+ %reg606-idxcast = bitcast i32 %reg606 to i32 ; <i32> [#uses=1]
+ %reg606-idxcast-offset = add i32 %reg606-idxcast, 1 ; <i32> [#uses=1]
+ zext i32 %reg606-idxcast-offset to i64 ; <i64>:9 [#uses=1]
+ %reg241 = getelementptr i32* %heap, i64 %9 ; <i32*> [#uses=1]
+ %reg242 = load i32* %reg241 ; <i32> [#uses=1]
+ %reg242-idxcast = bitcast i32 %reg242 to i32 ; <i32> [#uses=1]
+ zext i32 %reg242-idxcast to i64 ; <i64>:10 [#uses=1]
+ %reg249 = getelementptr i32* %weight, i64 %10 ; <i32*> [#uses=1]
+ %reg606-idxcast1 = bitcast i32 %reg606 to i32 ; <i32> [#uses=1]
+ zext i32 %reg606-idxcast1 to i64 ; <i64>:11 [#uses=1]
+ %reg256 = getelementptr i32* %heap, i64 %11 ; <i32*> [#uses=1]
+ %reg257 = load i32* %reg256 ; <i32> [#uses=1]
+ %reg257-idxcast = bitcast i32 %reg257 to i32 ; <i32> [#uses=1]
+ zext i32 %reg257-idxcast to i64 ; <i64>:12 [#uses=1]
+ %reg264 = getelementptr i32* %weight, i64 %12 ; <i32*> [#uses=1]
+ %reg265 = load i32* %reg249 ; <i32> [#uses=1]
+ %reg266 = load i32* %reg264 ; <i32> [#uses=1]
+ %cond760 = icmp sge i32 %reg265, %reg266 ; <i1> [#uses=1]
+ br i1 %cond760, label %bb18, label %bb17
+
+bb17: ; preds = %bb16
+ %reg608 = add i32 %reg606, 1 ; <i32> [#uses=1]
br label %bb18
-bb18: ;[#uses=4]
- %reg609 = phi int [ %reg608, %bb17 ], [ %reg606, %bb16 ], [ %reg606, %bb15 ] ; <int> [#uses=4]
- %reg226-idxcast = cast int %reg226 to uint ; <uint> [#uses=1]
- cast uint %reg226-idxcast to long ; <long>:13 [#uses=1]
- %reg273 = getelementptr int* %weight, long %13 ; <int*> [#uses=1]
- %reg609-idxcast = cast int %reg609 to uint ; <uint> [#uses=1]
- cast uint %reg609-idxcast to long ; <long>:14 [#uses=1]
- %reg280 = getelementptr int* %heap, long %14 ; <int*> [#uses=1]
- %reg281 = load int* %reg280 ; <int> [#uses=2]
- %reg281-idxcast = cast int %reg281 to uint ; <uint> [#uses=1]
- cast uint %reg281-idxcast to long ; <long>:15 [#uses=1]
- %reg288 = getelementptr int* %weight, long %15 ; <int*> [#uses=1]
- %reg289 = load int* %reg273 ; <int> [#uses=1]
- %reg290 = load int* %reg288 ; <int> [#uses=1]
- %cond761 = setlt int %reg289, %reg290 ; <bool> [#uses=1]
- br bool %cond761, label %bb20, label %bb19
-
-bb19: ;[#uses=4]
- %reg607-idxcast = cast int %reg607 to uint ; <uint> [#uses=1]
- cast uint %reg607-idxcast to long ; <long>:16 [#uses=1]
- %reg297 = getelementptr int* %heap, long %16 ; <int*> [#uses=1]
- store int %reg281, int* %reg297
- %reg611 = shl int %reg609, ubyte 1 ; <int> [#uses=2]
- %cond762 = setle int %reg611, %reg605 ; <bool> [#uses=1]
- br bool %cond762, label %bb15, label %bb20
-
-bb20: ;[#uses=6]
- %reg612 = phi int [ %reg609, %bb19 ], [ %reg607, %bb18 ], [ 1, %bb14 ] ; <int> [#uses=1]
- %reg612-idxcast = cast int %reg612 to uint ; <uint> [#uses=1]
- cast uint %reg612-idxcast to long ; <long>:17 [#uses=1]
- %reg312 = getelementptr int* %heap, long %17 ; <int*> [#uses=1]
- store int %reg226, int* %reg312
- cast uint 1 to long ; <long>:18 [#uses=1]
- %reg7631 = getelementptr int* %heap, long %18 ; <int*> [#uses=1]
- %reg114 = load int* %reg7631 ; <int> [#uses=2]
- %reg603-idxcast1 = cast int %reg603 to uint ; <uint> [#uses=1]
- %reg603-idxcast1-offset = add uint %reg603-idxcast1, 1073741823 ; <uint> [#uses=1]
- cast uint %reg603-idxcast1-offset to long ; <long>:19 [#uses=1]
- %reg319 = getelementptr int* %heap, long %19 ; <int*> [#uses=1]
- %reg320 = load int* %reg319 ; <int> [#uses=1]
- cast uint 1 to long ; <long>:20 [#uses=1]
- %reg7641 = getelementptr int* %heap, long %20 ; <int*> [#uses=1]
- store int %reg320, int* %reg7641
- %reg613 = add int %reg605, -1 ; <int> [#uses=4]
- cast uint 1 to long ; <long>:21 [#uses=1]
- %reg765 = getelementptr int* %heap, long %21 ; <int*> [#uses=1]
- %reg323 = load int* %reg765 ; <int> [#uses=2]
- %cond766 = setgt int 2, %reg613 ; <bool> [#uses=1]
- br bool %cond766, label %bb26, label %bb21
-
-bb21: ;[#uses=3]
- %reg614 = phi int [ %reg619, %bb25 ], [ 2, %bb20 ] ; <int> [#uses=6]
- %reg615 = phi int [ %reg617, %bb25 ], [ 1, %bb20 ] ; <int> [#uses=2]
- %cond767 = setge int %reg614, %reg613 ; <bool> [#uses=1]
- br bool %cond767, label %bb24, label %bb22
-
-bb22: ;[#uses=2]
- %reg614-idxcast = cast int %reg614 to uint ; <uint> [#uses=1]
- %reg614-idxcast-offset = add uint %reg614-idxcast, 1 ; <uint> [#uses=1]
- cast uint %reg614-idxcast-offset to long ; <long>:22 [#uses=1]
- %reg338 = getelementptr int* %heap, long %22 ; <int*> [#uses=1]
- %reg339 = load int* %reg338 ; <int> [#uses=1]
- %reg339-idxcast = cast int %reg339 to uint ; <uint> [#uses=1]
- cast uint %reg339-idxcast to long ; <long>:23 [#uses=1]
- %reg346 = getelementptr int* %weight, long %23 ; <int*> [#uses=1]
- %reg614-idxcast1 = cast int %reg614 to uint ; <uint> [#uses=1]
- cast uint %reg614-idxcast1 to long ; <long>:24 [#uses=1]
- %reg353 = getelementptr int* %heap, long %24 ; <int*> [#uses=1]
- %reg354 = load int* %reg353 ; <int> [#uses=1]
- %reg354-idxcast = cast int %reg354 to uint ; <uint> [#uses=1]
- cast uint %reg354-idxcast to long ; <long>:25 [#uses=1]
- %reg361 = getelementptr int* %weight, long %25 ; <int*> [#uses=1]
- %reg362 = load int* %reg346 ; <int> [#uses=1]
- %reg363 = load int* %reg361 ; <int> [#uses=1]
- %cond768 = setge int %reg362, %reg363 ; <bool> [#uses=1]
- br bool %cond768, label %bb24, label %bb23
-
-bb23: ;[#uses=2]
- %reg616 = add int %reg614, 1 ; <int> [#uses=1]
+bb18: ; preds = %bb17, %bb16, %bb15
+ %reg609 = phi i32 [ %reg608, %bb17 ], [ %reg606, %bb16 ], [ %reg606, %bb15 ] ; <i32> [#uses=4]
+ %reg226-idxcast = bitcast i32 %reg226 to i32 ; <i32> [#uses=1]
+ zext i32 %reg226-idxcast to i64 ; <i64>:13 [#uses=1]
+ %reg273 = getelementptr i32* %weight, i64 %13 ; <i32*> [#uses=1]
+ %reg609-idxcast = bitcast i32 %reg609 to i32 ; <i32> [#uses=1]
+ zext i32 %reg609-idxcast to i64 ; <i64>:14 [#uses=1]
+ %reg280 = getelementptr i32* %heap, i64 %14 ; <i32*> [#uses=1]
+ %reg281 = load i32* %reg280 ; <i32> [#uses=2]
+ %reg281-idxcast = bitcast i32 %reg281 to i32 ; <i32> [#uses=1]
+ zext i32 %reg281-idxcast to i64 ; <i64>:15 [#uses=1]
+ %reg288 = getelementptr i32* %weight, i64 %15 ; <i32*> [#uses=1]
+ %reg289 = load i32* %reg273 ; <i32> [#uses=1]
+ %reg290 = load i32* %reg288 ; <i32> [#uses=1]
+ %cond761 = icmp slt i32 %reg289, %reg290 ; <i1> [#uses=1]
+ br i1 %cond761, label %bb20, label %bb19
+
+bb19: ; preds = %bb18
+ %reg607-idxcast = bitcast i32 %reg607 to i32 ; <i32> [#uses=1]
+ zext i32 %reg607-idxcast to i64 ; <i64>:16 [#uses=1]
+ %reg297 = getelementptr i32* %heap, i64 %16 ; <i32*> [#uses=1]
+ store i32 %reg281, i32* %reg297
+ %reg611 = shl i32 %reg609, 1 ; <i32> [#uses=2]
+ %cond762 = icmp sle i32 %reg611, %reg605 ; <i1> [#uses=1]
+ br i1 %cond762, label %bb15, label %bb20
+
+bb20: ; preds = %bb19, %bb18, %bb14
+ %reg612 = phi i32 [ %reg609, %bb19 ], [ %reg607, %bb18 ], [ 1, %bb14 ] ; <i32> [#uses=1]
+ %reg612-idxcast = bitcast i32 %reg612 to i32 ; <i32> [#uses=1]
+ zext i32 %reg612-idxcast to i64 ; <i64>:17 [#uses=1]
+ %reg312 = getelementptr i32* %heap, i64 %17 ; <i32*> [#uses=1]
+ store i32 %reg226, i32* %reg312
+ zext i32 1 to i64 ; <i64>:18 [#uses=1]
+ %reg7631 = getelementptr i32* %heap, i64 %18 ; <i32*> [#uses=1]
+ %reg114 = load i32* %reg7631 ; <i32> [#uses=2]
+ %reg603-idxcast1 = bitcast i32 %reg603 to i32 ; <i32> [#uses=1]
+ %reg603-idxcast1-offset = add i32 %reg603-idxcast1, 1073741823 ; <i32> [#uses=1]
+ zext i32 %reg603-idxcast1-offset to i64 ; <i64>:19 [#uses=1]
+ %reg319 = getelementptr i32* %heap, i64 %19 ; <i32*> [#uses=1]
+ %reg320 = load i32* %reg319 ; <i32> [#uses=1]
+ zext i32 1 to i64 ; <i64>:20 [#uses=1]
+ %reg7641 = getelementptr i32* %heap, i64 %20 ; <i32*> [#uses=1]
+ store i32 %reg320, i32* %reg7641
+ %reg613 = add i32 %reg605, -1 ; <i32> [#uses=4]
+ zext i32 1 to i64 ; <i64>:21 [#uses=1]
+ %reg765 = getelementptr i32* %heap, i64 %21 ; <i32*> [#uses=1]
+ %reg323 = load i32* %reg765 ; <i32> [#uses=2]
+ %cond766 = icmp sgt i32 2, %reg613 ; <i1> [#uses=1]
+ br i1 %cond766, label %bb26, label %bb21
+
+bb21: ; preds = %bb25, %bb20
+ %reg614 = phi i32 [ %reg619, %bb25 ], [ 2, %bb20 ] ; <i32> [#uses=6]
+ %reg615 = phi i32 [ %reg617, %bb25 ], [ 1, %bb20 ] ; <i32> [#uses=2]
+ %cond767 = icmp sge i32 %reg614, %reg613 ; <i1> [#uses=1]
+ br i1 %cond767, label %bb24, label %bb22
+
+bb22: ; preds = %bb21
+ %reg614-idxcast = bitcast i32 %reg614 to i32 ; <i32> [#uses=1]
+ %reg614-idxcast-offset = add i32 %reg614-idxcast, 1 ; <i32> [#uses=1]
+ zext i32 %reg614-idxcast-offset to i64 ; <i64>:22 [#uses=1]
+ %reg338 = getelementptr i32* %heap, i64 %22 ; <i32*> [#uses=1]
+ %reg339 = load i32* %reg338 ; <i32> [#uses=1]
+ %reg339-idxcast = bitcast i32 %reg339 to i32 ; <i32> [#uses=1]
+ zext i32 %reg339-idxcast to i64 ; <i64>:23 [#uses=1]
+ %reg346 = getelementptr i32* %weight, i64 %23 ; <i32*> [#uses=1]
+ %reg614-idxcast1 = bitcast i32 %reg614 to i32 ; <i32> [#uses=1]
+ zext i32 %reg614-idxcast1 to i64 ; <i64>:24 [#uses=1]
+ %reg353 = getelementptr i32* %heap, i64 %24 ; <i32*> [#uses=1]
+ %reg354 = load i32* %reg353 ; <i32> [#uses=1]
+ %reg354-idxcast = bitcast i32 %reg354 to i32 ; <i32> [#uses=1]
+ zext i32 %reg354-idxcast to i64 ; <i64>:25 [#uses=1]
+ %reg361 = getelementptr i32* %weight, i64 %25 ; <i32*> [#uses=1]
+ %reg362 = load i32* %reg346 ; <i32> [#uses=1]
+ %reg363 = load i32* %reg361 ; <i32> [#uses=1]
+ %cond768 = icmp sge i32 %reg362, %reg363 ; <i1> [#uses=1]
+ br i1 %cond768, label %bb24, label %bb23
+
+bb23: ; preds = %bb22
+ %reg616 = add i32 %reg614, 1 ; <i32> [#uses=1]
br label %bb24
-bb24: ;[#uses=4]
- %reg617 = phi int [ %reg616, %bb23 ], [ %reg614, %bb22 ], [ %reg614, %bb21 ] ; <int> [#uses=4]
- %reg323-idxcast = cast int %reg323 to uint ; <uint> [#uses=1]
- cast uint %reg323-idxcast to long ; <long>:26 [#uses=1]
- %reg370 = getelementptr int* %weight, long %26 ; <int*> [#uses=1]
- %reg617-idxcast = cast int %reg617 to uint ; <uint> [#uses=1]
- cast uint %reg617-idxcast to long ; <long>:27 [#uses=1]
- %reg377 = getelementptr int* %heap, long %27 ; <int*> [#uses=1]
- %reg378 = load int* %reg377 ; <int> [#uses=2]
- %reg378-idxcast = cast int %reg378 to uint ; <uint> [#uses=1]
- cast uint %reg378-idxcast to long ; <long>:28 [#uses=1]
- %reg385 = getelementptr int* %weight, long %28 ; <int*> [#uses=1]
- %reg386 = load int* %reg370 ; <int> [#uses=1]
- %reg387 = load int* %reg385 ; <int> [#uses=1]
- %cond769 = setlt int %reg386, %reg387 ; <bool> [#uses=1]
- br bool %cond769, label %bb26, label %bb25
-
-bb25: ;[#uses=4]
- %reg615-idxcast = cast int %reg615 to uint ; <uint> [#uses=1]
- cast uint %reg615-idxcast to long ; <long>:29 [#uses=1]
- %reg394 = getelementptr int* %heap, long %29 ; <int*> [#uses=1]
- store int %reg378, int* %reg394
- %reg619 = shl int %reg617, ubyte 1 ; <int> [#uses=2]
- %cond770 = setle int %reg619, %reg613 ; <bool> [#uses=1]
- br bool %cond770, label %bb21, label %bb26
-
-bb26: ;[#uses=4]
- %reg620 = phi int [ %reg617, %bb25 ], [ %reg615, %bb24 ], [ 1, %bb20 ] ; <int> [#uses=1]
- %reg620-idxcast = cast int %reg620 to uint ; <uint> [#uses=1]
- cast uint %reg620-idxcast to long ; <long>:30 [#uses=1]
- %reg409 = getelementptr int* %heap, long %30 ; <int*> [#uses=1]
- store int %reg323, int* %reg409
- %reg621 = add uint %reg604, 1 ; <uint> [#uses=5]
- %reg113-idxcast = cast int %reg113 to uint ; <uint> [#uses=1]
- cast uint %reg113-idxcast to long ; <long>:31 [#uses=1]
- %reg416 = getelementptr int* %parent, long %31 ; <int*> [#uses=1]
- %reg114-idxcast = cast int %reg114 to uint ; <uint> [#uses=1]
- cast uint %reg114-idxcast to long ; <long>:32 [#uses=1]
- %reg423 = getelementptr int* %parent, long %32 ; <int*> [#uses=1]
- %cast889 = cast uint %reg621 to int ; <int> [#uses=1]
- store int %cast889, int* %reg423
- %cast890 = cast uint %reg621 to int ; <int> [#uses=1]
- store int %cast890, int* %reg416
- %reg604-offset = add uint %reg604, 1 ; <uint> [#uses=1]
- cast uint %reg604-offset to long ; <long>:33 [#uses=1]
- %reg431 = getelementptr int* %weight, long %33 ; <int*> [#uses=1]
- %reg113-idxcast2 = cast int %reg113 to uint ; <uint> [#uses=1]
- cast uint %reg113-idxcast2 to long ; <long>:34 [#uses=1]
- %reg4381 = getelementptr int* %weight, long %34 ; <int*> [#uses=1]
- %reg439 = load int* %reg4381 ; <int> [#uses=2]
- %reg440 = and int %reg439, -256 ; <int> [#uses=1]
- %reg114-idxcast2 = cast int %reg114 to uint ; <uint> [#uses=1]
- cast uint %reg114-idxcast2 to long ; <long>:35 [#uses=1]
- %reg4471 = getelementptr int* %weight, long %35 ; <int*> [#uses=1]
- %reg448 = load int* %reg4471 ; <int> [#uses=2]
- %reg449 = and int %reg448, -256 ; <int> [#uses=1]
- %reg450 = add int %reg440, %reg449 ; <int> [#uses=1]
- %reg460 = and int %reg439, 255 ; <int> [#uses=2]
- %reg451 = and int %reg448, 255 ; <int> [#uses=2]
- %cond771 = setge int %reg451, %reg460 ; <bool> [#uses=1]
- br bool %cond771, label %bb28, label %bb27
-
-bb27: ;[#uses=2]
+bb24: ; preds = %bb23, %bb22, %bb21
+ %reg617 = phi i32 [ %reg616, %bb23 ], [ %reg614, %bb22 ], [ %reg614, %bb21 ] ; <i32> [#uses=4]
+ %reg323-idxcast = bitcast i32 %reg323 to i32 ; <i32> [#uses=1]
+ zext i32 %reg323-idxcast to i64 ; <i64>:26 [#uses=1]
+ %reg370 = getelementptr i32* %weight, i64 %26 ; <i32*> [#uses=1]
+ %reg617-idxcast = bitcast i32 %reg617 to i32 ; <i32> [#uses=1]
+ zext i32 %reg617-idxcast to i64 ; <i64>:27 [#uses=1]
+ %reg377 = getelementptr i32* %heap, i64 %27 ; <i32*> [#uses=1]
+ %reg378 = load i32* %reg377 ; <i32> [#uses=2]
+ %reg378-idxcast = bitcast i32 %reg378 to i32 ; <i32> [#uses=1]
+ zext i32 %reg378-idxcast to i64 ; <i64>:28 [#uses=1]
+ %reg385 = getelementptr i32* %weight, i64 %28 ; <i32*> [#uses=1]
+ %reg386 = load i32* %reg370 ; <i32> [#uses=1]
+ %reg387 = load i32* %reg385 ; <i32> [#uses=1]
+ %cond769 = icmp slt i32 %reg386, %reg387 ; <i1> [#uses=1]
+ br i1 %cond769, label %bb26, label %bb25
+
+bb25: ; preds = %bb24
+ %reg615-idxcast = bitcast i32 %reg615 to i32 ; <i32> [#uses=1]
+ zext i32 %reg615-idxcast to i64 ; <i64>:29 [#uses=1]
+ %reg394 = getelementptr i32* %heap, i64 %29 ; <i32*> [#uses=1]
+ store i32 %reg378, i32* %reg394
+ %reg619 = shl i32 %reg617, 1 ; <i32> [#uses=2]
+ %cond770 = icmp sle i32 %reg619, %reg613 ; <i1> [#uses=1]
+ br i1 %cond770, label %bb21, label %bb26
+
+bb26: ; preds = %bb25, %bb24, %bb20
+ %reg620 = phi i32 [ %reg617, %bb25 ], [ %reg615, %bb24 ], [ 1, %bb20 ] ; <i32> [#uses=1]
+ %reg620-idxcast = bitcast i32 %reg620 to i32 ; <i32> [#uses=1]
+ zext i32 %reg620-idxcast to i64 ; <i64>:30 [#uses=1]
+ %reg409 = getelementptr i32* %heap, i64 %30 ; <i32*> [#uses=1]
+ store i32 %reg323, i32* %reg409
+ %reg621 = add i32 %reg604, 1 ; <i32> [#uses=5]
+ %reg113-idxcast = bitcast i32 %reg113 to i32 ; <i32> [#uses=1]
+ zext i32 %reg113-idxcast to i64 ; <i64>:31 [#uses=1]
+ %reg416 = getelementptr i32* %parent, i64 %31 ; <i32*> [#uses=1]
+ %reg114-idxcast = bitcast i32 %reg114 to i32 ; <i32> [#uses=1]
+ zext i32 %reg114-idxcast to i64 ; <i64>:32 [#uses=1]
+ %reg423 = getelementptr i32* %parent, i64 %32 ; <i32*> [#uses=1]
+ %cast889 = bitcast i32 %reg621 to i32 ; <i32> [#uses=1]
+ store i32 %cast889, i32* %reg423
+ %cast890 = bitcast i32 %reg621 to i32 ; <i32> [#uses=1]
+ store i32 %cast890, i32* %reg416
+ %reg604-offset = add i32 %reg604, 1 ; <i32> [#uses=1]
+ zext i32 %reg604-offset to i64 ; <i64>:33 [#uses=1]
+ %reg431 = getelementptr i32* %weight, i64 %33 ; <i32*> [#uses=1]
+ %reg113-idxcast2 = bitcast i32 %reg113 to i32 ; <i32> [#uses=1]
+ zext i32 %reg113-idxcast2 to i64 ; <i64>:34 [#uses=1]
+ %reg4381 = getelementptr i32* %weight, i64 %34 ; <i32*> [#uses=1]
+ %reg439 = load i32* %reg4381 ; <i32> [#uses=2]
+ %reg440 = and i32 %reg439, -256 ; <i32> [#uses=1]
+ %reg114-idxcast2 = bitcast i32 %reg114 to i32 ; <i32> [#uses=1]
+ zext i32 %reg114-idxcast2 to i64 ; <i64>:35 [#uses=1]
+ %reg4471 = getelementptr i32* %weight, i64 %35 ; <i32*> [#uses=1]
+ %reg448 = load i32* %reg4471 ; <i32> [#uses=2]
+ %reg449 = and i32 %reg448, -256 ; <i32> [#uses=1]
+ %reg450 = add i32 %reg440, %reg449 ; <i32> [#uses=1]
+ %reg460 = and i32 %reg439, 255 ; <i32> [#uses=2]
+ %reg451 = and i32 %reg448, 255 ; <i32> [#uses=2]
+ %cond771 = icmp sge i32 %reg451, %reg460 ; <i1> [#uses=1]
+ br i1 %cond771, label %bb28, label %bb27
+
+bb27: ; preds = %bb26
br label %bb28
-bb28: ;[#uses=3]
- %reg623 = phi int [ %reg460, %bb27 ], [ %reg451, %bb26 ] ; <int> [#uses=1]
- %reg469 = add int %reg623, 1 ; <int> [#uses=1]
- %reg470 = or int %reg450, %reg469 ; <int> [#uses=1]
- store int %reg470, int* %reg431
- %reg604-offset1 = add uint %reg604, 1 ; <uint> [#uses=1]
- cast uint %reg604-offset1 to long ; <long>:36 [#uses=1]
- %reg4771 = getelementptr int* %parent, long %36 ; <int*> [#uses=1]
- store int -1, int* %reg4771
- %reg624 = add int %reg613, 1 ; <int> [#uses=2]
- %reg603-idxcast2 = cast int %reg603 to uint ; <uint> [#uses=1]
- %reg603-idxcast2-offset = add uint %reg603-idxcast2, 1073741823 ; <uint> [#uses=1]
- cast uint %reg603-idxcast2-offset to long ; <long>:37 [#uses=1]
- %reg485 = getelementptr int* %heap, long %37 ; <int*> [#uses=1]
- %cast902 = cast uint %reg621 to int ; <int> [#uses=1]
- store int %cast902, int* %reg485
+bb28: ; preds = %bb27, %bb26
+ %reg623 = phi i32 [ %reg460, %bb27 ], [ %reg451, %bb26 ] ; <i32> [#uses=1]
+ %reg469 = add i32 %reg623, 1 ; <i32> [#uses=1]
+ %reg470 = or i32 %reg450, %reg469 ; <i32> [#uses=1]
+ store i32 %reg470, i32* %reg431
+ %reg604-offset1 = add i32 %reg604, 1 ; <i32> [#uses=1]
+ zext i32 %reg604-offset1 to i64 ; <i64>:36 [#uses=1]
+ %reg4771 = getelementptr i32* %parent, i64 %36 ; <i32*> [#uses=1]
+ store i32 -1, i32* %reg4771
+ %reg624 = add i32 %reg613, 1 ; <i32> [#uses=2]
+ %reg603-idxcast2 = bitcast i32 %reg603 to i32 ; <i32> [#uses=1]
+ %reg603-idxcast2-offset = add i32 %reg603-idxcast2, 1073741823 ; <i32> [#uses=1]
+ zext i32 %reg603-idxcast2-offset to i64 ; <i64>:37 [#uses=1]
+ %reg485 = getelementptr i32* %heap, i64 %37 ; <i32*> [#uses=1]
+ %cast902 = bitcast i32 %reg621 to i32 ; <i32> [#uses=1]
+ store i32 %cast902, i32* %reg485
br label %bb30
-bb29: ;[#uses=2]
- %reg625-idxcast = cast int %reg625 to uint ; <uint> [#uses=1]
- cast uint %reg625-idxcast to long ; <long>:38 [#uses=1]
- %reg526 = getelementptr int* %heap, long %38 ; <int*> [#uses=1]
- store int %reg510, int* %reg526
+bb29: ; preds = %bb30
+ %reg625-idxcast = bitcast i32 %reg625 to i32 ; <i32> [#uses=1]
+ zext i32 %reg625-idxcast to i64 ; <i64>:38 [#uses=1]
+ %reg526 = getelementptr i32* %heap, i64 %38 ; <i32*> [#uses=1]
+ store i32 %reg510, i32* %reg526
br label %bb30
-bb30: ;[#uses=2]
- %reg625 = phi int [ %reg502, %bb29 ], [ %reg624, %bb28 ] ; <int> [#uses=3]
- %reg604-offset2 = add uint %reg604, 1 ; <uint> [#uses=1]
- cast uint %reg604-offset2 to long ; <long>:39 [#uses=1]
- %reg501 = getelementptr int* %weight, long %39 ; <int*> [#uses=1]
- %reg502 = shr int %reg625, ubyte 1 ; <int> [#uses=2]
- %reg502-idxcast = cast int %reg502 to uint ; <uint> [#uses=1]
- cast uint %reg502-idxcast to long ; <long>:40 [#uses=1]
- %reg509 = getelementptr int* %heap, long %40 ; <int*> [#uses=1]
- %reg510 = load int* %reg509 ; <int> [#uses=2]
- %reg510-idxcast = cast int %reg510 to uint ; <uint> [#uses=1]
- cast uint %reg510-idxcast to long ; <long>:41 [#uses=1]
- %reg517 = getelementptr int* %weight, long %41 ; <int*> [#uses=1]
- %reg518 = load int* %reg501 ; <int> [#uses=1]
- %reg519 = load int* %reg517 ; <int> [#uses=1]
- %cond772 = setlt int %reg518, %reg519 ; <bool> [#uses=1]
- br bool %cond772, label %bb29, label %bb31
-
-bb31: ;[#uses=3]
- %reg625-idxcast1 = cast int %reg625 to uint ; <uint> [#uses=1]
- cast uint %reg625-idxcast1 to long ; <long>:42 [#uses=1]
- %reg542 = getelementptr int* %heap, long %42 ; <int*> [#uses=1]
- %cast916 = cast uint %reg621 to int ; <int> [#uses=1]
- store int %cast916, int* %reg542
- %cond773 = setgt int %reg624, 1 ; <bool> [#uses=1]
- br bool %cond773, label %bb14, label %bb32
-
-bb32: ;[#uses=2]
- %reg627 = phi uint [ %reg621, %bb31 ], [ %cast918, %bb13 ] ; <uint> [#uses=1]
- %cast919 = cast uint %reg627 to int ; <int> [#uses=1]
- %cond774 = setle int %cast919, 515 ; <bool> [#uses=1]
- br bool %cond774, label %bb34, label %bb33
-
-bb33: ;[#uses=1]
- cast uint 0 to long ; <long>:43 [#uses=1]
- cast uint 0 to long ; <long>:44 [#uses=1]
- %cast785 = getelementptr [21 x sbyte]* %.LC1, long %43, long %44 ; <sbyte*> [#uses=1]
- call void %panic( sbyte* %cast785 )
+bb30: ; preds = %bb29, %bb28
+ %reg625 = phi i32 [ %reg502, %bb29 ], [ %reg624, %bb28 ] ; <i32> [#uses=3]
+ %reg604-offset2 = add i32 %reg604, 1 ; <i32> [#uses=1]
+ zext i32 %reg604-offset2 to i64 ; <i64>:39 [#uses=1]
+ %reg501 = getelementptr i32* %weight, i64 %39 ; <i32*> [#uses=1]
+ %reg502 = ashr i32 %reg625, 1 ; <i32> [#uses=2]
+ %reg502-idxcast = bitcast i32 %reg502 to i32 ; <i32> [#uses=1]
+ zext i32 %reg502-idxcast to i64 ; <i64>:40 [#uses=1]
+ %reg509 = getelementptr i32* %heap, i64 %40 ; <i32*> [#uses=1]
+ %reg510 = load i32* %reg509 ; <i32> [#uses=2]
+ %reg510-idxcast = bitcast i32 %reg510 to i32 ; <i32> [#uses=1]
+ zext i32 %reg510-idxcast to i64 ; <i64>:41 [#uses=1]
+ %reg517 = getelementptr i32* %weight, i64 %41 ; <i32*> [#uses=1]
+ %reg518 = load i32* %reg501 ; <i32> [#uses=1]
+ %reg519 = load i32* %reg517 ; <i32> [#uses=1]
+ %cond772 = icmp slt i32 %reg518, %reg519 ; <i1> [#uses=1]
+ br i1 %cond772, label %bb29, label %bb31
+
+bb31: ; preds = %bb30
+ %reg625-idxcast1 = bitcast i32 %reg625 to i32 ; <i32> [#uses=1]
+ zext i32 %reg625-idxcast1 to i64 ; <i64>:42 [#uses=1]
+ %reg542 = getelementptr i32* %heap, i64 %42 ; <i32*> [#uses=1]
+ %cast916 = bitcast i32 %reg621 to i32 ; <i32> [#uses=1]
+ store i32 %cast916, i32* %reg542
+ %cond773 = icmp sgt i32 %reg624, 1 ; <i1> [#uses=1]
+ br i1 %cond773, label %bb14, label %bb32
+
+bb32: ; preds = %bb31, %bb13
+ %reg627 = phi i32 [ %reg621, %bb31 ], [ %cast918, %bb13 ] ; <i32> [#uses=1]
+ %cast919 = bitcast i32 %reg627 to i32 ; <i32> [#uses=1]
+ %cond774 = icmp sle i32 %cast919, 515 ; <i1> [#uses=1]
+ br i1 %cond774, label %bb34, label %bb33
+
+bb33: ; preds = %bb32
+ zext i32 0 to i64 ; <i64>:43 [#uses=1]
+ zext i32 0 to i64 ; <i64>:44 [#uses=1]
+ %cast785 = getelementptr [21 x i8]* @.LC1, i64 %43, i64 %44 ; <i8*> [#uses=1]
+ call void @panic( i8* %cast785 )
br label %bb34
-bb34: ;[#uses=5]
- %cond775 = setgt int 1, %reg109 ; <bool> [#uses=1]
- br bool %cond775, label %bb40, label %bb35
-
-bb35: ;[#uses=5]
- %reg629 = phi ubyte [ %reg639, %bb39 ], [ 0, %bb34 ] ; <ubyte> [#uses=1]
- %cann-indvar = phi uint [ 0, %bb34 ], [ %add1-indvar, %bb39 ] ; <uint> [#uses=4]
- %cann-indvar-casted = cast uint %cann-indvar to int ; <int> [#uses=1]
- %reg630 = add int %cann-indvar-casted, 1 ; <int> [#uses=2]
- %add1-indvar = add uint %cann-indvar, 1 ; <uint> [#uses=1]
- %cann-indvar-offset1 = add uint %cann-indvar, 1 ; <uint> [#uses=1]
- cast uint %cann-indvar-offset1 to long ; <long>:45 [#uses=1]
- %reg589 = getelementptr int* %parent, long %45 ; <int*> [#uses=1]
- %reg590 = load int* %reg589 ; <int> [#uses=1]
- %cond776 = setlt int %reg590, 0 ; <bool> [#uses=1]
- %parent-idxcast = cast int* %parent to uint ; <uint> [#uses=1]
- %cast948 = cast int %reg630 to uint ; <uint> [#uses=1]
- br bool %cond776, label %bb37, label %bb36
-
-bb36: ;[#uses=5]
- %reg632 = phi uint [ %reg634, %bb36 ], [ %cast948, %bb35 ] ; <uint> [#uses=1]
- %reg633 = phi uint [ %reg635, %bb36 ], [ 0, %bb35 ] ; <uint> [#uses=3]
- %reg633-casted = cast uint %reg633 to sbyte* ; <sbyte*> [#uses=0]
- %reg631-scale = mul uint %reg633, 0 ; <uint> [#uses=1]
- %reg631-scale = cast uint %reg631-scale to sbyte* ; <sbyte*> [#uses=1]
- cast uint %parent-idxcast to long ; <long>:46 [#uses=1]
- %reg6311 = getelementptr sbyte* %reg631-scale, long %46 ; <sbyte*> [#uses=2]
- %reg632-scale = mul uint %reg632, 4 ; <uint> [#uses=1]
- cast uint %reg632-scale to long ; <long>:47 [#uses=1]
- %reg5581 = getelementptr sbyte* %reg6311, long %47 ; <sbyte*> [#uses=1]
- %cast924 = cast sbyte* %reg5581 to uint* ; <uint*> [#uses=1]
- %reg634 = load uint* %cast924 ; <uint> [#uses=2]
- %reg635 = add uint %reg633, 1 ; <uint> [#uses=2]
- %reg634-scale = mul uint %reg634, 4 ; <uint> [#uses=1]
- cast uint %reg634-scale to long ; <long>:48 [#uses=1]
- %reg5501 = getelementptr sbyte* %reg6311, long %48 ; <sbyte*> [#uses=1]
- %cast925 = cast sbyte* %reg5501 to int* ; <int*> [#uses=1]
- %reg551 = load int* %cast925 ; <int> [#uses=1]
- %cond777 = setge int %reg551, 0 ; <bool> [#uses=1]
- br bool %cond777, label %bb36, label %bb37
-
-bb37: ;[#uses=3]
- %reg637 = phi uint [ %reg635, %bb36 ], [ 0, %bb35 ] ; <uint> [#uses=2]
- %cast928 = cast uint %reg637 to int ; <int> [#uses=1]
- %cann-indvar-offset = add uint %cann-indvar, 1 ; <uint> [#uses=1]
- cast uint %cann-indvar-offset to long ; <long>:49 [#uses=1]
- %reg561 = getelementptr ubyte* %reg107, long %49 ; <ubyte*> [#uses=1]
- cast uint 4294967295 to long ; <long>:50 [#uses=1]
- %reg778 = getelementptr ubyte* %reg561, long %50 ; <ubyte*> [#uses=1]
- %cast788 = cast uint %reg637 to ubyte ; <ubyte> [#uses=1]
- store ubyte %cast788, ubyte* %reg778
- %cond779 = setle int %cast928, %reg110 ; <bool> [#uses=1]
- br bool %cond779, label %bb39, label %bb38
-
-bb38: ;[#uses=2]
+bb34: ; preds = %bb33, %bb32
+ %cond775 = icmp sgt i32 1, %reg109 ; <i1> [#uses=1]
+ br i1 %cond775, label %bb40, label %bb35
+
+bb35: ; preds = %bb39, %bb34
+ %reg629 = phi i8 [ %reg639, %bb39 ], [ 0, %bb34 ] ; <i8> [#uses=1]
+ %cann-indvar = phi i32 [ 0, %bb34 ], [ %add1-indvar, %bb39 ] ; <i32> [#uses=4]
+ %cann-indvar-casted = bitcast i32 %cann-indvar to i32 ; <i32> [#uses=1]
+ %reg630 = add i32 %cann-indvar-casted, 1 ; <i32> [#uses=2]
+ %add1-indvar = add i32 %cann-indvar, 1 ; <i32> [#uses=1]
+ %cann-indvar-offset1 = add i32 %cann-indvar, 1 ; <i32> [#uses=1]
+ zext i32 %cann-indvar-offset1 to i64 ; <i64>:45 [#uses=1]
+ %reg589 = getelementptr i32* %parent, i64 %45 ; <i32*> [#uses=1]
+ %reg590 = load i32* %reg589 ; <i32> [#uses=1]
+ %cond776 = icmp slt i32 %reg590, 0 ; <i1> [#uses=1]
+ %parent-idxcast = ptrtoint i32* %parent to i32 ; <i32> [#uses=1]
+ %cast948 = bitcast i32 %reg630 to i32 ; <i32> [#uses=1]
+ br i1 %cond776, label %bb37, label %bb36
+
+bb36: ; preds = %bb36, %bb35
+ %reg632 = phi i32 [ %reg634, %bb36 ], [ %cast948, %bb35 ] ; <i32> [#uses=1]
+ %reg633 = phi i32 [ %reg635, %bb36 ], [ 0, %bb35 ] ; <i32> [#uses=3]
+ %reg633-casted = inttoptr i32 %reg633 to i8* ; <i8*> [#uses=0]
+ %reg631-scale = mul i32 %reg633, 0 ; <i32> [#uses=1]
+ %reg631-scale.upgrd.10 = inttoptr i32 %reg631-scale to i8* ; <i8*> [#uses=1]
+ zext i32 %parent-idxcast to i64 ; <i64>:46 [#uses=1]
+ %reg6311 = getelementptr i8* %reg631-scale.upgrd.10, i64 %46 ; <i8*> [#uses=2]
+ %reg632-scale = mul i32 %reg632, 4 ; <i32> [#uses=1]
+ zext i32 %reg632-scale to i64 ; <i64>:47 [#uses=1]
+ %reg5581 = getelementptr i8* %reg6311, i64 %47 ; <i8*> [#uses=1]
+ %cast924 = bitcast i8* %reg5581 to i32* ; <i32*> [#uses=1]
+ %reg634 = load i32* %cast924 ; <i32> [#uses=2]
+ %reg635 = add i32 %reg633, 1 ; <i32> [#uses=2]
+ %reg634-scale = mul i32 %reg634, 4 ; <i32> [#uses=1]
+ zext i32 %reg634-scale to i64 ; <i64>:48 [#uses=1]
+ %reg5501 = getelementptr i8* %reg6311, i64 %48 ; <i8*> [#uses=1]
+ %cast925 = bitcast i8* %reg5501 to i32* ; <i32*> [#uses=1]
+ %reg551 = load i32* %cast925 ; <i32> [#uses=1]
+ %cond777 = icmp sge i32 %reg551, 0 ; <i1> [#uses=1]
+ br i1 %cond777, label %bb36, label %bb37
+
+bb37: ; preds = %bb36, %bb35
+ %reg637 = phi i32 [ %reg635, %bb36 ], [ 0, %bb35 ] ; <i32> [#uses=2]
+ %cast928 = bitcast i32 %reg637 to i32 ; <i32> [#uses=1]
+ %cann-indvar-offset = add i32 %cann-indvar, 1 ; <i32> [#uses=1]
+ zext i32 %cann-indvar-offset to i64 ; <i64>:49 [#uses=1]
+ %reg561 = getelementptr i8* %reg107, i64 %49 ; <i8*> [#uses=1]
+ zext i32 -1 to i64 ; <i64>:50 [#uses=1]
+ %reg778 = getelementptr i8* %reg561, i64 %50 ; <i8*> [#uses=1]
+ %cast788 = trunc i32 %reg637 to i8 ; <i8> [#uses=1]
+ store i8 %cast788, i8* %reg778
+ %cond779 = icmp sle i32 %cast928, %reg110 ; <i1> [#uses=1]
+ br i1 %cond779, label %bb39, label %bb38
+
+bb38: ; preds = %bb37
br label %bb39
-bb39: ;[#uses=5]
- %reg639 = phi ubyte [ 1, %bb38 ], [ %reg629, %bb37 ] ; <ubyte> [#uses=2]
- %reg640 = add int %reg630, 1 ; <int> [#uses=1]
- %cond780 = setle int %reg640, %reg109 ; <bool> [#uses=1]
- br bool %cond780, label %bb35, label %bb40
-
-bb40: ;[#uses=2]
- %reg641 = phi ubyte [ %reg639, %bb39 ], [ 0, %bb34 ] ; <ubyte> [#uses=1]
- %cond781 = seteq ubyte %reg641, 0 ; <bool> [#uses=1]
- br bool %cond781, label %bb44, label %bb41
-
-bb41: ;[#uses=2]
- %cond782 = setge int 1, %reg109 ; <bool> [#uses=1]
- br bool %cond782, label %bb6, label %bb42
-
-bb42: ;[#uses=3]
- %cann-indvar2 = phi int [ 0, %bb41 ], [ %add1-indvar2, %bb42 ] ; <int> [#uses=3]
- %reg643 = add int %cann-indvar2, 1 ; <int> [#uses=1]
- %add1-indvar2 = add int %cann-indvar2, 1 ; <int> [#uses=1]
- %cann-indvar2-idxcast = cast int %cann-indvar2 to uint ; <uint> [#uses=1]
- %cann-indvar2-idxcast-offset = add uint %cann-indvar2-idxcast, 1 ; <uint> [#uses=1]
- cast uint %cann-indvar2-idxcast-offset to long ; <long>:51 [#uses=1]
- %reg569 = getelementptr int* %weight, long %51 ; <int*> [#uses=2]
- %reg570 = load int* %reg569 ; <int> [#uses=2]
- %reg644 = shr int %reg570, ubyte 8 ; <int> [#uses=1]
- %reg572 = shr int %reg570, ubyte 31 ; <int> [#uses=1]
- %cast933 = cast int %reg572 to uint ; <uint> [#uses=1]
- %reg573 = shr uint %cast933, ubyte 31 ; <uint> [#uses=1]
- %cast934 = cast uint %reg573 to int ; <int> [#uses=1]
- %reg574 = add int %reg644, %cast934 ; <int> [#uses=1]
- %reg571 = shr int %reg574, ubyte 1 ; <int> [#uses=1]
- %reg645 = add int %reg571, 1 ; <int> [#uses=1]
- %reg582 = shl int %reg645, ubyte 8 ; <int> [#uses=1]
- store int %reg582, int* %reg569
- %reg646 = add int %reg643, 1 ; <int> [#uses=1]
- %cond783 = setlt int %reg646, %reg109 ; <bool> [#uses=1]
- br bool %cond783, label %bb42, label %bb43
-
-bb43: ;[#uses=1]
+bb39: ; preds = %bb38, %bb37
+ %reg639 = phi i8 [ 1, %bb38 ], [ %reg629, %bb37 ] ; <i8> [#uses=2]
+ %reg640 = add i32 %reg630, 1 ; <i32> [#uses=1]
+ %cond780 = icmp sle i32 %reg640, %reg109 ; <i1> [#uses=1]
+ br i1 %cond780, label %bb35, label %bb40
+
+bb40: ; preds = %bb39, %bb34
+ %reg641 = phi i8 [ %reg639, %bb39 ], [ 0, %bb34 ] ; <i8> [#uses=1]
+ %cond781 = icmp eq i8 %reg641, 0 ; <i1> [#uses=1]
+ br i1 %cond781, label %bb44, label %bb41
+
+bb41: ; preds = %bb40
+ %cond782 = icmp sge i32 1, %reg109 ; <i1> [#uses=1]
+ br i1 %cond782, label %bb6, label %bb42
+
+bb42: ; preds = %bb42, %bb41
+ %cann-indvar2 = phi i32 [ 0, %bb41 ], [ %add1-indvar2, %bb42 ] ; <i32> [#uses=3]
+ %reg643 = add i32 %cann-indvar2, 1 ; <i32> [#uses=1]
+ %add1-indvar2 = add i32 %cann-indvar2, 1 ; <i32> [#uses=1]
+ %cann-indvar2-idxcast = bitcast i32 %cann-indvar2 to i32 ; <i32> [#uses=1]
+ %cann-indvar2-idxcast-offset = add i32 %cann-indvar2-idxcast, 1 ; <i32> [#uses=1]
+ zext i32 %cann-indvar2-idxcast-offset to i64 ; <i64>:51 [#uses=1]
+ %reg569 = getelementptr i32* %weight, i64 %51 ; <i32*> [#uses=2]
+ %reg570 = load i32* %reg569 ; <i32> [#uses=2]
+ %reg644 = ashr i32 %reg570, 8 ; <i32> [#uses=1]
+ %reg572 = ashr i32 %reg570, 31 ; <i32> [#uses=1]
+ %cast933 = bitcast i32 %reg572 to i32 ; <i32> [#uses=1]
+ %reg573 = lshr i32 %cast933, 31 ; <i32> [#uses=1]
+ %cast934 = bitcast i32 %reg573 to i32 ; <i32> [#uses=1]
+ %reg574 = add i32 %reg644, %cast934 ; <i32> [#uses=1]
+ %reg571 = ashr i32 %reg574, 1 ; <i32> [#uses=1]
+ %reg645 = add i32 %reg571, 1 ; <i32> [#uses=1]
+ %reg582 = shl i32 %reg645, 8 ; <i32> [#uses=1]
+ store i32 %reg582, i32* %reg569
+ %reg646 = add i32 %reg643, 1 ; <i32> [#uses=1]
+ %cond783 = icmp slt i32 %reg646, %reg109 ; <i1> [#uses=1]
+ br i1 %cond783, label %bb42, label %bb43
+
+bb43: ; preds = %bb42
br label %bb6
-bb44: ;[#uses=1]
+bb44: ; preds = %bb40
ret void
}
-declare void %panic(sbyte*)
+declare void @panic(i8*)
diff --git a/test/Transforms/InstCombine/2002-08-02-CastTest.ll b/test/Transforms/InstCombine/2002-08-02-CastTest.ll
index 23284a6312..54c836c105 100644
--- a/test/Transforms/InstCombine/2002-08-02-CastTest.ll
+++ b/test/Transforms/InstCombine/2002-08-02-CastTest.ll
@@ -1,11 +1,11 @@
; This testcase is incorrectly getting completely eliminated. There should be
; SOME instruction named %c here, even if it's a bitwise and.
;
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep %c
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep %c
;
-ulong %test3(ulong %A) {
- %c1 = cast ulong %A to ubyte
- %c2 = cast ubyte %c1 to ulong
- ret ulong %c2
+define i64 @test3(i64 %A) {
+ %c1 = trunc i64 %A to i8 ; <i8> [#uses=1]
+ %c2 = zext i8 %c1 to i64 ; <i64> [#uses=1]
+ ret i64 %c2
}
diff --git a/test/Transforms/InstCombine/2002-09-17-GetElementPtrCrash.ll b/test/Transforms/InstCombine/2002-09-17-GetElementPtrCrash.ll
index 69bec19b2b..5b127d7b79 100644
--- a/test/Transforms/InstCombine/2002-09-17-GetElementPtrCrash.ll
+++ b/test/Transforms/InstCombine/2002-09-17-GetElementPtrCrash.ll
@@ -1,12 +1,12 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine
+; RUN: llvm-as < %s | opt -instcombine
-%bob = type { int }
+ %bob = type { i32 }
-int %alias() {
- %pbob1 = alloca %bob
- %pbob2 = getelementptr %bob* %pbob1
- %pbobel = getelementptr %bob* %pbob2, long 0, uint 0
- %rval = load int* %pbobel
- ret int %rval
+define i32 @alias() {
+ %pbob1 = alloca %bob ; <%bob*> [#uses=1]
+ %pbob2 = getelementptr %bob* %pbob1 ; <%bob*> [#uses=1]
+ %pbobel = getelementptr %bob* %pbob2, i64 0, i32 0 ; <i32*> [#uses=1]
+ %rval = load i32* %pbobel ; <i32> [#uses=1]
+ ret i32 %rval
}
diff --git a/test/Transforms/InstCombine/2002-12-05-MissedConstProp.ll b/test/Transforms/InstCombine/2002-12-05-MissedConstProp.ll
index 6233e5027b..e7bd6a8da2 100644
--- a/test/Transforms/InstCombine/2002-12-05-MissedConstProp.ll
+++ b/test/Transforms/InstCombine/2002-12-05-MissedConstProp.ll
@@ -1,10 +1,11 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep add
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep add
-int %test(int %A) {
- %A.neg = sub int 0, %A
- %.neg = sub int 0, 1
- %X = add int %.neg, 1
- %Y.neg.ra = add int %A, %X
- %r = add int %A.neg, %Y.neg.ra
- ret int %r
+define i32 @test(i32 %A) {
+ %A.neg = sub i32 0, %A ; <i32> [#uses=1]
+ %.neg = sub i32 0, 1 ; <i32> [#uses=1]
+ %X = add i32 %.neg, 1 ; <i32> [#uses=1]
+ %Y.neg.ra = add i32 %A, %X ; <i32> [#uses=1]
+ %r = add i32 %A.neg, %Y.neg.ra ; <i32> [#uses=1]
+ ret i32 %r
}
+
diff --git a/test/Transforms/InstCombine/2003-05-26-CastMiscompile.ll b/test/Transforms/InstCombine/2003-05-26-CastMiscompile.ll
index 453258980d..e7e784882a 100644
--- a/test/Transforms/InstCombine/2003-05-26-CastMiscompile.ll
+++ b/test/Transforms/InstCombine/2003-05-26-CastMiscompile.ll
@@ -1,7 +1,8 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep 4294967295
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep 4294967295
-ulong %test(ulong %Val) {
- %tmp.3 = cast ulong %Val to uint ; <uint> [#uses=1]
- %tmp.8 = cast uint %tmp.3 to ulong ; <ulong> [#uses=1]
- ret ulong %tmp.8
+define i64 @test(i64 %Val) {
+ %tmp.3 = trunc i64 %Val to i32 ; <i32> [#uses=1]
+ %tmp.8 = zext i32 %tmp.3 to i64 ; <i64> [#uses=1]
+ ret i64 %tmp.8
}
+
diff --git a/test/Transforms/InstCombine/2003-05-27-ConstExprCrash.ll b/test/Transforms/InstCombine/2003-05-27-ConstExprCrash.ll
index 6222169e08..214fa4d846 100644
--- a/test/Transforms/InstCombine/2003-05-27-ConstExprCrash.ll
+++ b/test/Transforms/InstCombine/2003-05-27-ConstExprCrash.ll
@@ -1,8 +1,10 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output
+; RUN: llvm-as < %s | opt -instcombine -disable-output
-%X = global int 5
-long %test() {
- %C = add long 1, 2
- %V = add long cast(int* %X to long), %C
- ret long %V
+@X = global i32 5 ; <i32*> [#uses=1]
+
+define i64 @test() {
+ %C = add i64 1, 2 ; <i64> [#uses=1]
+ %V = add i64 ptrtoint (i32* @X to i64), %C ; <i64> [#uses=1]
+ ret i64 %V
}
+
diff --git a/test/Transforms/InstCombine/2003-06-05-BranchInvertInfLoop.ll b/test/Transforms/InstCombine/2003-06-05-BranchInvertInfLoop.ll
index ae823d6bf6..724f30f488 100644
--- a/test/Transforms/InstCombine/2003-06-05-BranchInvertInfLoop.ll
+++ b/test/Transforms/InstCombine/2003-06-05-BranchInvertInfLoop.ll
@@ -2,13 +2,15 @@
; because it things that the constant value is a not expression... and
; constantly inverts the branch back and forth.
;
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output
-
-ubyte %test19(bool %c) {
- br bool true, label %True, label %False
-True:
- ret ubyte 1
-False:
- ret ubyte 3
+; RUN: llvm-as < %s | opt -instcombine -disable-output
+
+define i8 @test19(i1 %c) {
+ br i1 true, label %True, label %False
+
+True: ; preds = %0
+ ret i8 1
+
+False: ; preds = %0
+ ret i8 3
}
diff --git a/test/Transforms/InstCombine/2003-06-22-ConstantExprCrash.ll b/test/Transforms/InstCombine/2003-06-22-ConstantExprCrash.ll
index 92a32d5d35..d6cacece08 100644
--- a/test/Transforms/InstCombine/2003-06-22-ConstantExprCrash.ll
+++ b/test/Transforms/InstCombine/2003-06-22-ConstantExprCrash.ll
@@ -1,12 +1,13 @@
; This is a bug in the VMcode library, not instcombine, it's just convenient
; to expose it here.
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output
+; RUN: llvm-as < %s | opt -instcombine -disable-output
-%A = global int 1
-%B = global int 2
+@A = global i32 1 ; <i32*> [#uses=1]
+@B = global i32 2 ; <i32*> [#uses=1]
-bool %test() {
- %C = setlt int* getelementptr (int* %A, long 1), getelementptr (int* %B, long 2) ; Will get promoted to constantexpr
- ret bool %C
+define i1 @test() {
+ %C = icmp ult i32* getelementptr (i32* @A, i64 1), getelementptr (i32* @B, i64 2) ; <i1> [#uses=1]
+ ret i1 %C
}
+
diff --git a/test/Transforms/InstCombine/2003-07-21-ExternalConstant.ll b/test/Transforms/InstCombine/2003-07-21-ExternalConstant.ll
index a3c30a8f72..14140018f9 100644
--- a/test/Transforms/InstCombine/2003-07-21-ExternalConstant.ll
+++ b/test/Transforms/InstCombine/2003-07-21-ExternalConstant.ll
@@ -10,38 +10,35 @@
; should pass through the optimizer without failure.
;
; Extra code:
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine
-; END.
+; RUN: llvm-as < %s | opt -instcombine
;
-target endian = little
-target pointersize = 32
-%silly = external constant int ; <int*> [#uses=1]
+target datalayout = "e-p:32:32"
+@silly = external constant i32 ; <i32*> [#uses=1]
-implementation ; Functions:
+declare void @bzero(i8*, i32)
-declare void %bzero(sbyte*, uint)
+declare void @bcopy(i8*, i8*, i32)
-declare void %bcopy(sbyte*, sbyte*, uint)
+declare i32 @bcmp(i8*, i8*, i32)
-declare int %bcmp(sbyte*, sbyte*, uint)
+declare i32 @fputs(i8*, i8*)
-declare int %fputs(sbyte*, sbyte*)
+declare i32 @fputs_unlocked(i8*, i8*)
-declare int %fputs_unlocked(sbyte*, sbyte*)
+define i32 @function(i32 %a.1) {
+entry:
+ %a.0 = alloca i32 ; <i32*> [#uses=2]
+ %result = alloca i32 ; <i32*> [#uses=2]
+ store i32 %a.1, i32* %a.0
+ %tmp.0 = load i32* %a.0 ; <i32> [#uses=1]
+ %tmp.1 = load i32* @silly ; <i32> [#uses=1]
+ %tmp.2 = add i32 %tmp.0, %tmp.1 ; <i32> [#uses=1]
+ store i32 %tmp.2, i32* %result
+ br label %return
-int %function(int %a.1) {
-entry: ; No predecessors!
- %a.0 = alloca int ; <int*> [#uses=2]
- %result = alloca int ; <int*> [#uses=2]
- store int %a.1, int* %a.0
- %tmp.0 = load int* %a.0 ; <int> [#uses=1]
- %tmp.1 = load int* %silly ; <int> [#uses=1]
- %tmp.2 = add int %tmp.0, %tmp.1 ; <int> [#uses=1]
- store int %tmp.2, int* %result
- br label %return
-
-return: ; preds = %entry
- %tmp.3 = load int* %result ; <int> [#uses=1]
- ret int %tmp.3
+return: ; preds = %entry
+ %tmp.3 = load i32* %result ; <i32> [#uses=1]
+ ret i32 %tmp.3
}
+
diff --git a/test/Transforms/InstCombine/2003-08-12-AllocaNonNull.ll b/test/Transforms/InstCombine/2003-08-12-AllocaNonNull.ll
index 81594dbb6b..209ab1b336 100644
--- a/test/Transforms/InstCombine/2003-08-12-AllocaNonNull.ll
+++ b/test/Transforms/InstCombine/2003-08-12-AllocaNonNull.ll
@@ -1,23 +1,21 @@
; This testcase can be simplified by "realizing" that alloca can never return
; null.
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -simplifycfg | \
+; RUN: llvm-as < %s | opt -instcombine -simplifycfg | \
; RUN: llvm-dis | not grep br
-implementation ; Functions:
+declare i32 @bitmap_clear(...)
-declare int %bitmap_clear(...)
-
-int %oof() {
+define i32 @oof() {
entry:
- %live_head = alloca int ; <int*> [#uses=2]
- %tmp.1 = setne int* %live_head, null ; <bool> [#uses=1]
- br bool %tmp.1, label %then, label %UnifiedExitNode
+ %live_head = alloca i32 ; <i32*> [#uses=2]
+ %tmp.1 = icmp ne i32* %live_head, null ; <i1> [#uses=1]
+ br i1 %tmp.1, label %then, label %UnifiedExitNode
-then:
- %tmp.4 = call int (...)* %bitmap_clear( int* %live_head ) ; <int> [#uses=0]
+then: ; preds = %entry
+ %tmp.4 = call i32 (...)* @bitmap_clear( i32* %live_head ) ; <i32> [#uses=0]
br label %UnifiedExitNode
-UnifiedExitNode:
- ret int 0
+UnifiedExitNode: ; preds = %then, %entry
+ ret i32 0
}
diff --git a/test/Transforms/InstCombine/2003-09-09-VolatileLoadElim.ll b/test/Transforms/InstCombine/2003-09-09-VolatileLoadElim.ll
index adb1474a98..9779f21f92 100644
--- a/test/Transforms/InstCombine/2003-09-09-VolatileLoadElim.ll
+++ b/test/Transforms/InstCombine/2003-09-09-VolatileLoadElim.ll
@@ -1,5 +1,7 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep load
-void %test(int* %P) {
- %X = volatile load int* %P ; Dead but not deletable!
- ret void
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep load
+
+define void @test(i32* %P) {
+ ; Dead but not deletable!
+ %X = volatile load i32* %P ; <i32> [#uses=0]
+ ret void
}
diff --git a/test/Transforms/InstCombine/2003-10-23-InstcombineNullFail.ll b/test/Transforms/InstCombine/2003-10-23-InstcombineNullFail.ll
index 837494f530..7daf7cb632 100644
--- a/test/Transforms/InstCombine/2003-10-23-InstcombineNullFail.ll
+++ b/test/Transforms/InstCombine/2003-10-23-InstcombineNullFail.ll
@@ -1,13 +1,12 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep false
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep false
;
; This actually looks like a constant propagation bug
-%X = type { [10 x int], float }
+%X = type { [10 x i32], float }
-implementation
-
-bool %test() {
- %A = getelementptr %X* null, long 0, uint 0, long 0
- %B = setne int* %A, null
- ret bool %B
+define i1 @test() {
+ %A = getelementptr %X* null, i64 0, i32 0, i64 0 ; <i32*> [#uses=1]
+ %B = icmp ne i32* %A, null ; <i1> [#uses=1]
+ ret i1 %B
}
+
diff --git a/test/Transforms/InstCombine/2003-10-29-CallSiteResolve.ll b/test/Transforms/InstCombine/2003-10-29-CallSiteResolve.ll
index d23dc32a07..7d219cb358 100644
--- a/test/Transforms/InstCombine/2003-10-29-CallSiteResolve.ll
+++ b/test/Transforms/InstCombine/2003-10-29-CallSiteResolve.ll
@@ -1,13 +1,15 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output
+; RUN: llvm-as < %s | opt -instcombine -disable-output
-declare int* %bar()
+declare i32* @bar()
-float* %foo() {
- %tmp.11 = invoke float* cast (int* ()* %bar to float* ()*)()
- to label %invoke_cont except label %X
+define float* @foo() {
+ %tmp.11 = invoke float* bitcast (i32* ()* @bar to float* ()*)( )
+ to label %invoke_cont unwind label %X ; <float*> [#uses=1]
-invoke_cont:
- ret float *%tmp.11
-X:
- ret float *null
+invoke_cont: ; preds = %0
+ ret float* %tmp.11
+
+X: ; preds = %0
+ ret float* null
}
+
diff --git a/test/Transforms/InstCombine/2003-11-03-VarargsCallBug.ll b/test/Transforms/InstCombine/2003-11-03-VarargsCallBug.ll
index a2e28d97a1..71585d4266 100644
--- a/test/Transforms/InstCombine/2003-11-03-VarargsCallBug.ll
+++ b/test/Transforms/InstCombine/2003-11-03-VarargsCallBug.ll
@@ -1,13 +1,13 @@
; The cast in this testcase is not eliminable on a 32-bit target!
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep inttoptr
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep inttoptr
-target endian = little
-target pointersize = 32
+target datalayout = "e-p:32:32"
-declare void %foo(...)
+declare void @foo(...)
-void %test(long %X) {
- %Y = cast long %X to int*
- call void (...)* %foo(int* %Y)
- ret void
+define void @test(i64 %X) {
+ %Y = inttoptr i64 %X to i32* ; <i32*> [#uses=1]
+ call void (...)* @foo( i32* %Y )
+ ret void
}
+
diff --git a/test/Transforms/InstCombine/2003-11-13-ConstExprCastCall.ll b/test/Transforms/InstCombine/2003-11-13-ConstExprCastCall.ll
index d257286d85..23fe07d2b3 100644
--- a/test/Transforms/InstCombine/2003-11-13-ConstExprCastCall.ll
+++ b/test/Transforms/InstCombine/2003-11-13-ConstExprCastCall.ll
@@ -1,9 +1,9 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep call | notcast
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep call | notcast
-declare void %free(sbyte*)
+declare void @free(i8*)
-void %test(int* %X) {
- call int (...)* cast (void (sbyte*)* %free to int (...)*)(int * %X)
- ret void
+define void @test(i32* %X) {
+ call i32 (...)* bitcast (void (i8*)* @free to i32 (...)*)( i32* %X ) ; <i32>:1 [#uses=0]
+ ret void
}
diff --git a/test/Transforms/InstCombine/2004-01-13-InstCombineInvokePHI.ll b/test/Transforms/InstCombine/2004-01-13-InstCombineInvokePHI.ll
index ff90c32daf..c6a6b6afb8 100644
--- a/test/Transforms/InstCombine/2004-01-13-InstCombineInvokePHI.ll
+++ b/test/Transforms/InstCombine/2004-01-13-InstCombineInvokePHI.ll
@@ -5,20 +5,24 @@
; invoke instruction, we really cannot perform this transformation at all at
; least without splitting the critical edge.
;
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output
+; RUN: llvm-as < %s | opt -instcombine -disable-output
-declare sbyte* %test()
+declare i8* @test()
-int %foo() {
+define i32 @foo() {
entry:
- br bool true, label %cont, label %call
-call:
- %P = invoke int*()* cast (sbyte*()* %test to int*()*)()
- to label %cont except label %N
-cont:
- %P2 = phi int* [%P, %call], [null, %entry]
- %V = load int* %P2
- ret int %V
-N:
- ret int 0
+ br i1 true, label %cont, label %call
+
+call: ; preds = %entry
+ %P = invoke i32* bitcast (i8* ()* @test to i32* ()*)( )
+ to label %cont unwind label %N ; <i32*> [#uses=1]
+
+cont: ; preds = %call, %entry
+ %P2 = phi i32* [ %P, %call ], [ null, %entry ] ; <i32*> [#uses=1]
+ %V = load i32* %P2 ; <i32> [#uses=1]
+ ret i32 %V
+
+N: ; preds = %call
+ ret i32 0
}
+
diff --git a/test/Transforms/InstCombine/2004-02-23-ShiftShiftOverflow.ll b/test/Transforms/InstCombine/2004-02-23-ShiftShiftOverflow.ll
index 85095bf005..3a4b66157d 100644
--- a/test/Transforms/InstCombine/2004-02-23-ShiftShiftOverflow.ll
+++ b/test/Transforms/InstCombine/2004-02-23-ShiftShiftOverflow.ll
@@ -1,15 +1,15 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep 34
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep 34
-int %test(int %X) {
- ; Do not fold into shr X, 34, as this uses undefined behavior!
- %Y = shr int %X, ubyte 17
- %Z = shr int %Y, ubyte 17
- ret int %Z
+define i32 @test(i32 %X) {
+ ; Do not fold into shr X, 34, as this uses undefined behavior!
+ %Y = ashr i32 %X, 17 ; <i32> [#uses=1]
+ %Z = ashr i32 %Y, 17 ; <i32> [#uses=1]
+ ret i32 %Z
}
-int %test2(int %X) {
- ; Do not fold into shl X, 34, as this uses undefined behavior!
- %Y = shl int %X, ubyte 17
- %Z = shl int %Y, ubyte 17
- ret int %Z
+define i32 @test2(i32 %X) {
+ ; Do not fold into shl X, 34, as this uses undefined behavior!
+ %Y = shl i32 %X, 17 ; <i32> [#uses=1]
+ %Z = shl i32 %Y, 17 ; <i32> [#uses=1]
+ ret i32 %Z
}
diff --git a/test/Transforms/InstCombine/2004-03-13-InstCombineInfLoop.ll b/test/Transforms/InstCombine/2004-03-13-InstCombineInfLoop.ll
index fd7a2e346c..2b5481b019 100644
--- a/test/Transforms/InstCombine/2004-03-13-InstCombineInfLoop.ll
+++ b/test/Transforms/InstCombine/2004-03-13-InstCombineInfLoop.ll
@@ -1,13 +1,13 @@
; This testcase caused the combiner to go into an infinite loop, moving the
; cast back and forth, changing the seteq to operate on int vs uint and back.
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output
+; RUN: llvm-as < %s | opt -instcombine -disable-output
-bool %test(uint %A, int %B) {
- %C = sub uint 0, %A
- %Cc = cast uint %C to int
- %D = sub int 0, %B
- %E = seteq int %Cc, %D
- ret bool %E
+define i1 @test(i32 %A, i32 %B) {
+ %C = sub i32 0, %A ; <i32> [#uses=1]
+ %Cc = bitcast i32 %C to i32 ; <i32> [#uses=1]
+ %D = sub i32 0, %B ; <i32> [#uses=1]
+ %E = icmp eq i32 %Cc, %D ; <i1> [#uses=1]
+ ret i1 %E
}
diff --git a/test/Transforms/InstCombine/2004-04-04-InstCombineReplaceAllUsesWith.ll b/test/Transforms/InstCombine/2004-04-04-InstCombineReplaceAllUsesWith.ll
index 4c6ff1b52b..0b93eb2322 100644
--- a/test/Transforms/InstCombine/2004-04-04-InstCombineReplaceAllUsesWith.ll
+++ b/test/Transforms/InstCombine/2004-04-04-InstCombineReplaceAllUsesWith.ll
@@ -1,8 +1,10 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output
+; RUN: llvm-as < %s | opt -instcombine -disable-output
-int %test() {
- ret int 0
-Loop:
- %X = add int %X, 1
- br label %Loop
+define i32 @test() {
+ ret i32 0
+
+Loop: ; preds = %Loop
+ %X = add i32 %X, 1 ; <i32> [#uses=1]
+ br label %Loop
}
+
diff --git a/test/Transforms/InstCombine/2004-05-07-UnsizedCastLoad.ll b/test/Transforms/InstCombine/2004-05-07-UnsizedCastLoad.ll
index 8e8f019c66..66a5a4d78f 100644
--- a/test/Transforms/InstCombine/2004-05-07-UnsizedCastLoad.ll
+++ b/test/Transforms/InstCombine/2004-05-07-UnsizedCastLoad.ll
@@ -1,9 +1,10 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output
+; RUN: llvm-as < %s | opt -instcombine -disable-output
%Ty = type opaque
-int %test(%Ty *%X) {
- %Y = cast %Ty* %X to int*
- %Z = load int* %Y
- ret int %Z
+define i32 @test(%Ty* %X) {
+ %Y = bitcast %Ty* %X to i32* ; <i32*> [#uses=1]
+ %Z = load i32* %Y ; <i32> [#uses=1]
+ ret i32 %Z
}
+
diff --git a/test/Transforms/InstCombine/2004-07-27-ConstantExprMul.ll b/test/Transforms/InstCombine/2004-07-27-ConstantExprMul.ll
index 7994d45c9f..82eecbb698 100644
--- a/test/Transforms/InstCombine/2004-07-27-ConstantExprMul.ll
+++ b/test/Transforms/InstCombine/2004-07-27-ConstantExprMul.ll
@@ -1,8 +1,9 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output
+; RUN: llvm-as < %s | opt -instcombine -disable-output
-%p = weak global int 0
+@p = weak global i32 0 ; <i32*> [#uses=1]
-int %test(int %x) {
- %y = mul int %x, cast (int* %p to int)
- ret int %y
+define i32 @test(i32 %x) {
+ %y = mul i32 %x, ptrtoint (i32* @p to i32) ; <i32> [#uses=1]
+ ret i32 %y
}
+
diff --git a/test/Transforms/InstCombine/2004-08-09-RemInfLoop.llx b/test/Transforms/InstCombine/2004-08-09-RemInfLoop.llx
index 98b35fe3cb..9fc48de4ec 100644
--- a/test/Transforms/InstCombine/2004-08-09-RemInfLoop.llx
+++ b/test/Transforms/InstCombine/2004-08-09-RemInfLoop.llx
@@ -1,8 +1,9 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine
+; RUN: llvm-as < %s | opt -instcombine
; This testcase should not send the instcombiner into an infinite loop!
-int %test(int %X) {
- %Y = rem int %X, 0
- ret int %Y
+define i32 @test(i32 %X) {
+ %Y = srem i32 %X, 0 ; <i32> [#uses=1]
+ ret i32 %Y
}
+
diff --git a/test/Transforms/InstCombine/2004-08-10-BoolSetCC.ll b/test/Transforms/InstCombine/2004-08-10-BoolSetCC.ll
index e87e42c198..5d2ed0b86d 100644
--- a/test/Transforms/InstCombine/2004-08-10-BoolSetCC.ll
+++ b/test/Transforms/InstCombine/2004-08-10-BoolSetCC.ll
@@ -1,7 +1,8 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | \
; RUN: grep {ret i1 false}
-bool %test(bool %V) {
- %Y = setlt bool %V, false
- ret bool %Y
+
+define i1 @test(i1 %V) {
+ %Y = icmp ult i1 %V, false ; <i1> [#uses=1]
+ ret i1 %Y
}
diff --git a/test/Transforms/InstCombine/2004-09-20-BadLoadCombine.llx b/test/Transforms/InstCombine/2004-09-20-BadLoadCombine.llx
index ddc40394aa..e56c390d13 100644
--- a/test/Transforms/InstCombine/2004-09-20-BadLoadCombine.llx
+++ b/test/Transforms/InstCombine/2004-09-20-BadLoadCombine.llx
@@ -1,21 +1,18 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -mem2reg | llvm-dis | \
-; RUN: not grep {int 1}
+; RUN: llvm-as < %s | opt -instcombine -mem2reg | llvm-dis | \
+; RUN: not grep {i32 1}
; When propagating the load through the select, make sure that the load is
; inserted where the original load was, not where the select is. Not doing
; so could produce incorrect results!
-implementation
-
-int %test(bool %C) {
- %X = alloca int
- %X2 = alloca int
- store int 1, int* %X
- store int 2, int* %X2
-
- %Y = select bool %C, int* %X, int* %X2
- store int 3, int* %X
- %Z = load int* %Y
- ret int %Z
+define i32 @test(i1 %C) {
+ %X = alloca i32 ; <i32*> [#uses=3]
+ %X2 = alloca i32 ; <i32*> [#uses=2]
+ store i32 1, i32* %X
+ store i32 2, i32* %X2
+ %Y = select i1 %C, i32* %X, i32* %X2 ; <i32*> [#uses=1]
+ store i32 3, i32* %X
+ %Z = load i32* %Y ; <i32> [#uses=1]
+ ret i32 %Z
}
diff --git a/test/Transforms/InstCombine/2004-09-20-BadLoadCombine2.llx b/test/Transforms/InstCombine/2004-09-20-BadLoadCombine2.llx
index c3478a82a2..3585659452 100644
--- a/test/Transforms/InstCombine/2004-09-20-BadLoadCombine2.llx
+++ b/test/Transforms/InstCombine/2004-09-20-BadLoadCombine2.llx
@@ -1,24 +1,25 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -mem2reg -simplifycfg | \
+; RUN: llvm-as < %s | opt -instcombine -mem2reg -simplifycfg | \
; RUN: llvm-dis | grep -v store | not grep {int 1}
; Test to make sure that instcombine does not accidentally propagate the load
; into the PHI, which would break the program.
-int %test(bool %C) {
+define i32 @test(i1 %C) {
entry:
- %X = alloca int
- %X2 = alloca int
- store int 1, int* %X
- store int 2, int* %X2
- br bool %C, label %cond_true.i, label %cond_continue.i
+ %X = alloca i32 ; <i32*> [#uses=3]
+ %X2 = alloca i32 ; <i32*> [#uses=2]
+ store i32 1, i32* %X
+ store i32 2, i32* %X2
+ br i1 %C, label %cond_true.i, label %cond_continue.i
-cond_true.i:
+cond_true.i: ; preds = %entry
br label %cond_continue.i
-cond_continue.i:
- %mem_tmp.i.0 = phi int* [ %X, %cond_true.i ], [ %X2, %entry ]
- store int 3, int* %X
- %tmp.3 = load int* %mem_tmp.i.0
- ret int %tmp.3
+cond_continue.i: ; preds = %cond_true.i, %entry
+ %mem_tmp.i.0 = phi i32* [ %X, %cond_true.i ], [ %X2, %entry ] ; <i32*> [#uses=1]
+ store i32 3, i32* %X
+ %tmp.3 = load i32* %mem_tmp.i.0 ; <i32> [#uses=1]
+ ret i32 %tmp.3
}
+
diff --git a/test/Transforms/InstCombine/2004-09-28-BadShiftAndSetCC.llx b/test/Transforms/InstCombine/2004-09-28-BadShiftAndSetCC.llx
index bb55b5c67c..ee4f62c8d5 100644
--- a/test/Transforms/InstCombine/2004-09-28-BadShiftAndSetCC.llx
+++ b/test/Transforms/InstCombine/2004-09-28-BadShiftAndSetCC.llx
@@ -1,9 +1,9 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep -- -65536
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep -- -65536
-bool %test(int %tmp.124) {
- %tmp.125 = shl int %tmp.124, ubyte 8
- %tmp.126.mask = and int %tmp.125, -16777216 ; <int> [#uses=1]
- %tmp.128 = seteq int %tmp.126.mask, 167772160 ; <bool> [#uses=1]
- ret bool %tmp.128
+define i1 @test(i32 %tmp.124) {
+ %tmp.125 = shl i32 %tmp.124, 8 ; <i32> [#uses=1]
+ %tmp.126.mask = and i32 %tmp.125, -16777216 ; <i32> [#uses=1]
+ %tmp.128 = icmp eq i32 %tmp.126.mask, 167772160 ; <i1> [#uses=1]
+ ret i1 %tmp.128
}
diff --git a/test/Transforms/InstCombine/2004-11-22-Missed-and-fold.ll b/test/Transforms/InstCombine/2004-11-22-Missed-and-fold.ll
index 1a741c996f..766ba48be6 100644
--- a/test/Transforms/InstCombine/2004-11-22-Missed-and-fold.ll
+++ b/test/Transforms/InstCombine/2004-11-22-Missed-and-fold.ll
@@ -1,8 +1,10 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep and
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep and
-sbyte %test21(sbyte %A) {
- %C = shr sbyte %A, ubyte 7 ;; sign extend
- %D = and sbyte %C, 1 ;; chop off sign
- ret sbyte %D
+define i8 @test21(i8 %A) {
+ ;; sign extend
+ %C = ashr i8 %A, 7 ; <i8> [#uses=1]
+ ;; chop off sign
+ %D = and i8 %C, 1 ; <i8> [#uses=1]
+ ret i8 %D
}
diff --git a/test/Transforms/InstCombine/2004-11-27-SetCCForCastLargerAndConstant.ll b/test/Transforms/InstCombine/2004-11-27-SetCCForCastLargerAndConstant.ll
index 7e12bbf5ae..836d1eb27a 100644
--- a/test/Transforms/InstCombine/2004-11-27-SetCCForCastLargerAndConstant.ll
+++ b/test/Transforms/InstCombine/2004-11-27-SetCCForCastLargerAndConstant.ll
@@ -1,136 +1,132 @@
; This test case tests the InstructionCombining optimization that
; reduces things like:
-; %Y = cast sbyte %X to uint
-; %C = setlt uint %Y, 1024
+; %Y = sext i8 %X to i32
+; %C = icmp ult i32 %Y, 1024
; to
-; %C = bool true
+; %C = i1 true
; It includes test cases for different constant values, signedness of the
; cast operands, and types of setCC operators. In all cases, the cast should
; be eliminated. In many cases the setCC is also eliminated based on the
; constant value and the range of the casted value.
;
-; RUN: llvm-upgrade %s -o - | llvm-as | opt -instcombine | llvm-dis | \
+; RUN: llvm-as < %s -o - | opt -instcombine | llvm-dis | \
; RUN: notcast .*int
-; END.
-implementation ; Functions:
-
-bool %lt_signed_to_large_unsigned(sbyte %SB) {
- %Y = cast sbyte %SB to uint ; <uint> [#uses=1]
- %C = setlt uint %Y, 1024 ; <bool> [#uses=1]
- ret bool %C
+define i1 @lt_signed_to_large_unsigned(i8 %SB) {
+ %Y = sext i8 %SB to i32 ; <i32> [#uses=1]
+ %C = icmp ult i32 %Y, 1024 ; <i1> [#uses=1]
+ ret i1 %C
}
-bool %lt_signed_to_large_signed(sbyte %SB) {
- %Y = cast sbyte %SB to int
- %C = setlt int %Y, 1024
- ret bool %C
+define i1 @lt_signed_to_large_signed(i8 %SB) {
+ %Y = sext i8 %SB to i32 ; <i32> [#uses=1]
+ %C = icmp slt i32 %Y, 1024 ; <i1> [#uses=1]
+ ret i1 %C
}
-bool %lt_signed_to_large_negative(sbyte %SB) {
- %Y = cast sbyte %SB to int
- %C = setlt int %Y, -1024
- ret bool %C
+define i1 @lt_signed_to_large_negative(i8 %SB) {
+ %Y = sext i8 %SB to i32 ; <i32> [#uses=1]
+ %C = icmp slt i32 %Y, -1024 ; <i1> [#uses=1]
+ ret i1 %C
}
-bool %lt_signed_to_small_signed(sbyte %SB) {
- %Y = cast sbyte %SB to int
- %C = setlt int %Y, 17
- ret bool %C
+define i1 @lt_signed_to_small_signed(i8 %SB) {
+ %Y = sext i8 %SB to i32 ; <i32> [#uses=1]
+ %C = icmp slt i32 %Y, 17 ; <i1> [#uses=1]
+ ret i1 %C
}
-
-bool %lt_signed_to_small_negative(sbyte %SB) {
- %Y = cast sbyte %SB to int
- %C = setlt int %Y, -17
- ret bool %C
+define i1 @lt_signed_to_small_negative(i8 %SB) {
+ %Y = sext i8 %SB to i32 ; <i32> [#uses=1]
+ %C = icmp slt i32 %Y, -17 ; <i1> [#uses=1]
+ ret i1 %C
}
-bool %lt_unsigned_to_large_unsigned(ubyte %SB) {
- %Y = cast ubyte %SB to uint ; <uint> [#uses=1]
- %C = setlt uint %Y, 1024 ; <bool> [#uses=1]
- ret bool %C
+define i1 @lt_unsigned_to_large_unsigned(i8 %SB) {
+ %Y = zext i8 %SB to i32 ; <i32> [#uses=1]
+ %C = icmp ult i32 %Y, 1024 ; <i1> [#uses=1]
+ ret i1 %C
}
-bool %lt_unsigned_to_large_signed(ubyte %SB) {
- %Y = cast ubyte %SB to int
- %C = setlt int %Y, 1024
- ret bool %C
+define i1 @lt_unsigned_to_large_signed(i8 %SB) {
+ %Y = zext i8 %SB to i32 ; <i32> [#uses=1]
+ %C = icmp slt i32 %Y, 1024 ; <i1> [#uses=1]
+ ret i1 %C
}
-bool %lt_unsigned_to_large_negative(ubyte %SB) {
- %Y = cast ubyte %SB to int
- %C = setlt int %Y, -1024
- ret bool %C
+define i1 @lt_unsigned_to_large_negative(i8 %SB) {
+ %Y = zext i8 %SB to i32 ; <i32> [#uses=1]
+ %C = icmp slt i32 %Y, -1024 ; <i1> [#uses=1]
+ ret i1 %C
}
-bool %lt_unsigned_to_small_unsigned(ubyte %SB) {
- %Y = cast ubyte %SB to uint ; <uint> [#uses=1]
- %C = setlt uint %Y, 17 ; <bool> [#uses=1]
- ret bool %C
+define i1 @lt_unsigned_to_small_unsigned(i8 %SB) {
+ %Y = zext i8 %SB to i32 ; <i32> [#uses=1]
+ %C = icmp ult i32 %Y, 17 ; <i1> [#uses=1]
+ ret i1 %C
}
-bool %lt_unsigned_to_small_negative(ubyte %SB) {
- %Y = cast ubyte %SB to int
- %C = setlt int %Y, -17
- ret bool %C
+define i1 @lt_unsigned_to_small_negative(i8 %SB) {
+ %Y = zext i8 %SB to i32 ; <i32> [#uses=1]
+ %C = icmp slt i32 %Y, -17 ; <i1> [#uses=1]
+ ret i1 %C
}
-bool %gt_signed_to_large_unsigned(sbyte %SB) {
- %Y = cast sbyte %SB to uint ; <uint> [#uses=1]
- %C = setgt uint %Y, 1024 ; <bool> [#uses=1]
- ret bool %C
+define i1 @gt_signed_to_large_unsigned(i8 %SB) {
+ %Y = sext i8 %SB to i32 ; <i32> [#uses=1]
+ %C = icmp ugt i32 %Y, 1024 ; <i1> [#uses=1]
+ ret i1 %C
}
-bool %gt_signed_to_large_signed(sbyte %SB) {
- %Y = cast sbyte %SB to int
- %C = setgt int %Y, 1024
- ret bool %C
+define i1 @gt_signed_to_large_signed(i8 %SB) {
+ %Y = sext i8 %SB to i32 ; <i32> [#uses=1]
+ %C = icmp sgt i32 %Y, 1024 ; <i1> [#uses=1]
+ ret i1 %C
}
-bool %gt_signed_to_large_negative(sbyte %SB) {
- %Y = cast sbyte %SB to int
- %C = setgt int %Y, -1024
- ret bool %C
+define i1 @gt_signed_to_large_negative(i8 %SB) {
+ %Y = sext i8 %SB to i32 ; <i32> [#uses=1]
+ %C = icmp sgt i32 %Y, -1024 ; <i1> [#uses=1]
+ ret i1 %C
}
-
-bool %gt_signed_to_small_signed(sbyte %SB) {
- %Y = cast sbyte %SB to int
- %C = setgt int %Y, 17
- ret bool %C
+define i1 @gt_signed_to_small_signed(i8 %SB) {
+ %Y = sext i8 %SB to i32 ; <i32> [#uses=1]
+ %C = icmp sgt i32 %Y, 17 ; <i1> [#uses=1]
+ ret i1 %C
}
-bool %gt_signed_to_small_negative(sbyte %SB) {
- %Y = cast sbyte %SB to int
- %C = setgt int %Y, -17
- ret bool %C
+define i1 @gt_signed_to_small_negative(i8 %SB) {
+ %Y = sext i8 %SB to i32 ; <i32> [#uses=1]
+ %C = icmp sgt i32 %Y, -17 ; <i1> [#uses=1]
+ ret i1 %C
}
-bool %gt_unsigned_to_large_unsigned(ubyte %SB) {
- %Y = cast ubyte %SB to uint ; <uint> [#uses=1]
- %C = setgt uint %Y, 1024 ; <bool> [#uses=1]
- ret bool %C
+define i1 @gt_unsigned_to_large_unsigned(i8 %SB) {
+ %Y = zext i8 %SB to i32 ; <i32> [#uses=1]
+ %C = icmp ugt i32 %Y, 1024 ; <i1> [#uses=1]
+ ret i1 %C
}
-bool %gt_unsigned_to_large_signed(ubyte %SB) {
- %Y = cast ubyte %SB to int
- %C = setgt int %Y, 1024
- ret bool %C
+define i1 @gt_unsigned_to_large_signed(i8 %SB) {
+ %Y = zext i8 %SB to i32 ; <i32> [#uses=1]
+ %C = icmp sgt i32 %Y, 1024 ; <i1> [#uses=1]
+ ret i1 %C
}
-bool %gt_unsigned_to_large_negative(ubyte %SB) {
- %Y = cast ubyte %SB to int
- %C = setgt int %Y, -1024
- ret bool %C
+define i1 @gt_unsigned_to_large_negative(i8 %SB) {
+ %Y = zext i8 %SB to i32 ; <i32> [#uses=1]
+ %C = icmp sgt i32 %Y, -1024 ; <i1> [#uses=1]
+ ret i1 %C
}
-bool %gt_unsigned_to_small_unsigned(ubyte %SB) {
- %Y = cast ubyte %SB to uint ; <uint> [#uses=1]
- %C = setgt uint %Y, 17 ; <bool> [#uses=1]
- ret bool %C
+define i1 @gt_unsigned_to_small_unsigned(i8 %SB) {
+ %Y = zext i8 %SB to i32 ; <i32> [#uses=1]
+ %C = icmp ugt i32 %Y, 17 ; <i1> [#uses=1]
+ ret i1 %C
}
-bool %gt_unsigned_to_small_negative(ubyte %SB) {
- %Y = cast ubyte %SB to int
- %C = setgt int %Y, -17
- ret bool %C
+define i1 @gt_unsigned_to_small_negative(i8 %SB) {
+ %Y = zext i8 %SB to i32 ; <i32> [#uses=1]
+ %C = icmp sgt i32 %Y, -17 ; <i1> [#uses=1]
+ ret i1 %C
}
+
diff --git a/test/Transforms/InstCombine/2004-12-08-InstCombineCrash.ll b/test/Transforms/InstCombine/2004-12-08-InstCombineCrash.ll
index 6e241f4e78..5908205203 100644
--- a/test/Transforms/InstCombine/2004-12-08-InstCombineCrash.ll
+++ b/test/Transforms/InstCombine/2004-12-08-InstCombineCrash.ll
@@ -1,14 +1,14 @@
-; RUN: llvm-upgrade %s -o - | llvm-as | opt -instcombine
+; RUN: llvm-as %s -o - | opt -instcombine
- %struct.llvm_java_object_base = type opaque
- "java/lang/Object" = type { %struct.llvm_java_object_base }
- "java/lang/StringBuffer" = type { "java/lang/Object", int, { "java/lang/Object", uint, [0 x ushort] }*, bool }
-implementation ; Functions:
+%"java/lang/Object" = type { %struct.llvm_java_object_base }
+%"java/lang/StringBuffer" = type { %"java/lang/Object", i32, { %"java/lang/Object", i32, [0 x i16] }*, i1 }
+%struct.llvm_java_object_base = type opaque
-void "java/lang/StringBuffer/append(Ljava/lang/String;)Ljava/lang/StringBuffer;"() {
+define void @"java/lang/StringBuffer/append(Ljava/lang/String;)Ljava/lang/StringBuffer;"() {
bc0:
- %tmp53 = getelementptr "java/lang/StringBuffer"* null, int 0, uint 1 ; <int*> [#uses=1]
- store int 0, int* %tmp53
- ret void
+ %tmp53 = getelementptr %"java/lang/StringBuffer"* null, i32 0, i32 1 ; <i32*> [#uses=1]
+ store i32 0, i32* %tmp53
+ ret void
}
+
diff --git a/test/Transforms/InstCombine/2004-12-08-RemInfiniteLoop.ll b/test/Transforms/InstCombine/2004-12-08-RemInfiniteLoop.ll
index fb18ea24c1..4ea0b5c484 100644
--- a/test/Transforms/InstCombine/2004-12-08-RemInfiniteLoop.ll
+++ b/test/Transforms/InstCombine/2004-12-08-RemInfiniteLoop.ll
@@ -1,6 +1,7 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine
+; RUN: llvm-as < %s | opt -instcombine
-int %test(int %X) {
- %Y = rem int %X, undef
- ret int %Y
+define i32 @test(i32 %X) {
+ %Y = srem i32 %X, undef ; <i32> [#uses=1]
+ ret i32 %Y
}
+
diff --git a/test/Transforms/InstCombine/2005-03-04-ShiftOverflow.ll b/test/Transforms/InstCombine/2005-03-04-ShiftOverflow.ll
index 9a754d842e..ffaa0051e9 100644
--- a/test/Transforms/InstCombine/2005-03-04-ShiftOverflow.ll
+++ b/test/Transforms/InstCombine/2005-03-04-ShiftOverflow.ll
@@ -1,9 +1,9 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \
-; RUN: not grep {ret bool false}
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | \
+; RUN: not grep {ret i1 false}
-bool %test(ulong %tmp.169) {
- %tmp.1710 = shr ulong %tmp.169, ubyte 1
- %tmp.1912 = setgt ulong %tmp.1710, 0
- ret bool %tmp.1912
+define i1 @test(i64 %tmp.169) {
+ %tmp.1710 = lshr i64 %tmp.169, 1 ; <i64> [#uses=1]
+ %tmp.1912 = icmp ugt i64 %tmp.1710, 0 ; <i1> [#uses=1]
+ ret i1 %tmp.1912
}
diff --git a/test/Transforms/InstCombine/2005-04-07-UDivSelectCrash.ll b/test/Transforms/InstCombine/2005-04-07-UDivSelectCrash.ll
index 8e523d3fae..8b2aa35bd7 100644
--- a/test/Transforms/InstCombine/2005-04-07-UDivSelectCrash.ll
+++ b/test/Transforms/InstCombine/2005-04-07-UDivSelectCrash.ll
@@ -1,7 +1,8 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output
+; RUN: llvm-as < %s | opt -instcombine -disable-output
-uint %test(bool %C, uint %tmp.15) {
- %tmp.16 = select bool %C, uint 8, uint 1
- %tmp.18 = div uint %tmp.15, %tmp.16
- ret uint %tmp.18
+define i32 @test(i1 %C, i32 %tmp.15) {
+ %tmp.16 = select i1 %C, i32 8, i32 1 ; <i32> [#uses=1]
+ %tmp.18 = udiv i32 %tmp.15, %tmp.16 ; <i32> [#uses=1]
+ ret i32 %tmp.18
}
+
diff --git a/test/Transforms/InstCombine/2005-06-15-DivSelectCrash.ll b/test/Transforms/InstCombine/2005-06-15-DivSelectCrash.ll
index fa862fed2a..53585f9aa3 100644
--- a/test/Transforms/InstCombine/2005-06-15-DivSelectCrash.ll
+++ b/test/Transforms/InstCombine/2005-06-15-DivSelectCrash.ll
@@ -1,9 +1,10 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output
+; RUN: llvm-as < %s | opt -instcombine -disable-output
-int %_Z13func_31585107li(int %l_39521025, int %l_59244666) {
- %shortcirc_val = select bool false, uint 1, uint 0 ; <uint> [#uses=1]
- %tmp.8 = div uint 0, %shortcirc_val ; <uint> [#uses=1]
- %tmp.9 = seteq uint %tmp.8, 0 ; <bool> [#uses=1]
- %retval = select bool %tmp.9, int %l_59244666, int -1621308501 ; <int> [#uses=1]
- ret int %retval
+define i32 @_Z13func_31585107li(i32 %l_39521025, i32 %l_59244666) {
+ %shortcirc_val = select i1 false, i32 1, i32 0 ; <i32> [#uses=1]
+ %tmp.8 = udiv i32 0, %shortcirc_val ; <i32> [#uses=1]
+ %tmp.9 = icmp eq i32 %tmp.8, 0 ; <i1> [#uses=1]
+ %retval = select i1 %tmp.9, i32 %l_59244666, i32 -1621308501 ; <i32> [#uses=1]
+ ret i32 %retval
}
+
diff --git a/test/Transforms/InstCombine/2005-06-15-ShiftSetCCCrash.ll b/test/Transforms/InstCombine/2005-06-15-ShiftSetCCCrash.ll
index deb61246cf..64bfec18df 100644
--- a/test/Transforms/InstCombine/2005-06-15-ShiftSetCCCrash.ll
+++ b/test/Transforms/InstCombine/2005-06-15-ShiftSetCCCrash.ll
@@ -1,8 +1,9 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output
+; RUN: llvm-as < %s | opt -instcombine -disable-output
; PR577
-bool %test() {
- %tmp.3 = shl int 0, ubyte 41 ; <int> [#uses=1]
- %tmp.4 = setne int %tmp.3, 0 ; <bool> [#uses=1]
- ret bool %tmp.4
+define i1 @test() {
+ %tmp.3 = shl i32 0, 41 ; <i32> [#uses=1]
+ %tmp.4 = icmp ne i32 %tmp.3, 0 ; <i1> [#uses=1]
+ ret i1 %tmp.4
}
+
diff --git a/test/Transforms/InstCombine/2005-06-16-RangeCrash.ll b/test/Transforms/InstCombine/2005-06-16-RangeCrash.ll
index ef44301225..10dbfec21a 100644
--- a/test/Transforms/InstCombine/2005-06-16-RangeCrash.ll
+++ b/test/Transforms/InstCombine/2005-06-16-RangeCrash.ll
@@ -1,7 +1,9 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output
+; RUN: llvm-as < %s | opt -instcombine -disable-output
; PR585
-bool %test() {
- %tmp.26 = div int 0, -2147483648 ; <int> [#uses=1]
- %tmp.27 = seteq int %tmp.26, 0 ; <bool> [#uses=1]
- ret bool %tmp.27
+
+define i1 @test() {
+ %tmp.26 = sdiv i32 0, -2147483648 ; <i32> [#uses=1]
+ %tmp.27 = icmp eq i32 %tmp.26, 0 ; <i1> [#uses=1]
+ ret i1 %tmp.27
}
+
diff --git a/test/Transforms/InstCombine/2005-06-16-SetCCOrSetCCMiscompile.ll b/test/Transforms/InstCombine/2005-06-16-SetCCOrSetCCMiscompile.ll
index 764b035b54..010087b4f4 100644
--- a/test/Transforms/InstCombine/2005-06-16-SetCCOrSetCCMiscompile.ll
+++ b/test/Transforms/InstCombine/2005-06-16-SetCCOrSetCCMiscompile.ll
@@ -1,16 +1,14 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | \
; RUN: grep {ret i1 true}
; PR586
-%g_07918478 = external global uint ; <uint*> [#uses=1]
+@g_07918478 = external global i32 ; <i32*> [#uses=1]
-implementation ; Functions:
-
-bool %test() {
- %tmp.0 = load uint* %g_07918478 ; <uint> [#uses=2]
- %tmp.1 = setne uint %tmp.0, 0 ; <bool> [#uses=1]
- %tmp.4 = setlt uint %tmp.0, 4111 ; <bool> [#uses=1]
- %bothcond = or bool %tmp.1, %tmp.4 ; <bool> [#uses=1]
- ret bool %bothcond
+define i1 @test() {
+ %tmp.0 = load i32* @g_07918478 ; <i32> [#uses=2]
+ %tmp.1 = icmp ne i32 %tmp.0, 0 ; <i1> [#uses=1]
+ %tmp.4 = icmp ult i32 %tmp.0, 4111 ; <i1> [#uses=1]
+ %bothcond = or i1 %tmp.1, %tmp.4 ; <i1> [#uses=1]
+ ret i1 %bothcond
}
diff --git a/test/Transforms/InstCombine/2005-07-07-DeadPHILoop.ll b/test/Transforms/InstCombine/2005-07-07-DeadPHILoop.ll
index be9837dc43..c58234a549 100644
--- a/test/Transforms/InstCombine/2005-07-07-DeadPHILoop.ll
+++ b/test/Transforms/InstCombine/2005-07-07-DeadPHILoop.ll
@@ -1,13 +1,14 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output
+; RUN: llvm-as < %s | opt -instcombine -disable-output
; This example caused instcombine to spin into an infinite loop.
-void %test(int *%P) {
- ret void
-Dead:
- %X = phi int [%Y, %Dead]
- %Y = div int %X, 10
- store int %Y, int* %P
- br label %Dead
+define void @test(i32* %P) {
+ ret void
+
+Dead: ; preds = %Dead
+ %X = phi i32 [ %Y, %Dead ] ; <i32> [#uses=1]
+ %Y = sdiv i32 %X, 10 ; <i32> [#uses=2]
+ store i32 %Y, i32* %P
+ br label %Dead
}
diff --git a/test/Transforms/InstCombine/2006-02-07-SextZextCrash.ll b/test/Transforms/InstCombine/2006-02-07-SextZextCrash.ll
index e06dca914e..d7df5a01fb 100644
--- a/test/Transforms/InstCombine/2006-02-07-SextZextCrash.ll
+++ b/test/Transforms/InstCombine/2006-02-07-SextZextCrash.ll
@@ -1,22 +1,21 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output
+; RUN: llvm-as < %s | opt -instcombine -disable-output
- %struct.rtx_const = type { uint, { %union.real_extract } }
- %struct.rtx_def = type { int, [1 x %union.rtunion_def] }
- %union.real_extract = type { double }
- %union.rtunion_def = type { uint }
+ %struct.rtx_const = type { i32, { %union.real_extract } }
+ %struct.rtx_def = type { i32, [1 x %union.rtunion_def] }
+ %union.real_extract = type { double }
+ %union.rtunion_def = type { i32 }
-implementation ; Functions:
-
-fastcc void %decode_rtx_const(%struct.rtx_def* %x, %struct.rtx_const* %value) {
- %tmp.54 = getelementptr %struct.rtx_const* %value, int 0, uint 0 ; <uint*> [#uses=1]
- %tmp.56 = getelementptr %struct.rtx_def* %x, int 0, uint 0 ; <int*> [#uses=1]
- %tmp.57 = load int* %tmp.56 ; <int> [#uses=1]
- %tmp.58 = shl int %tmp.57, ubyte 8 ; <int> [#uses=1]
- %tmp.59 = shr int %tmp.58, ubyte 24 ; <int> [#uses=1]
- %tmp.60 = cast int %tmp.59 to ushort ; <ushort> [#uses=1]
- %tmp.61 = cast ushort %tmp.60 to uint ; <uint> [#uses=1]
- %tmp.62 = shl uint %tmp.61, ubyte 16 ; <uint> [#uses=1]
- %tmp.65 = or uint 0, %tmp.62 ; <uint> [#uses=1]
- store uint %tmp.65, uint* %tmp.54
- ret void
+define fastcc void @decode_rtx_const(%struct.rtx_def* %x, %struct.rtx_const* %value) {
+ %tmp.54 = getelementptr %struct.rtx_const* %value, i32 0, i32 0 ; <i32*> [#uses=1]
+ %tmp.56 = getelementptr %struct.rtx_def* %x, i32 0, i32 0 ; <i32*> [#uses=1]
+ %tmp.57 = load i32* %tmp.56 ; <i32> [#uses=1]
+ %tmp.58 = shl i32 %tmp.57, 8 ; <i32> [#uses=1]
+ %tmp.59 = ashr i32 %tmp.58, 24 ; <i32> [#uses=1]
+ %tmp.60 = trunc i32 %tmp.59 to i16 ; <i16> [#uses=1]
+ %tmp.61 = zext i16 %tmp.60 to i32 ; <i32> [#uses=1]
+ %tmp.62 = shl i32 %tmp.61, 16 ; <i32> [#uses=1]
+ %tmp.65 = or i32 0, %tmp.62 ; <i32> [#uses=1]
+ store i32 %tmp.65, i32* %tmp.54
+ ret void
}
+
diff --git a/test/Transforms/InstCombine/2006-02-13-DemandedMiscompile.ll b/test/Transforms/InstCombine/2006-02-13-DemandedMiscompile.ll
index 73ad700961..c89b0d54a9 100644
--- a/test/Transforms/InstCombine/2006-02-13-DemandedMiscompile.ll
+++ b/test/Transforms/InstCombine/2006-02-13-DemandedMiscompile.ll
@@ -1,9 +1,10 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | \
; RUN: not grep undef
-int %test(sbyte %A) {
- %B = cast sbyte %A to int
- %C = shr int %B, ubyte 8
- ret int %C
+define i32 @test(i8 %A) {
+ %B = sext i8 %A to i32 ; <i32> [#uses=1]
+ %C = ashr i32 %B, 8 ; <i32> [#uses=1]
+ ret i32 %C
}
+
diff --git a/test/Transforms/InstCombine/2006-02-28-Crash.ll b/test/Transforms/InstCombine/2006-02-28-Crash.ll
index 241c254dc4..1f3c9e8e67 100644
--- a/test/Transforms/InstCombine/2006-02-28-Crash.ll
+++ b/test/Transforms/InstCombine/2006-02-28-Crash.ll
@@ -1,6 +1,8 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output
-int %test() {
- %tmp203 = seteq uint 1, 2 ; <bool> [#uses=1]
- %tmp203 = cast bool %tmp203 to int ; <int> [#uses=1]
- ret int %tmp203
+; RUN: llvm-as < %s | opt -instcombine -disable-output
+
+define i32 @test() {
+ %tmp203 = icmp eq i32 1, 2 ; <i1> [#uses=1]
+ %tmp203.upgrd.1 = zext i1 %tmp203 to i32 ; <i32> [#uses=1]
+ ret i32 %tmp203.upgrd.1
}
+
diff --git a/test/Transforms/InstCombine/2006-03-30-ExtractElement.ll b/test/Transforms/InstCombine/2006-03-30-ExtractElement.ll
index 314946085f..e4b2b39312 100644
--- a/test/Transforms/InstCombine/2006-03-30-ExtractElement.ll
+++ b/test/Transforms/InstCombine/2006-03-30-ExtractElement.ll
@@ -1,7 +1,8 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output
+; RUN: llvm-as < %s | opt -instcombine -disable-output
-float %test(<4 x float> %V) {
- %V2 = insertelement <4 x float> %V, float 1.0, uint 3
- %R = extractelement <4 x float> %V2, uint 2
- ret float %R
+define float @test(<4 x float> %V) {
+ %V2 = insertelement <4 x float> %V, float 1.000000e+00, i32 3 ; <<4 x float>> [#uses=1]
+ %R = extractelement <4 x float> %V2, i32 2 ; <float> [#uses=1]
+ ret float %R
}
+
diff --git a/test/Transforms/InstCombine/2006-04-01-InfLoop.ll b/test/Transforms/InstCombine/2006-04-01-InfLoop.ll
index 81c1690a6f..1a26b63c5d 100644
--- a/test/Transforms/InstCombine/2006-04-01-InfLoop.ll
+++ b/test/Transforms/InstCombine/2006-04-01-InfLoop.ll
@@ -1,78 +1,74 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output
-; END.
-
- %struct.DecRefPicMarking_s = type { int, int, int, int, int, %struct.DecRefPicMarking_s* }
- %struct.datapartition = type { %typedef.Bitstream*, %typedef.DecodingEnvironment, int (%struct.syntaxelement*, %struct.img_par*, %struct.inp_par*, %struct.datapartition*)* }
- %struct.img_par = type { int, uint, uint, int, int*, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, [16 x [16 x ushort]], [6 x [32 x int]], [16 x [16 x int]], [4 x [12 x [4 x [4 x int]]]], [16 x int], int**, int*, int***, int**, int, int, int, int, %typedef.Slice*, %struct.macroblock*, int, int, int, int, int, int, int**, %struct.DecRefPicMarking_s*, int, int, int, int, int, int, int, uint, int, int, int, uint, uint, uint, uint, int, [3 x int], int, uint, int, uint, int, int, int, uint, uint, int, int, int, int, uint, uint, int***, int***, int****, int, int, uint, int, int, int, int, uint, uint, uint, uint, uint, uint, uint, int, int, int, int, int, int, int, int, int, int, int, uint, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, %struct.timeb, %struct.timeb, int, int, int, int, int, uint, int, int }
- %struct.inp_par = type { [100 x sbyte], [100 x sbyte], [100 x sbyte], int, int, int, int, int, int, int }
- %struct.macroblock = type { int, int, int, %struct.macroblock*, %struct.macroblock*, int, [2 x [4 x [4 x [2 x int]]]], int, long, long, int, int, [4 x int], [4 x int], int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int }
- %struct.pix_pos = type { int, int, int, int, int, int }
- %struct.storable_picture = type { uint, int, int, int, int, [50 x [6 x [33 x long]]], [50 x [6 x [33 x long]]], [50 x [6 x [33 x long]]], [50 x [6 x [33 x long]]], uint, int, int, int, int, int, int, int, short, int, int, int, int, int, int, int, uint, uint, ushort**, ushort***, ubyte*, short**, sbyte***, long***, long***, short****, ubyte**, ubyte**, %struct.storable_picture*, %struct.storable_picture*, %struct.storable_picture*, int, int, int, int, int, int, int, int, int, int, int, int, int, [2 x int], int, %struct.DecRefPicMarking_s*, int }
- %struct.syntaxelement = type { int, int, int, int, int, uint, int, int, void (int, int, int*, int*)*, void (%struct.syntaxelement*, %struct.inp_par*, %struct.img_par*, %typedef.DecodingEnvironment*)* }
- %struct.timeb = type { int, ushort, short, short }
- %typedef.BiContextType = type { ushort, ubyte }
- %typedef.Bitstream = type { int, int, int, int, ubyte*, int }
- %typedef.DecodingEnvironment = type { uint, uint, uint, uint, int, ubyte*, int* }
+; RUN: llvm-as < %s | opt -instcombine -disable-output
+ %struct.DecRefPicMarking_s = type { i32, i32, i32, i32, i32, %struct.DecRefPicMarking_s* }
+ %struct.datapartition = type { %typedef.Bitstream*, %typedef.DecodingEnvironment, i32 (%struct.syntaxelement*, %struct.img_par*, %struct.inp_par*, %struct.datapartition*)* }
+ %struct.img_par = type { i32, i32, i32, i32, i32*, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, [16 x [16 x i16]], [6 x [32 x i32]], [16 x [16 x i32]], [4 x [12 x [4 x [4 x i32]]]], [16 x i32], i32**, i32*, i32***, i32**, i32, i32, i32, i32, %typedef.Slice*, %struct.macroblock*, i32, i32, i32, i32, i32, i32, i32**, %struct.DecRefPicMarking_s*, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, [3 x i32], i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32***, i32***, i32****, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, %struct.timeb, %struct.timeb, i32, i32, i32, i32, i32, i32, i32, i32 }
+ %struct.inp_par = type { [100 x i8], [100 x i8], [100 x i8], i32, i32, i32, i32, i32, i32, i32 }
+ %struct.macroblock = type { i32, i32, i32, %struct.macroblock*, %struct.macroblock*, i32, [2 x [4 x [4 x [2 x i32]]]], i32, i64, i64, i32, i32, [4 x i32], [4 x i32], i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 }
+ %struct.pix_pos = type { i32, i32, i32, i32, i32, i32 }
+ %struct.storable_picture = type { i32, i32, i32, i32, i32, [50 x [6 x [33 x i64]]], [50 x [6 x [33 x i64]]], [50 x [6 x [33 x i64]]], [50 x [6 x [33 x i64]]], i32, i32, i32, i32, i32, i32, i32, i32, i16, i32, i32, i32, i32, i32, i32, i32, i32, i32, i16**, i16***, i8*, i16**, i8***, i64***, i64***, i16****, i8**, i8**, %struct.storable_picture*, %struct.storable_picture*, %struct.storable_picture*, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, [2 x i32], i32, %struct.DecRefPicMarking_s*, i32 }
+ %struct.syntaxelement = type { i32, i32, i32, i32, i32, i32, i32, i32, void (i32, i32, i32*, i32*)*, void (%struct.syntaxelement*, %struct.inp_par*, %struct.img_par*, %typedef.DecodingEnvironment*)* }
+ %struct.timeb = type { i32, i16, i16, i16 }
+ %typedef.BiContextType = type { i16, i8 }
+ %typedef.Bitstream = type { i32, i32, i32, i32, i8*, i32 }
+ %typedef.DecodingEnvironment = type { i32, i32, i32, i32, i32, i8*, i32* }
%typedef.MotionInfoContexts = type { [4 x [11 x %typedef.BiContextType]], [2 x [9 x %typedef.BiContextType]], [2 x [10 x %typedef.BiContextType]], [2 x [6 x %typedef.BiContextType]], [4 x %typedef.BiContextType], [4 x %typedef.BiContextType], [3 x %typedef.BiContextType] }
- %typedef.Slice = type { int, int, int, int, uint, int, int, int, int, %struct.datapartition*, %typedef.MotionInfoContexts*, %typedef.TextureInfoContexts*, int, int*, int*, int*, int, int*, int*, int*, int (%struct.img_par*, %struct.inp_par*)*, int, int, int, int }
+ %typedef.Slice = type { i32, i32, i32, i32, i32, i32, i32, i32, i32, %struct.datapartition*, %typedef.MotionInfoContexts*, %typedef.TextureInfoContexts*, i32, i32*, i32*, i32*, i32, i32*, i32*, i32*, i32 (%struct.img_par*, %struct.inp_par*)*, i32, i32, i32, i32 }
%typedef.TextureInfoContexts = type { [2 x %typedef.BiContextType], [4 x %typedef.BiContextType], [3 x [4 x %typedef.BiContextType]], [10 x [4 x %typedef.BiContextType]], [10 x [15 x %typedef.BiContextType]], [10 x [15 x %typedef.BiContextType]], [10 x [5 x %typedef.BiContextType]], [10 x [5 x %typedef.BiContextType]], [10 x [15 x %typedef.BiContextType]], [10 x [15 x %typedef.BiContextType]] }
-%dec_picture = external global %struct.storable_picture* ; <%struct.storable_picture**> [#uses=1]
-%last_dquant = external global int ; <int*> [#uses=1]
+@dec_picture = external global %struct.storable_picture* ; <%struct.storable_picture**> [#uses=1]
+@last_dquant = external global i32 ; <i32*> [#uses=1]
-implementation ; Functions:
-
-void %readCBP_CABAC(%struct.syntaxelement* %se, %struct.inp_par* %inp, %struct.img_par* %img.1, %typedef.DecodingEnvironment* %dep_dp) {
+define void @readCBP_CABAC(%struct.syntaxelement* %se, %struct.inp_par* %inp, %struct.img_par* %img.1, %typedef.DecodingEnvironment* %dep_dp) {
entry:
%block_a = alloca %struct.pix_pos ; <%struct.pix_pos*> [#uses=5]
- %tmp.1 = getelementptr %struct.img_par* %img.1, int 0, uint 37 ; <%typedef.Slice**> [#uses=1]
+ %tmp.1 = getelementptr %struct.img_par* %img.1, i32 0, i32 37 ; <%typedef.Slice**> [#uses=1]
%tmp.2 = load %typedef.Slice** %tmp.1 ; <%typedef.Slice*> [#uses=1]
- %tmp.3 = getelementptr %typedef.Slice* %tmp.2, int 0, uint 11 ; <%typedef.TextureInfoContexts**> [#uses=1]
+ %tmp.3 = getelementptr %typedef.Slice* %tmp.2, i32 0, i32 11 ; <%typedef.TextureInfoContexts**> [#uses=1]
%tmp.4 = load %typedef.TextureInfoContexts** %tmp.3 ; <%typedef.TextureInfoContexts*> [#uses=3]
- %tmp.6 = getelementptr %struct.img_par* %img.1, int 0, uint 38 ; <%struct.macroblock**> [#uses=1]
+ %tmp.6 = getelementptr %struct.img_par* %img.1, i32 0, i32 38 ; <%struct.macroblock**> [#uses=1]
%tmp.7 = load %struct.macroblock** %tmp.6 ; <%struct.macroblock*> [#uses=1]
- %tmp.9 = getelementptr %struct.img_par* %img.1, int 0, uint 1 ; <uint*> [#uses=1]
- %tmp.10 = load uint* %tmp.9 ; <uint> [#uses=1]
- %tmp.11 = cast uint %tmp.10 to int ; <int> [#uses=1]
- %tmp.12 = getelementptr %struct.macroblock* %tmp.7, int %tmp.11 ; <%struct.macroblock*> [#uses=18]
+ %tmp.9 = getelementptr %struct.img_par* %img.1, i32 0, i32 1 ; <i32*> [#uses=1]
+ %tmp.10 = load i32* %tmp.9 ; <i32> [#uses=1]
+ %tmp.11 = bitcast i32 %tmp.10 to i32 ; <i32> [#uses=1]
+ %tmp.12 = getelementptr %struct.macroblock* %tmp.7, i32 %tmp.11 ; <%struct.macroblock*> [#uses=18]
br label %loopentry.0
loopentry.0: ; preds = %loopexit.1, %entry
- %mask.1 = phi int [ undef, %entry ], [ %mask.0, %loopexit.1 ] ; <int> [#uses=1]
- %cbp_bit.1 = phi int [ undef, %entry ], [ %cbp_bit.0, %loopexit.1 ] ; <int> [#uses=1]
- %cbp.2 = phi int [ 0, %entry ], [ %cbp.1, %loopexit.1 ] ; <int> [#uses=5]
- %curr_cbp_ctx.1 = phi int [ undef, %entry ], [ %curr_cbp_ctx.0, %loopexit.1 ] ; <int> [#uses=1]
- %b.2 = phi int [ undef, %entry ], [ %b.1, %loopexit.1 ] ; <int> [#uses=1]
- %a.2 = phi int [ undef, %entry ], [ %a.1, %loopexit.1 ] ; <int> [#uses=1]
- %mb_y.0 = phi int [ 0, %entry ], [ %tmp.152, %loopexit.1 ] ; <int> [#uses=7]
- %mb_x.0 = phi int [ undef, %entry ], [ %mb_x.1, %loopexit.1 ] ; <int> [#uses=0]
- %tmp.14 = setle int %mb_y.0, 3 ; <bool> [#uses=2]
- %tmp.15 = cast bool %tmp.14 to int ; <int> [#uses=0]
- br bool %tmp.14, label %no_exit.0, label %loopexit.0
+ %mask.1 = phi i32 [ undef, %entry ], [ %mask.0, %loopexit.1 ] ; <i32> [#uses=1]
+ %cbp_bit.1 = phi i32 [ undef, %entry ], [ %cbp_bit.0, %loopexit.1 ] ; <i32> [#uses=1]
+ %cbp.2 = phi i32 [ 0, %entry ], [ %cbp.1, %loopexit.1 ] ; <i32> [#uses=5]
+ %curr_cbp_ctx.1 = phi i32 [ undef, %entry ], [ %curr_cbp_ctx.0, %loopexit.1 ] ; <i32> [#uses=1]
+ %b.2 = phi i32 [ undef, %entry ], [ %b.1, %loopexit.1 ] ; <i32> [#uses=1]
+ %a.2 = phi i32 [ undef, %entry ], [ %a.1, %loopexit.1 ] ; <i32> [#uses=1]
+ %mb_y.0 = phi i32 [ 0, %entry ], [ %tmp.152, %loopexit.1 ] ; <i32> [#uses=7]
+ %mb_x.0 = phi i32 [ undef, %entry ], [ %mb_x.1, %loopexit.1 ] ; <i32> [#uses=0]
+ %tmp.14 = icmp sle i32 %mb_y.0, 3 ; <i1> [#uses=2]
+ %tmp.15 = zext i1 %tmp.14 to i32 ; <i32> [#uses=0]
+ br i1 %tmp.14, label %no_exit.0, label %loopexit.0
no_exit.0: ; preds = %loopentry.0
br label %loopentry.1
loopentry.1: ; preds = %endif.7, %no_exit.0
- %mask.0 = phi int [ %mask.1, %no_exit.0 ], [ %tmp.131, %endif.7 ] ; <int> [#uses=1]
- %cbp_bit.0 = phi int [ %cbp_bit.1, %no_exit.0 ], [ %tmp.142, %endif.7 ] ; <int> [#uses=1]
- %cbp.1 = phi int [ %cbp.2, %no_exit.0 ], [ %cbp.0, %endif.7 ] ; <int> [#uses=5]
- %curr_cbp_ctx.0 = phi int [ %curr_cbp_ctx.1, %no_exit.0 ], [ %tmp.125, %endif.7 ] ; <int> [#uses=1]
- %b.1 = phi int [ %b.2, %no_exit.0 ], [ %b.0, %endif.7 ] ; <int> [#uses=1]
- %a.1 = phi int [ %a.2, %no_exit.0 ], [ %a.0, %endif.7 ] ; <int> [#uses=1]
- %mb_x.1 = phi int [ 0, %no_exit.0 ], [ %tmp.150, %endif.7 ] ; <int> [#uses=9]
- %tmp.17 = setle int %mb_x.1, 3 ; <bool> [#uses=2]
- %tmp.18 = cast bool %tmp.17 to int ; <int> [#uses=0]
- br bool %tmp.17, label %no_exit.1, label %loopexit.1
+ %mask.0 = phi i32 [ %mask.1, %no_exit.0 ], [ %tmp.131, %endif.7 ] ; <i32> [#uses=1]
+ %cbp_bit.0 = phi i32 [ %cbp_bit.1, %no_exit.0 ], [ %tmp.142, %endif.7 ] ; <i32> [#uses=1]
+ %cbp.1 = phi i32 [ %cbp.2, %no_exit.0 ], [ %cbp.0, %endif.7 ] ; <i32> [#uses=5]
+ %curr_cbp_ctx.0 = phi i32 [ %curr_cbp_ctx.1, %no_exit.0 ], [ %tmp.125, %endif.7 ] ; <i32> [#uses=1]
+ %b.1 = phi i32 [ %b.2, %no_exit.0 ], [ %b.0, %endif.7 ] ; <i32> [#uses=1]
+ %a.1 = phi i32 [ %a.2, %no_exit.0 ], [ %a.0, %endif.7 ] ; <i32> [#uses=1]
+ %mb_x.1 = phi i32 [ 0, %no_exit.0 ], [ %tmp.150, %endif.7 ] ; <i32> [#uses=9]
+ %tmp.17 = icmp sle i32 %mb_x.1, 3 ; <i1> [#uses=2]
+ %tmp.18 = zext i1 %tmp.17 to i32 ; <i32> [#uses=0]
+ br i1 %tmp.17, label %no_exit.1, label %loopexit.1
no_exit.1: ; preds = %loopentry.1
- %tmp.20 = getelementptr %struct.macroblock* %tmp.12, int 0, uint 12 ; <[4 x int]*> [#uses=1]
- %tmp.22 = div int %mb_x.1, 2 ; <int> [#uses=1]
- %tmp.24 = add int %tmp.22, %mb_y.0 ; <int> [#uses=1]
- %tmp.25 = getelementptr [4 x int]* %tmp.20, int 0, int %tmp.24 ; <int*> [#uses=1]
- %tmp.26 = load int* %tmp.25 ; <int> [#uses=1]
- %tmp.27 = seteq int %tmp.26, 11 ; <bool> [#uses=2]
- %tmp.28 = cast bool %tmp.27 to int ; <int> [#uses=0]
- br bool %tmp.27, label %then.0, label %else.0
+ %tmp.20 = getelementptr %struct.macroblock* %tmp.12, i32 0, i32 12 ; <[4 x i32]*> [#uses=1]
+ %tmp.22 = sdiv i32 %mb_x.1, 2 ; <i32> [#uses=1]
+ %tmp.24 = add i32 %tmp.22, %mb_y.0 ; <i32> [#uses=1]
+ %tmp.25 = getelementptr [4 x i32]* %tmp.20, i32 0, i32 %tmp.24 ; <i32*> [#uses=1]
+ %tmp.26 = load i32* %tmp.25 ; <i32> [#uses=1]
+ %tmp.27 = icmp eq i32 %tmp.26, 11 ; <i1> [#uses=2]
+ %tmp.28 = zext i1 %tmp.27 to i32 ; <i32> [#uses=0]
+ br i1 %tmp.27, label %then.0, label %else.0
then.0: ; preds = %no_exit.1
br label %endif.0
@@ -81,362 +77,367 @@ else.0: ; preds = %no_exit.1
br label %endif.0
endif.0: ; preds = %else.0, %then.0
- %tmp.30 = seteq int %mb_y.0, 0 ; <bool> [#uses=2]
- %tmp.31 = cast bool %tmp.30 to int ; <int> [#uses=0]
- br bool %tmp.30, label %then.1, label %else.1
+ %tmp.30 = icmp eq i32 %mb_y.0, 0 ; <i1> [#uses=2]
+ %tmp.31 = zext i1 %tmp.30 to i32 ; <i32> [#uses=0]
+ br i1 %tmp.30, label %then.1, label %else.1
then.1: ; preds = %endif.0
- %tmp.33 = getelementptr %struct.macroblock* %tmp.12, int 0, uint 3 ; <%struct.macroblock**> [#uses=1]
+ %tmp.33 = getelementptr %struct.macroblock* %tmp.12, i32 0, i32 3 ; <%struct.macroblock**> [#uses=1]
%tmp.34 = load %struct.macroblock** %tmp.33 ; <%struct.macroblock*> [#uses=1]
- %tmp.35 = cast %struct.macroblock* %tmp.34 to sbyte* ; <sbyte*> [#uses=1]
- %tmp.36 = seteq sbyte* %tmp.35, null ; <bool> [#uses=2]
- %tmp.37 = cast bool %tmp.36 to int ; <int> [#uses=0]
- br bool %tmp.36, label %then.2, label %else.2
+ %tmp.35 = bitcast %struct.macroblock* %tmp.34 to i8* ; <i8*> [#uses=1]
+ %tmp.36 = icmp eq i8* %tmp.35, null ; <i1> [#uses=2]
+ %tmp.37 = zext i1 %tmp.36 to i32 ; <i32> [#uses=0]
+ br i1 %tmp.36, label %then.2, label %else.2
then.2: ; preds = %then.1
br label %endif.1
else.2: ; preds = %then.1
- %tmp.39 = getelementptr %struct.macroblock* %tmp.12, int 0, uint 3 ; <%struct.macroblock**> [#uses=1]
+ %tmp.39 = getelementptr %struct.macroblock* %tmp.12, i32 0, i32 3 ; <%struct.macroblock**> [#uses=1]
%tmp.40 = load %struct.macroblock** %tmp.39 ; <%struct.macroblock*> [#uses=1]
- %tmp.41 = getelementptr %struct.macroblock* %tmp.40, int 0, uint 5 ; <int*> [#uses=1]
- %tmp.42 = load int* %tmp.41 ; <int> [#uses=1]
- %tmp.43 = seteq int %tmp.42, 14 ; <bool> [#uses=2]
- %tmp.44 = cast bool %tmp.43 to int ; <int> [#uses=0]
- br bool %tmp.43, label %then.3, label %else.3
+ %tmp.41 = getelementptr %struct.macroblock* %tmp.40, i32 0, i32 5 ; <i32*> [#uses=1]
+ %tmp.42 = load i32* %tmp.41 ; <i32> [#uses=1]
+ %tmp.43 = icmp eq i32 %tmp.42, 14 ; <i1> [#uses=2]
+ %tmp.44 = zext i1 %tmp.43 to i32 ; <i32> [#uses=0]
+ br i1 %tmp.43, label %then.3, label %else.3
then.3: ; preds = %else.2
br label %endif.1
else.3: ; preds = %else.2
- %tmp.46 = getelementptr %struct.macroblock* %tmp.12, int 0, uint 3 ; <%struct.macroblock**> [#uses=1]
+ %tmp.46 = getelementptr %struct.macroblock* %tmp.12, i32 0, i32 3 ; <%struct.macroblock**> [#uses=1]
%tmp.47 = load %struct.macroblock** %tmp.46 ; <%struct.macroblock*> [#uses=1]
- %tmp.48 = getelementptr %struct.macroblock* %tmp.47, int 0, uint 7 ; <int*> [#uses=1]
- %tmp.49 = load int* %tmp.48 ; <int> [#uses=1]
- %tmp.51 = div int %mb_x.1, 2 ; <int> [#uses=1]
- %tmp.52 = add int %tmp.51, 2 ; <int> [#uses=1]
- %tmp.53 = cast int %tmp.52 to ubyte ; <ubyte> [#uses=1]
- %tmp.54 = shr int %tmp.49, ubyte %tmp.53 ; <int> [#uses=1]
- %tmp.55 = cast int %tmp.54 to uint ; <uint> [#uses=1]
- %tmp.57 = xor uint %tmp.55, 1 ; <uint> [#uses=1]
- %tmp.58 = cast uint %tmp.57 to int ; <int> [#uses=1]
- %tmp.59 = and int %tmp.58, 1 ; <int> [#uses=1]
+ %tmp.48 = getelementptr %struct.macroblock* %tmp.47, i32 0, i32 7 ; <i32*> [#uses=1]
+ %tmp.49 = load i32* %tmp.48 ; <i32> [#uses=1]
+ %tmp.51 = sdiv i32 %mb_x.1, 2 ; <i32> [#uses=1]
+ %tmp.52 = add i32 %tmp.51, 2 ; <i32> [#uses=1]
+ %tmp.53 = trunc i32 %tmp.52 to i8 ; <i8> [#uses=1]
+ %shift.upgrd.1 = zext i8 %tmp.53 to i32 ; <i32> [#uses=1]
+ %tmp.54 = ashr i32 %tmp.49, %shift.upgrd.1 ; <i32> [#uses=1]
+ %tmp.55 = bitcast i32 %tmp.54 to i32 ; <i32> [#uses=1]
+ %tmp.57 = xor i32 %tmp.55, 1 ; <i32> [#uses=1]
+ %tmp.58 = bitcast i32 %tmp.57 to i32 ; <i32> [#uses=1]
+ %tmp.59 = and i32 %tmp.58, 1 ; <i32> [#uses=1]
br label %endif.1
else.1: ; preds = %endif.0
- %tmp.62 = div int %mb_x.1, 2 ; <int> [#uses=1]
- %tmp.63 = cast int %tmp.62 to ubyte ; <ubyte> [#uses=1]
- %tmp.64 = shr int %cbp.1, ubyte %tmp.63 ; <int> [#uses=1]
- %tmp.65 = cast int %tmp.64 to uint ; <uint> [#uses=1]
- %tmp.67 = xor uint %tmp.65, 1 ; <uint> [#uses=1]
- %tmp.68 = cast uint %tmp.67 to int ; <int> [#uses=1]
- %tmp.69 = and int %tmp.68, 1 ; <int> [#uses=1]
+ %tmp.62 = sdiv i32 %mb_x.1, 2 ; <i32> [#uses=1]
+ %tmp.63 = trunc i32 %tmp.62 to i8 ; <i8> [#uses=1]
+ %shift.upgrd.2 = zext i8 %tmp.63 to i32 ; <i32> [#uses=1]
+ %tmp.64 = ashr i32 %cbp.1, %shift.upgrd.2 ; <i32> [#uses=1]
+ %tmp.65 = bitcast i32 %tmp.64 to i32 ; <i32> [#uses=1]
+ %tmp.67 = xor i32 %tmp.65, 1 ; <i32> [#uses=1]
+ %tmp.68 = bitcast i32 %tmp.67 to i32 ; <i32> [#uses=1]
+ %tmp.69 = and i32 %tmp.68, 1 ; <i32> [#uses=1]
br label %endif.1
endif.1: ; preds = %else.1, %else.3, %then.3, %then.2
- %b.0 = phi int [ 0, %then.2 ], [ 0, %then.3 ], [ %tmp.59, %else.3 ], [ %tmp.69, %else.1 ] ; <int> [#uses=2]
- %tmp.71 = seteq int %mb_x.1, 0 ; <bool> [#uses=2]
- %tmp.72 = cast bool %tmp.71 to int ; <int> [#uses=0]
- br bool %tmp.71, label %then.4, label %else.4
+ %b.0 = phi i32 [ 0, %then.2 ], [ 0, %then.3 ], [ %tmp.59, %else.3 ], [ %tmp.69, %else.1 ] ; <i32> [#uses=2]
+ %tmp.71 = icmp eq i32 %mb_x.1, 0 ; <i1> [#uses=2]
+ %tmp.72 = zext i1 %tmp.71 to i32 ; <i32> [#uses=0]
+ br i1 %tmp.71, label %then.4, label %else.4
then.4: ; preds = %endif.1
- %tmp.74 = getelementptr %struct.img_par* %img.1, int 0, uint 1 ; <uint*> [#uses=1]
- %tmp.75 = load uint* %tmp.74 ; <uint> [#uses=1]
- %tmp.76 = cast uint %tmp.75 to int ; <int> [#uses=1]
- call void %getLuma4x4Neighbour( int %tmp.76, int %mb_x.1, int %mb_y.0, int -1, int 0, %struct.pix_pos* %block_a )
- %tmp.79 = getelementptr %struct.pix_pos* %block_a, int 0, uint 0 ; <int*> [#uses=1]
- %tmp.80 = load int* %tmp.79 ; <int> [#uses=1]
- %tmp.81 = setne int %tmp.80, 0 ; <bool> [#uses=2]
- %tmp.82 = cast bool %tmp.81 to int ; <int> [#uses=0]
- br bool %tmp.81, label %then.5, label %else.5
+ %tmp.74 = getelementptr %struct.img_par* %img.1, i32 0, i32 1 ; <i32*> [#uses=1]
+ %tmp.75 = load i32* %tmp.74 ; <i32> [#uses=1]
+ %tmp.76 = bitcast i32 %tmp.75 to i32 ; <i32> [#uses=1]
+ call void @getLuma4x4Neighbour( i32 %tmp.76, i32 %mb_x.1, i32 %mb_y.0, i32 -1, i32 0, %struct.pix_pos* %block_a )
+ %tmp.79 = getelementptr %struct.pix_pos* %block_a, i32 0, i32 0 ; <i32*> [#uses=1]
+ %tmp.80 = load i32* %tmp.79 ; <i32> [#uses=1]
+ %tmp.81 = icmp ne i32 %tmp.80, 0 ; <i1> [#uses=2]
+ %tmp.82 = zext i1 %tmp.81 to i32 ; <i32> [#uses=0]
+ br i1 %tmp.81, label %then.5, label %else.5
then.5: ; preds = %then.4
- %tmp.84 = getelementptr %struct.img_par* %img.1, int 0, uint 38 ; <%struct.macroblock**> [#uses=1]
+ %tmp.84 = getelementptr %struct.img_par* %img.1, i32 0, i32 38 ; <%struct.macroblock**> [#uses=1]
%tmp.85 = load %struct.macroblock** %tmp.84 ; <%struct.macroblock*> [#uses=1]
- %tmp.86 = getelementptr %struct.pix_pos* %block_a, int 0, uint 1 ; <int*> [#uses=1]
- %tmp.87 = load int* %tmp.86 ; <int> [#uses=1]
- %tmp.88 = getelementptr %struct.macroblock* %tmp.85, int %tmp.87 ; <%struct.macroblock*> [#uses=1]
- %tmp.89 = getelementptr %struct.macroblock* %tmp.88, int 0, uint 5 ; <int*> [#uses=1]
- %tmp.90 = load int* %tmp.89 ; <int> [#uses=1]
- %tmp.91 = seteq int %tmp.90, 14 ; <bool> [#uses=2]
- %tmp.92 = cast bool %tmp.91 to int ; <int> [#uses=0]
- br bool %tmp.91, label %then.6, label %else.6
+ %tmp.86 = getelementptr %struct.pix_pos* %block_a, i32 0, i32 1 ; <i32*> [#uses=1]
+ %tmp.87 = load i32* %tmp.86 ; <i32> [#uses=1]
+ %tmp.88 = getelementptr %struct.macroblock* %tmp.85, i32 %tmp.87 ; <%struct.macroblock*> [#uses=1]
+ %tmp.89 = getelementptr %struct.macroblock* %tmp.88, i32 0, i32 5 ; <i32*> [#uses=1]
+ %tmp.90 = load i32* %tmp.89 ; <i32> [#uses=1]
+ %tmp.91 = icmp eq i32 %tmp.90, 14 ; <i1> [#uses=2]
+ %tmp.92 = zext i1 %tmp.91 to i32 ; <i32> [#uses=0]
+ br i1 %tmp.91, label %then.6, label %else.6
then.6: ; preds = %then.5
br label %endif.4
else.6: ; preds = %then.5
- %tmp.94 = getelementptr %struct.img_par* %img.1, int 0, uint 38 ; <%struct.macroblock**> [#uses=1]
+ %tmp.94 = getelementptr %struct.img_par* %img.1, i32 0, i32 38 ; <%struct.macroblock**> [#uses=1]
%tmp.95 = load %struct.macroblock** %tmp.94 ; <%struct.macroblock*> [#uses=1]
- %tmp.96 = getelementptr %struct.pix_pos* %block_a, int 0, uint 1 ; <int*> [#uses=1]
- %tmp.97 = load int* %tmp.96 ; <int> [#uses=1]
- %tmp.98 = getelementptr %struct.macroblock* %tmp.95, int %tmp.97 ; <%struct.macroblock*> [#uses=1]
- %tmp.99 = getelementptr %struct.macroblock* %tmp.98, int 0, uint 7 ; <int*> [#uses=1]
- %tmp.100 = load int* %tmp.99 ; <int> [#uses=1]
- %tmp.101 = getelementptr %struct.pix_pos* %block_a, int 0, uint 3 ; <int*> [#uses=1]
- %tmp.102 = load int* %tmp.101 ; <int> [#uses=1]
- %tmp.103 = div int %tmp.102, 2 ; <int> [#uses=1]
- %tmp.104 = mul int %tmp.103, 2 ; <int> [#uses=1]
- %tmp.105 = add int %tmp.104, 1 ; <int> [#uses=1]
- %tmp.106 = cast int %tmp.105 to ubyte ; <ubyte> [#uses=1]
- %tmp.107 = shr int %tmp.100, ubyte %tmp.106 ; <int> [#uses=1]
- %tmp.108 = cast int %tmp.107 to uint ; <uint> [#uses=1]
- %tmp.110 = xor uint %tmp.108, 1 ; <uint> [#uses=1]
- %tmp.111 = cast uint %tmp.110 to int ; <int> [#uses=1]
- %tmp.112 = and int %tmp.111, 1 ; <int> [#uses=1]
+ %tmp.96 = getelementptr %struct.pix_pos* %block_a, i32 0, i32 1 ; <i32*> [#uses=1]
+ %tmp.97 = load i32* %tmp.96 ; <i32> [#uses=1]
+ %tmp.98 = getelementptr %struct.macroblock* %tmp.95, i32 %tmp.97 ; <%struct.macroblock*> [#uses=1]
+ %tmp.99 = getelementptr %struct.macroblock* %tmp.98, i32 0, i32 7 ; <i32*> [#uses=1]
+ %tmp.100 = load i32* %tmp.99 ; <i32> [#uses=1]
+ %tmp.101 = getelementptr %struct.pix_pos* %block_a, i32 0, i32 3 ; <i32*> [#uses=1]
+ %tmp.102 = load i32* %tmp.101 ; <i32> [#uses=1]
+ %tmp.103 = sdiv i32 %tmp.102, 2 ; <i32> [#uses=1]
+ %tmp.104 = mul i32 %tmp.103, 2 ; <i32> [#uses=1]
+ %tmp.105 = add i32 %tmp.104, 1 ; <i32> [#uses=1]
+ %tmp.106 = trunc i32 %tmp.105 to i8 ; <i8> [#uses=1]
+ %shift.upgrd.3 = zext i8 %tmp.106 to i32 ; <i32> [#uses=1]
+ %tmp.107 = ashr i32 %tmp.100, %shift.upgrd.3 ; <i32> [#uses=1]
+ %tmp.108 = bitcast i32 %tmp.107 to i32 ; <i32> [#uses=1]
+ %tmp.110 = xor i32 %tmp.108, 1 ; <i32> [#uses=1]
+ %tmp.111 = bitcast i32 %tmp.110 to i32 ; <i32> [#uses=1]
+ %tmp.112 = and i32 %tmp.111, 1 ; <i32> [#uses=1]
br label %endif.4
else.5: ; preds = %then.4
br label %endif.4
else.4: ; preds = %endif.1
- %tmp.115 = cast int %mb_y.0 to ubyte ; <ubyte> [#uses=1]
- %tmp.116 = shr int %cbp.1, ubyte %tmp.115 ; <int> [#uses=1]
- %tmp.117 = cast int %tmp.116 to uint ; <uint> [#uses=1]
- %tmp.119 = xor uint %tmp.117, 1 ; <uint> [#uses=1]
- %tmp.120 = cast uint %tmp.119 to int ; <int> [#uses=1]
- %tmp.121 = and int %tmp.120, 1 ; <int> [#uses=1]
+ %tmp.115 = trunc i32 %mb_y.0 to i8 ; <i8> [#uses=1]
+ %shift.upgrd.4 = zext i8 %tmp.115 to i32 ; <i32> [#uses=1]
+ %tmp.116 = ashr i32 %cbp.1, %shift.upgrd.4 ; <i32> [#uses=1]
+ %tmp.117 = bitcast i32 %tmp.116 to i32 ; <i32> [#uses=1]
+ %tmp.119 = xor i32 %tmp.117, 1 ; <i32> [#uses=1]
+ %tmp.120 = bitcast i32 %tmp.119 to i32 ; <i32> [#uses=1]
+ %tmp.121 = and i32 %tmp.120, 1 ; <i32> [#uses=1]
br label %endif.4
endif.4: ; preds = %else.4, %else.5, %else.6, %then.6
- %a.0 = phi int [ 0, %then.6 ], [ %tmp.112, %else.6 ], [ 0, %else.5 ], [ %tmp.121, %else.4 ] ; <int> [#uses=2]
- %tmp.123 = mul int %b.0, 2 ; <int> [#uses=1]
- %tmp.125 = add int %tmp.123, %a.0 ; <int> [#uses=2]
- %tmp.127 = div int %mb_x.1, 2 ; <int> [#uses=1]
- %tmp.129 = add int %tmp.127, %mb_y.0 ; <int> [#uses=1]
- %tmp.130 = cast int %tmp.129 to ubyte ; <ubyte> [#uses=1]
- %tmp.131 = shl int 1, ubyte %tmp.130 ; <int> [#uses=2]
- %tmp.135 = getelementptr %typedef.TextureInfoContexts* %tmp.4, int 0, uint 2 ; <[3 x [4 x %typedef.BiContextType]]*> [#uses=1]
- %tmp.136 = getelementptr [3 x [4 x %typedef.BiContextType]]* %tmp.135, int 0, int 0 ; <[4 x %typedef.BiContextType]*> [#uses=1]
- %tmp.137 = getelementptr [4 x %typedef.BiContextType]* %tmp.136, int 0, int 0 ; <%typedef.BiContextType*> [#uses=1]
- %tmp.139 = cast int %tmp.125 to uint ; <uint> [#uses=1]
- %tmp.140 = cast uint %tmp.139 to int ; <int> [#uses=1]
- %tmp.141 = getelementptr %typedef.BiContextType* %tmp.137, int %tmp.140 ; <%typedef.BiContextType*> [#uses=1]
- %tmp.132 = call uint %biari_decode_symbol( %typedef.DecodingEnvironment* %dep_dp, %typedef.BiContextType* %tmp.141 ) ; <uint> [#uses=1]
- %tmp.142 = cast uint %tmp.132 to int ; <int> [#uses=2]
- %tmp.144 = setne int %tmp.142, 0 ; <bool> [#uses=2]
- %tmp.145 = cast bool %tmp.144 to int ; <int> [#uses=0]
- br bool %tmp.144, label %then.7, label %endif.7
+ %a.0 = phi i32 [ 0, %then.6 ], [ %tmp.112, %else.6 ], [ 0, %else.5 ], [ %tmp.121, %else.4 ] ; <i32> [#uses=2]
+ %tmp.123 = mul i32 %b.0, 2 ; <i32> [#uses=1]
+ %tmp.125 = add i32 %tmp.123, %a.0 ; <i32> [#uses=2]
+ %tmp.127 = sdiv i32 %mb_x.1, 2 ; <i32> [#uses=1]
+ %tmp.129 = add i32 %tmp.127, %mb_y.0 ; <i32> [#uses=1]
+ %tmp.130 = trunc i32 %tmp.129 to i8 ; <i8> [#uses=1]
+ %shift.upgrd.5 = zext i8 %tmp.130 to i32 ; <i32> [#uses=1]
+ %tmp.131 = shl i32 1, %shift.upgrd.5 ; <i32> [#uses=2]
+ %tmp.135 = getelementptr %typedef.TextureInfoContexts* %tmp.4, i32 0, i32 2 ; <[3 x [4 x %typedef.BiContextType]]*> [#uses=1]
+ %tmp.136 = getelementptr [3 x [4 x %typedef.BiContextType]]* %tmp.135, i32 0, i32 0 ; <[4 x %typedef.BiContextType]*> [#uses=1]
+ %tmp.137 = getelementptr [4 x %typedef.BiContextType]* %tmp.136, i32 0, i32 0 ; <%typedef.BiContextType*> [#uses=1]
+ %tmp.139 = bitcast i32 %tmp.125 to i32 ; <i32> [#uses=1]
+ %tmp.140 = bitcast i32 %tmp.139 to i32 ; <i32> [#uses=1]
+ %tmp.141 = getelementptr %typedef.BiContextType* %tmp.137, i32 %tmp.140 ; <%typedef.BiContextType*> [#uses=1]
+ %tmp.132 = call i32 @biari_decode_symbol( %typedef.DecodingEnvironment* %dep_dp, %typedef.BiContextType* %tmp.141 ) ; <i32> [#uses=1]
+ %tmp.142 = bitcast i32 %tmp.132 to i32 ; <i32> [#uses=2]
+ %tmp.144 = icmp ne i32 %tmp.142, 0 ; <i1> [#uses=2]
+ %tmp.145 = zext i1 %tmp.144 to i32 ; <i32> [#uses=0]
+ br i1 %tmp.144, label %then.7, label %endif.7
then.7: ; preds = %endif.4
- %tmp.148 = add int %cbp.1, %tmp.131 ; <int> [#uses=1]
+ %tmp.148 = add i32 %cbp.1, %tmp.131 ; <i32> [#uses=1]
br label %endif.7
endif.7: ; preds = %then.7, %endif.4
- %cbp.0 = phi int [ %tmp.148, %then.7 ], [ %cbp.1, %endif.4 ] ; <int> [#uses=1]
- %tmp.150 = add int %mb_x.1, 2 ; <int> [#uses=1]
+ %cbp.0 = phi i32 [ %tmp.148, %then.7 ], [ %cbp.1, %endif.4 ] ; <i32> [#uses=1]
+ %tmp.150 = add i32 %mb_x.1, 2 ; <i32> [#uses=1]
br label %loopentry.1
loopexit.1: ; preds = %loopentry.1
- %tmp.152 = add int %mb_y.0, 2 ; <int> [#uses=1]
+ %tmp.152 = add i32 %mb_y.0, 2 ; <i32> [#uses=1]
br label %loopentry.0
loopexit.0: ; preds = %loopentry.0
- %tmp.153 = load %struct.storable_picture** %dec_picture ; <%struct.storable_picture*> [#uses=1]
- %tmp.154 = getelementptr %struct.storable_picture* %tmp.153, int 0, uint 45 ; <int*> [#uses=1]
- %tmp.155 = load int* %tmp.154 ; <int> [#uses=1]
- %tmp.156 = setne int %tmp.155, 0 ; <bool> [#uses=2]
- %tmp.157 = cast bool %tmp.156 to int ; <int> [#uses=0]
- br bool %tmp.156, label %then.8, label %endif.8
+ %tmp.153 = load %struct.storable_picture** @dec_picture ; <%struct.storable_picture*> [#uses=1]
+ %tmp.154 = getelementptr %struct.storable_picture* %tmp.153, i32 0, i32 45 ; <i32*> [#uses=1]
+ %tmp.155 = load i32* %tmp.154 ; <i32> [#uses=1]
+ %tmp.156 = icmp ne i32 %tmp.155, 0 ; <i1> [#uses=2]
+ %tmp.157 = zext i1 %tmp.156 to i32 ; <i32> [#uses=0]
+ br i1 %tmp.156, label %then.8, label %endif.8
then.8: ; preds = %loopexit.0
- %tmp.159 = getelementptr %struct.macroblock* %tmp.12, int 0, uint 3 ; <%struct.macroblock**> [#uses=1]
+ %tmp.159 = getelementptr %struct.macroblock* %tmp.12, i32 0, i32 3 ; <%struct.macroblock**> [#uses=1]
%tmp.160 = load %struct.macroblock** %tmp.159 ; <%struct.macroblock*> [#uses=1]
- %tmp.161 = cast %struct.macroblock* %tmp.160 to sbyte* ; <sbyte*> [#uses=1]
- %tmp.162 = setne sbyte* %tmp.161, null ; <bool> [#uses=2]
- %tmp.163 = cast bool %tmp.162 to int ; <int> [#uses=0]
- br bool %tmp.162, label %then.9, label %endif.9
+ %tmp.161 = bitcast %struct.macroblock* %tmp.160 to i8* ; <i8*> [#uses=1]
+ %tmp.162 = icmp ne i8* %tmp.161, null ; <i1> [#uses=2]
+ %tmp.163 = zext i1 %tmp.162 to i32 ; <i32> [#uses=0]
+ br i1 %tmp.162, label %then.9, label %endif.9
then.9: ; preds = %then.8
- %tmp.165 = getelementptr %struct.macroblock* %tmp.12, int 0, uint 3 ; <%struct.macroblock**> [#uses=1]
+ %tmp.165 = getelementptr %struct.macroblock* %tmp.12, i32 0, i32 3 ; <%struct.macroblock**> [#uses=1]
%tmp.166 = load %struct.macroblock** %tmp.165 ; <%struct.macroblock*> [#uses=1]
- %tmp.167 = getelementptr %struct.macroblock* %tmp.166, int 0, uint 5 ; <int*> [#uses=1]
- %tmp.168 = load int* %tmp.167 ; <int> [#uses=1]
- %tmp.169 = seteq int %tmp.168, 14 ; <bool> [#uses=2]
- %tmp.170 = cast bool %tmp.169 to int ; <int> [#uses=0]
- br bool %tmp.169, label %then.10, label %else.7
+ %tmp.167 = getelementptr %struct.macroblock* %tmp.166, i32 0, i32 5 ; <i32*> [#uses=1]
+ %tmp.168 = load i32* %tmp.167 ; <i32> [#uses=1]
+ %tmp.169 = icmp eq i32 %tmp.168, 14 ; <i1> [#uses=2]
+ %tmp.170 = zext i1 %tmp.169 to i32 ; <i32> [#uses=0]
+ br i1 %tmp.169, label %then.10, label %else.7
then.10: ; preds = %then.9
br label %endif.9
else.7: ; preds = %then.9
- %tmp.172 = getelementptr %struct.macroblock* %tmp.12, int 0, uint 3 ; <%struct.macroblock**> [#uses=1]
+ %tmp.172 = getelementptr %struct.macroblock* %tmp.12, i32 0, i32 3 ; <%struct.macroblock**> [#uses=1]
%tmp.173 = load %struct.macroblock** %tmp.172 ; <%struct.macroblock*> [#uses=1]
- %tmp.174 = getelementptr %struct.macroblock* %tmp.173, int 0, uint 7 ; <int*> [#uses=1]
- %tmp.175 = load int* %tmp.174 ; <int> [#uses=1]
- %tmp.176 = setgt int %tmp.175, 15 ; <bool> [#uses=1]
- %tmp.177 = cast bool %tmp.176 to int ; <int> [#uses=1]
+ %tmp.174 = getelementptr %struct.macroblock* %tmp.173, i32 0, i32 7 ; <i32*> [#uses=1]
+ %tmp.175 = load i32* %tmp.174 ; <i32> [#uses=1]
+ %tmp.176 = icmp sgt i32 %tmp.175, 15 ; <i1> [#uses=1]
+ %tmp.177 = zext i1 %tmp.176 to i32 ; <i32> [#uses=1]
br label %endif.9
endif.9: ; preds = %else.7, %then.10, %then.8
- %b.4 = phi int [ 1, %then.10 ], [ %tmp.177, %else.7 ], [ 0, %then.8 ] ; <int> [#uses=1]
- %tmp.179 = getelementptr %struct.macroblock* %tmp.12, int 0, uint 4 ; <%struct.macroblock**> [#uses=1]
+ %b.4 = phi i32 [ 1, %then.10 ], [ %tmp.177, %else.7 ], [ 0, %then.8 ] ; <i32> [#uses=1]
+ %tmp.179 = getelementptr %struct.macroblock* %tmp.12, i32 0, i32 4 ; <%struct.macroblock**> [#uses=1]
%tmp.180 = load %struct.macroblock** %tmp.179 ; <%struct.macroblock*> [#uses=1]
- %tmp.181 = cast %struct.macroblock* %tmp.180 to sbyte* ; <sbyte*> [#uses=1]
- %tmp.182 = setne sbyte* %tmp.181, null ; <bool> [#uses=2]
- %tmp.183 = cast bool %tmp.182 to int ; <int> [#uses=0]
- br bool %tmp.182, label %then.11, label %endif.11
+ %tmp.181 = bitcast %struct.macroblock* %tmp.180 to i8* ; <i8*> [#uses=1]
+ %tmp.182 = icmp ne i8* %tmp.181, null ; <i1> [#uses=2]
+ %tmp.183 = zext i1 %tmp.182 to i32 ; <i32> [#uses=0]
+ br i1 %tmp.182, label %then.11, label %endif.11
then.11: ; preds = %endif.9
- %tmp.185 = getelementptr %struct.macroblock* %tmp.12, int 0, uint 4 ; <%struct.macroblock**> [#uses=1]
+ %tmp.185 = getelementptr %struct.macroblock* %tmp.12, i32 0, i32 4 ; <%struct.macroblock**> [#uses=1]
%tmp.186 = load %struct.macroblock** %tmp.185 ; <%struct.macroblock*> [#uses=1]
- %tmp.187 = getelementptr %struct.macroblock* %tmp.186, int 0, uint 5 ; <int*> [#uses=1]
- %tmp.188 = load int* %tmp.187 ; <int> [#uses=1]
- %tmp.189 = seteq int %tmp.188, 14 ; <bool> [#uses=2]
- %tmp.190 = cast bool %tmp.189 to int ; <int> [#uses=0]
- br bool %tmp.189, label %then.12, label %else.8
+ %tmp.187 = getelementptr %struct.macroblock* %tmp.186, i32 0, i32 5 ; <i32*> [#uses=1]
+ %tmp.188 = load i32* %tmp.187 ; <i32> [#uses=1]
+ %tmp.189 = icmp eq i32 %tmp.188, 14 ; <i1> [#uses=2]
+ %tmp.190 = zext i1 %tmp.189 to i32 ; <i32> [#uses=0]
+ br i1 %tmp.189, label %then.12, label %else.8
then.12: ; preds = %then.11
br label %endif.11
else.8: ; preds = %then.11
- %tmp.192 = getelementptr %struct.macroblock* %tmp.12, int 0, uint 4 ; <%struct.macroblock**> [#uses=1]
+ %tmp.192 = getelementptr %struct.macroblock* %tmp.12, i32 0, i32 4 ; <%struct.macroblock**> [#uses=1]
%tmp.193 = load %struct.macroblock** %tmp.192 ; <%struct.macroblock*> [#uses=1]
- %tmp.194 = getelementptr %struct.macroblock* %tmp.193, int 0, uint 7 ; <int*> [#uses=1]
- %tmp.195 = load int* %tmp.194 ; <int> [#uses=1]
- %tmp.196 = setgt int %tmp.195, 15 ; <bool> [#uses=1]
- %tmp.197 = cast bool %tmp.196 to int ; <int> [#uses=1]
+ %tmp.194 = getelementptr %struct.macroblock* %tmp.193, i32 0, i32 7 ; <i32*> [#uses=1]
+ %tmp.195 = load i32* %tmp.194 ; <i32> [#uses=1]
+ %tmp.196 = icmp sgt i32 %tmp.195, 15 ; <i1> [#uses=1]
+ %tmp.197 = zext i1 %tmp.196 to i32 ; <i32> [#uses=1]
br label %endif.11
endif.11: ; preds = %else.8, %then.12, %endif.9
- %a.4 = phi int [ 1, %then.12 ], [ %tmp.197, %else.8 ], [ 0, %endif.9 ] ; <int> [#uses=1]
- %tmp.199 = mul int %b.4, 2 ; <int> [#uses=1]
- %tmp.201 = add int %tmp.199, %a.4 ; <int> [#uses=1]
- %tmp.205 = getelementptr %typedef.TextureInfoContexts* %tmp.4, int 0, uint 2 ; <[3 x [4 x %typedef.BiContextType]]*> [#uses=1]
- %tmp.206 = getelementptr [3 x [4 x %typedef.BiContextType]]* %tmp.205, int 0, int 1 ; <[4 x %typedef.BiContextType]*> [#uses=1]
- %tmp.207 = getelementptr [4 x %typedef.BiContextType]* %tmp.206, int 0, int 0 ; <%typedef.BiContextType*> [#uses=1]
- %tmp.209 = cast int %tmp.201 to uint ; <uint> [#uses=1]
- %tmp.210 = cast uint %tmp.209 to int ; <int> [#uses=1]
- %tmp.211 = getelementptr %typedef.BiContextType* %tmp.207, int %tmp.210 ; <%typedef.BiContextType*> [#uses=1]
- %tmp.202 = call uint %biari_decode_symbol( %typedef.DecodingEnvironment* %dep_dp, %typedef.BiContextType* %tmp.211 ) ; <uint> [#uses=1]
- %tmp.212 = cast uint %tmp.202 to int ; <int> [#uses=1]
- %tmp.214 = setne int %tmp.212, 0 ; <bool> [#uses=2]
- %tmp.215 = cast bool %tmp.214 to int ; <int> [#uses=0]
- br bool %tmp.214, label %then.13, label %endif.8
+ %a.4 = phi i32 [ 1, %then.12 ], [ %tmp.197, %else.8 ], [ 0, %endif.9 ] ; <i32> [#uses=1]
+ %tmp.199 = mul i32 %b.4, 2 ; <i32> [#uses=1]
+ %tmp.201 = add i32 %tmp.199, %a.4 ; <i32> [#uses=1]
+ %tmp.205 = getelementptr %typedef.TextureInfoContexts* %tmp.4, i32 0, i32 2 ; <[3 x [4 x %typedef.BiContextType]]*> [#uses=1]
+ %tmp.206 = getelementptr [3 x [4 x %typedef.BiContextType]]* %tmp.205, i32 0, i32 1 ; <[4 x %typedef.BiContextType]*> [#uses=1]
+ %tmp.207 = getelementptr [4 x %typedef.BiContextType]* %tmp.206, i32 0, i32 0 ; <%typedef.BiContextType*> [#uses=1]
+ %tmp.209 = bitcast i32 %tmp.201 to i32 ; <i32> [#uses=1]
+ %tmp.210 = bitcast i32 %tmp.209 to i32 ; <i32> [#uses=1]
+ %tmp.211 = getelementptr %typedef.BiContextType* %tmp.207, i32 %tmp.210 ; <%typedef.BiContextType*> [#uses=1]
+ %tmp.202 = call i32 @biari_decode_symbol( %typedef.DecodingEnvironment* %dep_dp, %typedef.BiContextType* %tmp.211 ) ; <i32> [#uses=1]
+ %tmp.212 = bitcast i32 %tmp.202 to i32 ; <i32> [#uses=1]
+ %tmp.214 = icmp ne i32 %tmp.212, 0 ; <i1> [#uses=2]
+ %tmp.215 = zext i1 %tmp.214 to i32 ; <i32> [#uses=0]
+ br i1 %tmp.214, label %then.13, label %endif.8
then.13: ; preds = %endif.11
- %tmp.217 = getelementptr %struct.macroblock* %tmp.12, int 0, uint 3 ; <%struct.macroblock**> [#uses=1]
+ %tmp.217 = getelementptr %struct.macroblock* %tmp.12, i32 0, i32 3 ; <%struct.macroblock**> [#uses=1]
%tmp.218 = load %struct.macroblock** %tmp.217 ; <%struct.macroblock*> [#uses=1]
- %tmp.219 = cast %struct.macroblock* %tmp.218 to sbyte* ; <sbyte*> [#uses=1]
- %tmp.220 = setne sbyte* %tmp.219, null ; <bool> [#uses=2]
- %tmp.221 = cast bool %tmp.220 to int ; <int> [#uses=0]
- br bool %tmp.220, label %then.14, label %endif.14
+ %tmp.219 = bitcast %struct.macroblock* %tmp.218 to i8* ; <i8*> [#uses=1]
+ %tmp.220 = icmp ne i8* %tmp.219, null ; <i1> [#uses=2]
+ %tmp.221 = zext i1 %tmp.220 to i32 ; <i32> [#uses=0]
+ br i1 %tmp.220, label %then.14, label %endif.14
then.14: ; preds = %then.13
- %tmp.223 = getelementptr %struct.macroblock* %tmp.12, int 0, uint 3 ; <%struct.macroblock**> [#uses=1]
+ %tmp.223 = getelementptr %struct.macroblock* %tmp.12, i32 0, i32 3 ; <%struct.macroblock**> [#uses=1]
%tmp.224 = load %struct.macroblock** %tmp.223 ; <%struct.macroblock*> [#uses=1]
- %tmp.225 = getelementptr %struct.macroblock* %tmp.224, int 0, uint 5 ; <int*> [#uses=1]
- %tmp.226 = load int* %tmp.225 ; <int> [#uses=1]
- %tmp.227 = seteq int %tmp.226, 14 ; <bool> [#uses=2]
- %tmp.228 = cast bool %tmp.227 to int ; <int> [#uses=0]
- br bool %tmp.227, label %then.15, label %else.9
+ %tmp.225 = getelementptr %struct.macroblock* %tmp.224, i32 0, i32 5 ; <i32*> [#uses=1]
+ %tmp.226 = load i32* %tmp.225 ; <i32> [#uses=1]
+ %tmp.227 = icmp eq i32 %tmp.226, 14 ; <i1> [#uses=2]
+ %tmp.228 = zext i1 %tmp.227 to i32 ; <i32> [#uses=0]
+ br i1 %tmp.227, label %then.15, label %else.9
then.15: ; preds = %then.14
br label %endif.14
else.9: ; preds = %then.14
- %tmp.230 = getelementptr %struct.macroblock* %tmp.12, int 0, uint 3 ; <%struct.macroblock**> [#uses=1]
+ %tmp.230 = getelementptr %struct.macroblock* %tmp.12, i32 0, i32 3 ; <%struct.macroblock**> [#uses=1]
%tmp.231 = load %struct.macroblock** %tmp.230 ; <%struct.macroblock*> [#uses=1]
- %tmp.232 = getelementptr %struct.macroblock* %tmp.231, int 0, uint 7 ; <int*> [#uses=1]
- %tmp.233 = load int* %tmp.232 ; <int> [#uses=1]
- %tmp.234 = setgt int %tmp.233, 15 ; <bool> [#uses=2]
- %tmp.235 = cast bool %tmp.234 to int ; <int> [#uses=0]
- br bool %tmp.234, label %then.16, label %endif.14
+ %tmp.232 = getelementptr %struct.macroblock* %tmp.231, i32 0, i32 7 ; <i32*> [#uses=1]
+ %tmp.233 = load i32* %tmp.232 ; <i32> [#uses=1]
+ %tmp.234 = icmp sgt i32 %tmp.233, 15 ; <i1> [#uses=2]
+ %tmp.235 = zext i1 %tmp.234 to i32 ; <i32> [#uses=0]
+ br i1 %tmp.234, label %then.16, label %endif.14
then.16: ; preds = %else.9
- %tmp.237 = getelementptr %struct.macroblock* %tmp.12, int 0, uint 3 ; <%struct.macroblock**> [#uses=1]
+ %tmp.237 = getelementptr %struct.macroblock* %tmp.12, i32 0, i32 3 ; <%struct.macroblock**> [#uses=1]
%tmp.238 = load %struct.macroblock** %tmp.237 ; <%struct.macroblock*> [#uses=1]
- %tmp.239 = getelementptr %struct.macroblock* %tmp.238, int 0, uint 7 ; <int*> [#uses=1]
- %tmp.240 = load int* %tmp.239 ; <int> [#uses=1]
- %tmp.242 = shr int %tmp.240, ubyte 4 ; <int> [#uses=1]
- %tmp.243 = seteq int %tmp.242, 2 ; <bool> [#uses=1]
- %tmp.244 = cast bool %tmp.243 to int ; <int> [#uses=1]
+ %tmp.239 = getelementptr %struct.macroblock* %tmp.238, i32 0, i32 7 ; <i32*> [#uses=1]
+ %tmp.240 = load i32* %tmp.239 ; <i32> [#uses=1]
+ %tmp.242 = ashr i32 %tmp.240, 4 ; <i32> [#uses=1]
+ %tmp.243 = icmp eq i32 %tmp.242, 2 ; <i1> [#uses=1]
+ %tmp.244 = zext i1 %tmp.243 to i32 ; <i32> [#uses=1]
br label %endif.14
endif.14: ; preds = %then.16, %else.9, %then.15, %then.13
- %b.5 = phi int [ 1, %then.15 ], [ %tmp.244, %then.16 ], [ 0, %else.9 ], [ 0, %then.13 ] ; <int> [#uses=1]
- %tmp.246 = getelementptr %struct.macroblock* %tmp.12, int 0, uint 4 ; <%struct.macroblock**> [#uses=1]
+ %b.5 = phi i32 [ 1, %then.15 ], [ %tmp.244, %then.16 ], [ 0, %else.9 ], [ 0, %then.13 ] ; <i32> [#uses=1]
+ %tmp.246 = getelementptr %struct.macroblock* %tmp.12, i32 0, i32 4 ; <%struct.macroblock**> [#uses=1]
%tmp.247 = load %struct.macroblock** %tmp.246 ; <%struct.macroblock*> [#uses=1]
- %tmp.248 = cast %struct.macroblock* %tmp.247 to sbyte* ; <sbyte*> [#uses=1]
- %tmp.249 = setne sbyte* %tmp.248, null ; <bool> [#uses=2]
- %tmp.250 = cast bool %tmp.249 to int ; <int> [#uses=0]
- br bool %tmp.249, label %then.17, label %endif.17
+ %tmp.248 = bitcast %struct.macroblock* %tmp.247 to i8* ; <i8*> [#uses=1]
+ %tmp.249 = icmp ne i8* %tmp.248, null ; <i1> [#uses=2]
+ %tmp.250 = zext i1 %tmp.249 to i32 ; <i32> [#uses=0]
+ br i1 %tmp.249, label %then.17, label %endif.17
then.17: ; preds = %endif.14
- %tmp.252 = getelementptr %struct.macroblock* %tmp.12, int 0, uint 4 ; <%struct.macroblock**> [#uses=1]
+ %tmp.252 = getelementptr %struct.macroblock* %tmp.12, i32 0, i32 4 ; <%struct.macroblock**> [#uses=1]
%tmp.253 = load %struct.macroblock** %tmp.252 ; <%struct.macroblock*> [#uses=1]
- %tmp.254 = getelementptr %struct.macroblock* %tmp.253, int 0, uint 5 ; <int*> [#uses=1]
- %tmp.255 = load int* %tmp.254 ; <int> [#uses=1]
- %tmp.256 = seteq int %tmp.255, 14 ; <bool> [#uses=2]
- %tmp.257 = cast bool %tmp.256 to int ; <int> [#uses=0]
- br bool %tmp.256, label %then.18, label %else.10
+ %tmp.254 = getelementptr %struct.macroblock* %tmp.253, i32 0, i32 5 ; <i32*> [#uses=1]
+ %tmp.255 = load i32* %tmp.254 ; <i32> [#uses=1]
+ %tmp.256 = icmp eq i32 %tmp.255, 14 ; <i1> [#uses=2]
+ %tmp.257 = zext i1 %tmp.256 to i32 ; <i32> [#uses=0]
+ br i1 %tmp.256, label %then.18, label %else.10
then.18: ; preds = %then.17
br label %endif.17
else.10: ; preds = %then.17
- %tmp.259 = getelementptr %struct.macroblock* %tmp.12, int 0, uint 4 ; <%struct.macroblock**> [#uses=1]
+ %tmp.259 = getelementptr %struct.macroblock* %tmp.12, i32 0, i32 4 ; <%struct.macroblock**> [#uses=1]
%tmp.260 = load %struct.macroblock** %tmp.259 ; <%struct.macroblock*> [#uses=1]
- %tmp.261 = getelementptr %struct.macroblock* %tmp.260, int 0, uint 7 ; <int*> [#uses=1]
- %tmp.262 = load int* %tmp.261 ; <int> [#uses=1]
- %tmp.263 = setgt int %tmp.262, 15 ; <bool> [#uses=2]
- %tmp.264 = cast bool %tmp.263 to int ; <int> [#uses=0]
- br bool %tmp.263, label %then.19, label %endif.17
+ %tmp.261 = getelementptr %struct.macroblock* %tmp.260, i32 0, i32 7 ; <i32*> [#uses=1]
+ %tmp.262 = load i32* %tmp.261 ; <i32> [#uses=1]
+ %tmp.263 = icmp sgt i32 %tmp.262, 15 ; <i1> [#uses=2]
+ %tmp.264 = zext i1 %tmp.263 to i32 ; <i32> [#uses=0]
+ br i1 %tmp.263, label %then.19, label %endif.17
then.19: ; preds = %else.10
- %tmp.266 = getelementptr %struct.macroblock* %tmp.12, int 0, uint 4 ; <%struct.macroblock**> [#uses=1]
+ %tmp.266 = getelementptr %struct.macroblock* %tmp.12, i32 0, i32 4 ; <%struct.macroblock**> [#uses=1]
%tmp.267 = load %struct.macroblock** %tmp.266 ; <%struct.macroblock*> [#uses=1]
- %tmp.268 = getelementptr %struct.macroblock* %tmp.267, int 0, uint 7 ; <int*> [#uses=1]
- %tmp.269 = load int* %tmp.268 ; <int> [#uses=1]
- %tmp.271 = shr int %tmp.269, ubyte 4 ; <int> [#uses=1]
- %tmp.272 = seteq int %tmp.271, 2 ; <bool> [#uses=1]
- %tmp.273 = cast bool %tmp.272 to int ; <int> [#uses=1]
+ %tmp.268 = getelementptr %struct.macroblock* %tmp.267, i32 0, i32 7 ; <i32*> [#uses=1]
+ %tmp.269 = load i32* %tmp.268 ; <i32> [#uses=1]
+ %tmp.271 = ashr i32 %tmp.269, 4 ; <i32> [#uses=1]
+ %tmp.272 = icmp eq i32 %tmp.271, 2 ; <i1> [#uses=1]
+ %tmp.273 = zext i1 %tmp.272 to i32 ; <i32> [#uses=1]
br label %endif.17
endif.17: ; preds = %then.19, %else.10, %then.18, %endif.14
- %a.5 = phi int [ 1, %then.18 ], [ %tmp.273, %then.19 ], [ 0, %else.10 ], [ 0, %endif.14 ] ; <int> [#uses=1]
- %tmp.275 = mul int %b.5, 2 ; <int> [#uses=1]
- %tmp.277 = add int %tmp.275, %a.5 ; <int> [#uses=1]
- %tmp.281 = getelementptr %typedef.TextureInfoContexts* %tmp.4, int 0, uint 2 ; <[3 x [4 x %typedef.BiContextType]]*> [#uses=1]
- %tmp.282 = getelementptr [3 x [4 x %typedef.BiContextType]]* %tmp.281, int 0, int 2 ; <[4 x %typedef.BiContextType]*> [#uses=1]
- %tmp.283 = getelementptr [4 x %typedef.BiContextType]* %tmp.282, int 0, int 0 ; <%typedef.BiContextType*> [#uses=1]
- %tmp.285 = cast int %tmp.277 to uint ; <uint> [#uses=1]
- %tmp.286 = cast uint %tmp.285 to int ; <int> [#uses=1]
- %tmp.287 = getelementptr %typedef.BiContextType* %tmp.283, int %tmp.286 ; <%typedef.BiContextType*> [#uses=1]
- %tmp.278 = call uint %biari_decode_symbol( %typedef.DecodingEnvironment* %dep_dp, %typedef.BiContextType* %tmp.287 ) ; <uint> [#uses=1]
- %tmp.288 = cast uint %tmp.278 to int ; <int> [#uses=1]
- %tmp.290 = seteq int %tmp.288, 1 ; <bool> [#uses=2]
- %tmp.291 = cast bool %tmp.290 to int ; <int> [#uses=0]
- br bool %tmp.290, label %cond_true, label %cond_false
+ %a.5 = phi i32 [ 1, %then.18 ], [ %tmp.273, %then.19 ], [ 0, %else.10 ], [ 0, %endif.14 ] ; <i32> [#uses=1]
+ %tmp.275 = mul i32 %b.5, 2 ; <i32> [#uses=1]
+ %tmp.277 = add i32 %tmp.275, %a.5 ; <i32> [#uses=1]
+ %tmp.281 = getelementptr %typedef.TextureInfoContexts* %tmp.4, i32 0, i32 2 ; <[3 x [4 x %typedef.BiContextType]]*> [#uses=1]
+ %tmp.282 = getelementptr [3 x [4 x %typedef.BiContextType]]* %tmp.281, i32 0, i32 2 ; <[4 x %typedef.BiContextType]*> [#uses=1]
+ %tmp.283 = getelementptr [4 x %typedef.BiContextType]* %tmp.282, i32 0, i32 0 ; <%typedef.BiContextType*> [#uses=1]
+ %tmp.285 = bitcast i32 %tmp.277 to i32 ; <i32> [#uses=1]
+ %tmp.286 = bitcast i32 %tmp.285 to i32 ; <i32> [#uses=1]
+ %tmp.287 = getelementptr %typedef.BiContextType* %tmp.283, i32 %tmp.286 ; <%typedef.BiContextType*> [#uses=1]
+ %tmp.278 = call i32 @biari_decode_symbol( %typedef.DecodingEnvironment* %dep_dp, %typedef.BiContextType* %tmp.287 ) ; <i32> [#uses=1]
+ %tmp.288 = bitcast i32 %tmp.278 to i32 ; <i32> [#uses=1]
+ %tmp.290 = icmp eq i32 %tmp.288, 1 ; <i1> [#uses=2]
+ %tmp.291 = zext i1 %tmp.290 to i32 ; <i32> [#uses=0]
+ br i1 %tmp.290, label %cond_true, label %cond_false
cond_true: ; preds = %endif.17
- %tmp.293 = add int %cbp.2, 32 ; <int> [#uses=1]
+ %tmp.293 = add i32 %cbp.2, 32 ; <i32> [#uses=1]
br label %cond_continue
cond_false: ; preds = %endif.17
- %tmp.295 = add int %cbp.2, 16 ; <int> [#uses=1]
+ %tmp.295 = add i32 %cbp.2, 16 ; <i32> [#uses=1]
br label %cond_continue
cond_continue: ; preds = %cond_false, %cond_true
- %mem_tmp.0 = phi int [ %tmp.293, %cond_true ], [ %tmp.295, %cond_false ] ; <int> [#uses=1]
+ %mem_tmp.0 = phi i32 [ %tmp.293, %cond_true ], [ %tmp.295, %cond_false ] ; <i32> [#uses=1]
br label %endif.8
endif.8: ; preds = %cond_continue, %endif.11, %loopexit.0
- %cbp.3 = phi int [ %mem_tmp.0, %cond_continue ], [ %cbp.2, %endif.11 ], [ %cbp.2, %loopexit.0 ] ; <int> [#uses=2]
- %tmp.298 = getelementptr %struct.syntaxelement* %se, int 0, uint 1 ; <int*> [#uses=1]
- store int %cbp.3, int* %tmp.298
- %tmp.301 = seteq int %cbp.3, 0 ; <bool> [#uses=2]
- %tmp.302 = cast bool %tmp.301 to int ; <int> [#uses=0]
- br bool %tmp.301, label %then.20, label %return
+ %cbp.3 = phi i32 [ %mem_tmp.0, %cond_continue ], [ %cbp.2, %endif.11 ], [ %cbp.2, %loopexit.0 ] ; <i32> [#uses=2]
+ %tmp.298 = getelementptr %struct.syntaxelement* %se, i32 0, i32 1 ; <i32*> [#uses=1]
+ store i32 %cbp.3, i32* %tmp.298
+ %tmp.301 = icmp eq i32 %cbp.3, 0 ; <i1> [#uses=2]
+ %tmp.302 = zext i1 %tmp.301 to i32 ; <i32> [#uses=0]
+ br i1 %tmp.301, label %then.20, label %return
then.20: ; preds = %endif.8
- store int 0, int* %last_dquant
+ store i32 0, i32* @last_dquant
ret void
return: ; preds = %endif.8
ret void
}
-declare uint %biari_decode_symbol(%typedef.DecodingEnvironment*, %typedef.BiContextType*)
+declare i32 @biari_decode_symbol(%typedef.DecodingEnvironment*, %typedef.BiContextType*)
-declare void %getLuma4x4Neighbour(int, int, int, int, int, %struct.pix_pos*)
+declare void @getLuma4x4Neighbour(i32, i32, i32, i32, i32, %struct.pix_pos*)
diff --git a/test/Transforms/InstCombine/2006-04-28-ShiftShiftLongLong.ll b/test/Transforms/InstCombine/2006-04-28-ShiftShiftLongLong.ll
index 6e25d79ecb..2541eb7330 100644
--- a/test/Transforms/InstCombine/2006-04-28-ShiftShiftLongLong.ll
+++ b/test/Transforms/InstCombine/2006-04-28-ShiftShiftLongLong.ll
@@ -1,10 +1,11 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep shl
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | notcast
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep shl
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | notcast
; This cannot be turned into a sign extending cast!
-long %test(long %X) {
- %Y = shl long %X, ubyte 16
- %Z = shr long %Y, ubyte 16
- ret long %Z
+define i64 @test(i64 %X) {
+ %Y = shl i64 %X, 16 ; <i64> [#uses=1]
+ %Z = ashr i64 %Y, 16 ; <i64> [#uses=1]
+ ret i64 %Z
}
+
diff --git a/test/Transforms/InstCombine/2006-05-04-DemandedBitCrash.ll b/test/Transforms/InstCombine/2006-05-04-DemandedBitCrash.ll
index 3e72a182a0..4506bf0a4e 100644
--- a/test/Transforms/InstCombine/2006-05-04-DemandedBitCrash.ll
+++ b/test/Transforms/InstCombine/2006-05-04-DemandedBitCrash.ll
@@ -1,49 +1,48 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output
-; END.
+; RUN: llvm-as < %s | opt -instcombine -disable-output
-void %test() {
+define void @test() {
bb38.i:
- %varspec.0.i1014 = cast long 123814269237067777 to ulong ; <ulong> [#uses=1]
- %locspec.0.i1015 = cast int 1 to uint ; <uint> [#uses=2]
- %tmp51391.i1018 = shr ulong %varspec.0.i1014, ubyte 16 ; <ulong> [#uses=1]
- %tmp51392.i1019 = cast ulong %tmp51391.i1018 to uint ; <uint> [#uses=2]
- %tmp51392.mask.i1020 = shr uint %tmp51392.i1019, ubyte 29 ; <uint> [#uses=1]
- %tmp7.i1021 = and uint %tmp51392.mask.i1020, 1 ; <uint> [#uses=2]
- %tmp18.i1026 = shr uint %tmp51392.i1019, ubyte 31 ; <uint> [#uses=2]
- %tmp18.i1027 = cast uint %tmp18.i1026 to ubyte ; <ubyte> [#uses=1]
- br bool false, label %cond_false1148.i1653, label %bb377.i1259
+ %varspec.0.i1014 = bitcast i64 123814269237067777 to i64 ; <i64> [#uses=1]
+ %locspec.0.i1015 = bitcast i32 1 to i32 ; <i32> [#uses=2]
+ %tmp51391.i1018 = lshr i64 %varspec.0.i1014, 16 ; <i64> [#uses=1]
+ %tmp51392.i1019 = trunc i64 %tmp51391.i1018 to i32 ; <i32> [#uses=2]
+ %tmp51392.mask.i1020 = lshr i32 %tmp51392.i1019, 29 ; <i32> [#uses=1]
+ %tmp7.i1021 = and i32 %tmp51392.mask.i1020, 1 ; <i32> [#uses=2]
+ %tmp18.i1026 = lshr i32 %tmp51392.i1019, 31 ; <i32> [#uses=2]
+ %tmp18.i1027 = trunc i32 %tmp18.i1026 to i8 ; <i8> [#uses=1]
+ br i1 false, label %cond_false1148.i1653, label %bb377.i1259
bb377.i1259: ; preds = %bb38.i
- br bool false, label %cond_true541.i1317, label %cond_false1148.i1653
+ br i1 false, label %cond_true541.i1317, label %cond_false1148.i1653
cond_true541.i1317: ; preds = %bb377.i1259
- %tmp545.i1318 = shr uint %locspec.0.i1015, ubyte 10 ; <uint> [#uses=1]
- %tmp550.i1319 = shr uint %locspec.0.i1015, ubyte 4 ; <uint> [#uses=1]
- %tmp550551.i1320 = and uint %tmp550.i1319, 63 ; <uint> [#uses=1]
- %tmp553.i1321 = setlt uint %tmp550551.i1320, 4 ; <bool> [#uses=1]
- %tmp558.i1322 = seteq uint %tmp7.i1021, 0 ; <bool> [#uses=1]
- %bothcond.i1326 = or bool %tmp553.i1321, false ; <bool> [#uses=1]
- %bothcond1.i1327 = or bool %bothcond.i1326, false ; <bool> [#uses=1]
- %bothcond2.not.i1328 = or bool %bothcond1.i1327, false ; <bool> [#uses=1]
- %bothcond3.i1329 = or bool %bothcond2.not.i1328, %tmp558.i1322 ; <bool> [#uses=0]
- br bool false, label %cond_true583.i1333, label %cond_next592.i1337
+ %tmp545.i1318 = lshr i32 %locspec.0.i1015, 10 ; <i32> [#uses=1]
+ %tmp550.i1319 = lshr i32 %locspec.0.i1015, 4 ; <i32> [#uses=1]
+ %tmp550551.i1320 = and i32 %tmp550.i1319, 63 ; <i32> [#uses=1]
+ %tmp553.i1321 = icmp ult i32 %tmp550551.i1320, 4 ; <i1> [#uses=1]
+ %tmp558.i1322 = icmp eq i32 %tmp7.i1021, 0 ; <i1> [#uses=1]
+ %bothcond.i1326 = or i1 %tmp553.i1321, false ; <i1> [#uses=1]
+ %bothcond1.i1327 = or i1 %bothcond.i1326, false ; <i1> [#uses=1]
+ %bothcond2.not.i1328 = or i1 %bothcond1.i1327, false ; <i1> [#uses=1]
+ %bothcond3.i1329 = or i1 %bothcond2.not.i1328, %tmp558.i1322 ; <i1> [#uses=0]
+ br i1 false, label %cond_true583.i1333, label %cond_next592.i1337
cond_true583.i1333: ; preds = %cond_true541.i1317
- br bool false, label %cond_true586.i1335, label %cond_next592.i1337
+ br i1 false, label %cond_true586.i1335, label %cond_next592.i1337
cond_true586.i1335: ; preds = %cond_true583.i1333
br label %cond_true.i
cond_next592.i1337: ; preds = %cond_true583.i1333, %cond_true541.i1317
- %mask_z.0.i1339 = phi uint [ %tmp18.i1026, %cond_true541.i1317 ], [ 0, %cond_true583.i1333 ] ; <uint> [#uses=0]
- %tmp594.i1340 = and uint %tmp545.i1318, 15 ; <uint> [#uses=0]
+ %mask_z.0.i1339 = phi i32 [ %tmp18.i1026, %cond_true541.i1317 ], [ 0, %cond_true583.i1333 ] ; <i32> [#uses=0]
+ %tmp594.i1340 = and i32 %tmp545.i1318, 15 ; <i32> [#uses=0]
br label %cond_true.i
cond_false1148.i1653: ; preds = %bb377.i1259, %bb38.i
- %tmp1150.i1654 = seteq uint %tmp7.i1021, 0 ; <bool> [#uses=1]
- %tmp1160.i1656 = seteq ubyte %tmp18.i1027, 0 ; <bool> [#uses=1]
- %bothcond8.i1658 = or bool %tmp1150.i1654, %tmp1160.i1656 ; <bool> [#uses=1]
- %bothcond9.i1659 = or bool %bothcond8.i1658, false ; <bool> [#uses=0]
+ %tmp1150.i1654 = icmp eq i32 %tmp7.i1021, 0 ; <i1> [#uses=1]
+ %tmp1160.i1656 = icmp eq i8 %tmp18.i1027, 0 ; <i1> [#uses=1]
+ %bothcond8.i1658 = or i1 %tmp1150.i1654, %tmp1160.i1656 ; <i1> [#uses=1]
+ %bothcond9.i1659 = or i1 %bothcond8.i1658, false ; <i1> [#uses=0]
br label %cond_true.i
cond_true.i: ; preds = %cond_false1148.i1653, %cond_next592.i1337, %cond_true586.i1335
diff --git a/test/Transforms/InstCombine/2006-05-06-Infloop.ll b/test/Transforms/InstCombine/2006-05-06-Infloop.ll
index 4458d97f93..b1c48ecba7 100644
--- a/test/Transforms/InstCombine/2006-05-06-Infloop.ll
+++ b/test/Transforms/InstCombine/2006-05-06-Infloop.ll
@@ -1,301 +1,296 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output
-; END.
-
- %struct.gs_matrix = type { float, int, float, int, float, int, float, int, float, int, float, int }
- %struct.gx_bitmap = type { ubyte*, int, int, int }
- %struct.gx_device = type { int, %struct.gx_device_procs*, sbyte*, int, int, float, float, int, ushort, int, int }
- %struct.gx_device_memory = type { int, %struct.gx_device_procs*, sbyte*, int, int, float, float, int, ushort, int, int, %struct.gs_matrix, int, ubyte*, ubyte**, int (%struct.gx_device_memory*, int, int, int, int, int)*, int, int, ubyte* }
- %struct.gx_device_procs = type { int (%struct.gx_device*)*, void (%struct.gx_device*, %struct.gs_matrix*)*, int (%struct.gx_device*)*, int (%struct.gx_device*)*, int (%struct.gx_device*)*, uint (%struct.gx_device*, ushort, ushort, ushort)*, int (%struct.gx_device*, uint, ushort*)*, int (%struct.gx_device*, int, int, int, int, uint)*, int (%struct.gx_device*, %struct.gx_bitmap*, int, int, int, int, uint, uint)*, int (%struct.gx_device*, ubyte*, int, int, int, int, int, int, uint, uint)*, int (%struct.gx_device*, ubyte*, int, int, int, int, int, int)*, int (%struct.gx_device*, int, int, int, int, uint)*, int (%struct.gx_device*, int, int, int, int, int, int, uint)*, int (%struct.gx_device*, %struct.gx_bitmap*, int, int, int, int, int, int, uint, uint)* }
-
-implementation ; Functions:
-
-int %mem_mono_copy_mono(%struct.gx_device* %dev, ubyte* %base, int %sourcex, int %raster, int %x, int %y, int %w, int %h, uint %zero, uint %one) {
+; RUN: llvm-as < %s | opt -instcombine -disable-output
+ %struct.gs_matrix = type { float, i32, float, i32, float, i32, float, i32, float, i32, float, i32 }
+ %struct.gx_bitmap = type { i8*, i32, i32, i32 }
+ %struct.gx_device = type { i32, %struct.gx_device_procs*, i8*, i32, i32, float, float, i32, i16, i32, i32 }
+ %struct.gx_device_memory = type { i32, %struct.gx_device_procs*, i8*, i32, i32, float, float, i32, i16, i32, i32, %struct.gs_matrix, i32, i8*, i8**, i32 (%struct.gx_device_memory*, i32, i32, i32, i32, i32)*, i32, i32, i8* }
+ %struct.gx_device_procs = type { i32 (%struct.gx_device*)*, void (%struct.gx_device*, %struct.gs_matrix*)*, i32 (%struct.gx_device*)*, i32 (%struct.gx_device*)*, i32 (%struct.gx_device*)*, i32 (%struct.gx_device*, i16, i16, i16)*, i32 (%struct.gx_device*, i32, i16*)*, i32 (%struct.gx_device*, i32, i32, i32, i32, i32)*, i32 (%struct.gx_device*, %struct.gx_bitmap*, i32, i32, i32, i32, i32, i32)*, i32 (%struct.gx_device*, i8*, i32, i32, i32, i32, i32, i32, i32, i32)*, i32 (%struct.gx_device*, i8*, i32, i32, i32, i32, i32, i32)*, i32 (%struct.gx_device*, i32, i32, i32, i32, i32)*, i32 (%struct.gx_device*, i32, i32, i32, i32, i32, i32, i32)*, i32 (%struct.gx_device*, %struct.gx_bitmap*, i32, i32, i32, i32, i32, i32, i32, i32)* }
+
+define i32 @mem_mono_copy_mono(%struct.gx_device* %dev, i8* %base, i32 %sourcex, i32 %raster, i32 %x, i32 %y, i32 %w, i32 %h, i32 %zero, i32 %one) {
entry:
- %raster = cast int %raster to uint ; <uint> [#uses=3]
- %tmp = seteq uint %one, %zero ; <bool> [#uses=1]
- br bool %tmp, label %cond_true, label %cond_next
+ %tmp = icmp eq i32 %one, %zero ; <i1> [#uses=1]
+ br i1 %tmp, label %cond_true, label %cond_next
cond_true: ; preds = %entry
- %tmp6 = tail call int %mem_mono_fill_rectangle( %struct.gx_device* %dev, int %x, int %y, int %w, int %h, uint %zero ) ; <int> [#uses=1]
- ret int %tmp6
+ %tmp6 = tail call i32 @mem_mono_fill_rectangle( %struct.gx_device* %dev, i32 %x, i32 %y, i32 %w, i32 %h, i32 %zero ) ; <i32> [#uses=1]
+ ret i32 %tmp6
cond_next: ; preds = %entry
- %tmp8 = cast %struct.gx_device* %dev to %struct.gx_device_memory* ; <%struct.gx_device_memory*> [#uses=6]
- %tmp = getelementptr %struct.gx_device_memory* %tmp8, int 0, uint 15 ; <int (%struct.gx_device_memory*, int, int, int, int, int)**> [#uses=1]
- %tmp = load int (%struct.gx_device_memory*, int, int, int, int, int)** %tmp ; <int (%struct.gx_device_memory*, int, int, int, int, int)*> [#uses=2]
- %tmp9 = seteq int (%struct.gx_device_memory*, int, int, int, int, int)* %tmp, %mem_no_fault_proc ; <bool> [#uses=1]
- br bool %tmp9, label %cond_next46, label %cond_true10
+ %tmp8 = bitcast %struct.gx_device* %dev to %struct.gx_device_memory* ; <%struct.gx_device_memory*> [#uses=6]
+ %tmp.upgrd.1 = getelementptr %struct.gx_device_memory* %tmp8, i32 0, i32 15 ; <i32 (%struct.gx_device_memory*, i32, i32, i32, i32, i32)**> [#uses=1]
+ %tmp.upgrd.2 = load i32 (%struct.gx_device_memory*, i32, i32, i32, i32, i32)** %tmp.upgrd.1 ; <i32 (%struct.gx_device_memory*, i32, i32, i32, i32, i32)*> [#uses=2]
+ %tmp9 = icmp eq i32 (%struct.gx_device_memory*, i32, i32, i32, i32, i32)* %tmp.upgrd.2, @mem_no_fault_proc ; <i1> [#uses=1]
+ br i1 %tmp9, label %cond_next46, label %cond_true10
cond_true10: ; preds = %cond_next
- %tmp16 = add int %x, 7 ; <int> [#uses=1]
- %tmp17 = add int %tmp16, %w ; <int> [#uses=1]
- %tmp18 = shr int %tmp17, ubyte 3 ; <int> [#uses=1]
- %tmp20 = shr int %x, ubyte 3 ; <int> [#uses=2]
- %tmp21 = sub int %tmp18, %tmp20 ; <int> [#uses=1]
- %tmp27 = tail call int %tmp( %struct.gx_device_memory* %tmp8, int %tmp20, int %y, int %tmp21, int %h, int 1 ) ; <int> [#uses=2]
- %tmp29 = setlt int %tmp27, 0 ; <bool> [#uses=1]
- br bool %tmp29, label %cond_true30, label %cond_next46
+ %tmp16 = add i32 %x, 7 ; <i32> [#uses=1]
+ %tmp17 = add i32 %tmp16, %w ; <i32> [#uses=1]
+ %tmp18 = ashr i32 %tmp17, 3 ; <i32> [#uses=1]
+ %tmp20 = ashr i32 %x, 3 ; <i32> [#uses=2]
+ %tmp21 = sub i32 %tmp18, %tmp20 ; <i32> [#uses=1]
+ %tmp27 = tail call i32 %tmp.upgrd.2( %struct.gx_device_memory* %tmp8, i32 %tmp20, i32 %y, i32 %tmp21, i32 %h, i32 1 ) ; <i32> [#uses=2]
+ %tmp29 = icmp slt i32 %tmp27, 0 ; <i1> [#uses=1]
+ br i1 %tmp29, label %cond_true30, label %cond_next46
cond_true30: ; preds = %cond_true10
- %tmp41 = tail call int %mem_copy_mono_recover( %struct.gx_device* %dev, ubyte* %base, int %sourcex, int %raster, int %x, int %y, int %w, int %h, uint %zero, uint %one, int %tmp27 ) ; <int> [#uses=1]
- ret int %tmp41
+ %tmp41 = tail call i32 @mem_copy_mono_recover( %struct.gx_device* %dev, i8* %base, i32 %sourcex, i32 %raster, i32 %x, i32 %y, i32 %w, i32 %h, i32 %zero, i32 %one, i32 %tmp27 ) ; <i32> [#uses=1]
+ ret i32 %tmp41
cond_next46: ; preds = %cond_true10, %cond_next
- %tmp48 = setgt int %w, 0 ; <bool> [#uses=1]
- %tmp53 = setgt int %h, 0 ; <bool> [#uses=1]
- %bothcond = and bool %tmp53, %tmp48 ; <bool> [#uses=1]
- br bool %bothcond, label %bb58, label %return
+ %tmp48 = icmp sgt i32 %w, 0 ; <i1> [#uses=1]
+ %tmp53 = icmp sgt i32 %h, 0 ; <i1> [#uses=1]
+ %bothcond = and i1 %tmp53, %tmp48 ; <i1> [#uses=1]
+ br i1 %bothcond, label %bb58, label %return
bb58: ; preds = %cond_next46
- %tmp60 = setlt int %x, 0 ; <bool> [#uses=1]
- br bool %tmp60, label %return, label %cond_next63
+ %tmp60 = icmp slt i32 %x, 0 ; <i1> [#uses=1]
+ br i1 %tmp60, label %return, label %cond_next63
cond_next63: ; preds = %bb58
- %tmp65 = getelementptr %struct.gx_device_memory* %tmp8, int 0, uint 3 ; <int*> [#uses=1]
- %tmp66 = load int* %tmp65 ; <int> [#uses=1]
- %tmp68 = sub int %tmp66, %w ; <int> [#uses=1]
- %tmp70 = setlt int %tmp68, %x ; <bool> [#uses=1]
- %tmp75 = setlt int %y, 0 ; <bool> [#uses=1]
- %bothcond1 = or bool %tmp70, %tmp75 ; <bool> [#uses=1]
- br bool %bothcond1, label %return, label %cond_next78
+ %tmp65 = getelementptr %struct.gx_device_memory* %tmp8, i32 0, i32 3 ; <i32*> [#uses=1]
+ %tmp66 = load i32* %tmp65 ; <i32> [#uses=1]
+ %tmp68 = sub i32 %tmp66, %w ; <i32> [#uses=1]
+ %tmp70 = icmp slt i32 %tmp68, %x ; <i1> [#uses=1]
+ %tmp75 = icmp slt i32 %y, 0 ; <i1> [#uses=1]
+ %bothcond1 = or i1 %tmp70, %tmp75 ; <i1> [#uses=1]
+ br i1 %bothcond1, label %return, label %cond_next78
cond_next78: ; preds = %cond_next63
- %tmp80 = getelementptr %struct.gx_device_memory* %tmp8, int 0, uint 4 ; <int*> [#uses=1]
- %tmp81 = load int* %tmp80 ; <int> [#uses=1]
- %tmp83 = sub int %tmp81, %h ; <int> [#uses=1]
- %tmp85 = setlt int %tmp83, %y ; <bool> [#uses=1]
- br bool %tmp85, label %return, label %bb91
+ %tmp80 = getelementptr %struct.gx_device_memory* %tmp8, i32 0, i32 4 ; <i32*> [#uses=1]
+ %tmp81 = load i32* %tmp80 ; <i32> [#uses=1]
+ %tmp83 = sub i32 %tmp81, %h ; <i32> [#uses=1]
+ %tmp85 = icmp slt i32 %tmp83, %y ; <i1> [#uses=1]
+ br i1 %tmp85, label %return, label %bb91
bb91: ; preds = %cond_next78
- %tmp93 = shr int %x, ubyte 3 ; <int> [#uses=4]
- %tmp = getelementptr %struct.gx_device_memory* %tmp8, int 0, uint 14 ; <ubyte***> [#uses=1]
- %tmp = load ubyte*** %tmp ; <ubyte**> [#uses=1]
- %tmp96 = getelementptr ubyte** %tmp, int %y ; <ubyte**> [#uses=4]
- %tmp98 = load ubyte** %tmp96 ; <ubyte*> [#uses=1]
- %tmp100 = getelementptr ubyte* %tmp98, int %tmp93 ; <ubyte*> [#uses=3]
- %tmp102 = shr int %sourcex, ubyte 3 ; <int> [#uses=3]
- %tmp106 = and int %sourcex, 7 ; <int> [#uses=1]
- %tmp107 = sub int 8, %tmp106 ; <int> [#uses=4]
- %tmp109 = and int %x, 7 ; <int> [#uses=3]
- %tmp110 = sub int 8, %tmp109 ; <int> [#uses=8]
- %tmp112 = sub int 8, %tmp110 ; <int> [#uses=1]
- %tmp112 = cast int %tmp112 to ubyte ; <ubyte> [#uses=1]
- %tmp113464 = shr uint 255, ubyte %tmp112 ; <uint> [#uses=4]
- %tmp116 = setgt int %tmp110, %w ; <bool> [#uses=1]
- %tmp132 = getelementptr %struct.gx_device_memory* %tmp8, int 0, uint 16 ; <int*> [#uses=2]
- br bool %tmp116, label %cond_true117, label %cond_false123
+ %tmp93 = ashr i32 %x, 3 ; <i32> [#uses=4]
+ %tmp.upgrd.3 = getelementptr %struct.gx_device_memory* %tmp8, i32 0, i32 14 ; <i8***> [#uses=1]
+ %tmp.upgrd.4 = load i8*** %tmp.upgrd.3 ; <i8**> [#uses=1]
+ %tmp96 = getelementptr i8** %tmp.upgrd.4, i32 %y ; <i8**> [#uses=4]
+ %tmp98 = load i8** %tmp96 ; <i8*> [#uses=1]
+ %tmp100 = getelementptr i8* %tmp98, i32 %tmp93 ; <i8*> [#uses=3]
+ %tmp102 = ashr i32 %sourcex, 3 ; <i32> [#uses=3]
+ %tmp106 = and i32 %sourcex, 7 ; <i32> [#uses=1]
+ %tmp107 = sub i32 8, %tmp106 ; <i32> [#uses=4]
+ %tmp109 = and i32 %x, 7 ; <i32> [#uses=3]
+ %tmp110 = sub i32 8, %tmp109 ; <i32> [#uses=8]
+ %tmp112 = sub i32 8, %tmp110 ; <i32> [#uses=1]
+ %tmp112.upgrd.5 = trunc i32 %tmp112 to i8 ; <i8> [#uses=1]
+ %shift.upgrd.6 = zext i8 %tmp112.upgrd.5 to i32 ; <i32> [#uses=1]
+ %tmp113464 = lshr i32 255, %shift.upgrd.6 ; <i32> [#uses=4]
+ %tmp116 = icmp sgt i32 %tmp110, %w ; <i1> [#uses=1]
+ %tmp132 = getelementptr %struct.gx_device_memory* %tmp8, i32 0, i32 16 ; <i32*> [#uses=2]
+ br i1 %tmp116, label %cond_true117, label %cond_false123
cond_true117: ; preds = %bb91
- %tmp119 = cast int %w to ubyte ; <ubyte> [#uses=1]
- %tmp120 = shr uint %tmp113464, ubyte %tmp119 ; <uint> [#uses=1]
- %tmp122 = sub uint %tmp113464, %tmp120 ; <uint> [#uses=2]
- %tmp13315 = load int* %tmp132 ; <int> [#uses=1]
- %tmp13416 = seteq int %tmp13315, 0 ; <bool> [#uses=1]
- br bool %tmp13416, label %cond_next151, label %cond_true135
+ %tmp119 = trunc i32 %w to i8 ; <i8> [#uses=1]
+ %shift.upgrd.7 = zext i8 %tmp119 to i32 ; <i32> [#uses=1]
+ %tmp120 = lshr i32 %tmp113464, %shift.upgrd.7 ; <i32> [#uses=1]
+ %tmp122 = sub i32 %tmp113464, %tmp120 ; <i32> [#uses=2]
+ %tmp13315 = load i32* %tmp132 ; <i32> [#uses=1]
+ %tmp13416 = icmp eq i32 %tmp13315, 0 ; <i1> [#uses=1]
+ br i1 %tmp13416, label %cond_next151, label %cond_true135
cond_false123: ; preds = %bb91
- %tmp126 = sub int %w, %tmp110 ; <int> [#uses=1]
- %tmp126 = cast int %tmp126 to ubyte ; <ubyte> [#uses=1]
- %tmp127 = and ubyte %tmp126, 7 ; <ubyte> [#uses=1]
- %tmp128 = shr uint 255, ubyte %tmp127 ; <uint> [#uses=1]
- %tmp1295 = sub uint 255, %tmp128 ; <uint> [#uses=2]
- %tmp133 = load int* %tmp132 ; <int> [#uses=1]
- %tmp134 = seteq int %tmp133, 0 ; <bool> [#uses=1]
- br bool %tmp134, label %cond_next151, label %cond_true135
+ %tmp126 = sub i32 %w, %tmp110 ; <i32> [#uses=1]
+ %tmp126.upgrd.8 = trunc i32 %tmp126 to i8 ; <i8> [#uses=1]
+ %tmp127 = and i8 %tmp126.upgrd.8, 7 ; <i8> [#uses=1]
+ %shift.upgrd.9 = zext i8 %tmp127 to i32 ; <i32> [#uses=1]
+ %tmp128 = lshr i32 255, %shift.upgrd.9 ; <i32> [#uses=1]
+ %tmp1295 = sub i32 255, %tmp128 ; <i32> [#uses=2]
+ %tmp133 = load i32* %tmp132 ; <i32> [#uses=1]
+ %tmp134 = icmp eq i32 %tmp133, 0 ; <i1> [#uses=1]
+ br i1 %tmp134, label %cond_next151, label %cond_true135
cond_true135: ; preds = %cond_false123, %cond_true117
- %rmask.0.0 = phi uint [ undef, %cond_true117 ], [ %tmp1295, %cond_false123 ] ; <uint> [#uses=2]
- %mask.1.0 = phi uint [ %tmp122, %cond_true117 ], [ %tmp113464, %cond_false123 ] ; <uint> [#uses=2]
- %not.tmp137 = setne uint %zero, 4294967295 ; <bool> [#uses=1]
- %tmp140 = cast bool %not.tmp137 to uint ; <uint> [#uses=1]
- %zero_addr.0 = xor uint %tmp140, %zero ; <uint> [#uses=2]
- %tmp144 = seteq uint %one, 4294967295 ; <bool> [#uses=1]
- br bool %tmp144, label %cond_next151, label %cond_true145
+ %rmask.0.0 = phi i32 [ undef, %cond_true117 ], [ %tmp1295, %cond_false123 ] ; <i32> [#uses=2]
+ %mask.1.0 = phi i32 [ %tmp122, %cond_true117 ], [ %tmp113464, %cond_false123 ] ; <i32> [#uses=2]
+ %not.tmp137 = icmp ne i32 %zero, -1 ; <i1> [#uses=1]
+ %tmp140 = zext i1 %not.tmp137 to i32 ; <i32> [#uses=1]
+ %zero_addr.0 = xor i32 %tmp140, %zero ; <i32> [#uses=2]
+ %tmp144 = icmp eq i32 %one, -1 ; <i1> [#uses=1]
+ br i1 %tmp144, label %cond_next151, label %cond_true145
cond_true145: ; preds = %cond_true135
- %tmp147 = xor uint %one, 1 ; <uint> [#uses=1]
+ %tmp147 = xor i32 %one, 1 ; <i32> [#uses=1]
br label %cond_next151
cond_next151: ; preds = %cond_true145, %cond_true135, %cond_false123, %cond_true117
- %rmask.0.1 = phi uint [ %rmask.0.0, %cond_true145 ], [ undef, %cond_true117 ], [ %tmp1295, %cond_false123 ], [ %rmask.0.0, %cond_true135 ] ; <uint> [#uses=4]
- %mask.1.1 = phi uint [ %mask.1.0, %cond_true145 ], [ %tmp122, %cond_true117 ], [ %tmp113464, %cond_false123 ], [ %mask.1.0, %cond_true135 ] ; <uint> [#uses=4]
- %one_addr.0 = phi uint [ %tmp147, %cond_true145 ], [ %one, %cond_true117 ], [ %one, %cond_false123 ], [ %one, %cond_true135 ] ; <uint> [#uses=2]
- %zero_addr.1 = phi uint [ %zero_addr.0, %cond_true145 ], [ %zero, %cond_true117 ], [ %zero, %cond_false123 ], [ %zero_addr.0, %cond_true135 ] ; <uint> [#uses=2]
- %tmp153 = seteq uint %zero_addr.1, 1 ; <bool> [#uses=2]
- %tmp158 = seteq uint %one_addr.0, 0 ; <bool> [#uses=2]
- %bothcond2 = or bool %tmp153, %tmp158 ; <bool> [#uses=1]
- %iftmp.35.0 = select bool %bothcond2, uint 4294967295, uint 0 ; <uint> [#uses=8]
- %tmp167 = seteq uint %zero_addr.1, 0 ; <bool> [#uses=1]
- %bothcond3 = or bool %tmp167, %tmp158 ; <bool> [#uses=1]
- %iftmp.36.0 = select bool %bothcond3, uint 0, uint 4294967295 ; <uint> [#uses=4]
- %tmp186 = seteq uint %one_addr.0, 1 ; <bool> [#uses=1]
- %bothcond4 = or bool %tmp153, %tmp186 ; <bool> [#uses=1]
- %iftmp.37.0 = select bool %bothcond4, uint 4294967295, uint 0 ; <uint> [#uses=6]
- %tmp196 = seteq int %tmp107, %tmp110 ; <bool> [#uses=1]
- br bool %tmp196, label %cond_true197, label %cond_false299
+ %rmask.0.1 = phi i32 [ %rmask.0.0, %cond_true145 ], [ undef, %cond_true117 ], [ %tmp1295, %cond_false123 ], [ %rmask.0.0, %cond_true135 ] ; <i32> [#uses=4]
+ %mask.1.1 = phi i32 [ %mask.1.0, %cond_true145 ], [ %tmp122, %cond_true117 ], [ %tmp113464, %cond_false123 ], [ %mask.1.0, %cond_true135 ] ; <i32> [#uses=4]
+ %one_addr.0 = phi i32 [ %tmp147, %cond_true145 ], [ %one, %cond_true117 ], [ %one, %cond_false123 ], [ %one, %cond_true135 ] ; <i32> [#uses=2]
+ %zero_addr.1 = phi i32 [ %zero_addr.0, %cond_true145 ], [ %zero, %cond_true117 ], [ %zero, %cond_false123 ], [ %zero_addr.0, %cond_true135 ] ; <i32> [#uses=2]
+ %tmp153 = icmp eq i32 %zero_addr.1, 1 ; <i1> [#uses=2]
+ %tmp158 = icmp eq i32 %one_addr.0, 0 ; <i1> [#uses=2]
+ %bothcond2 = or i1 %tmp153, %tmp158 ; <i1> [#uses=1]
+ %iftmp.35.0 = select i1 %bothcond2, i32 -1, i32 0 ; <i32> [#uses=9]
+ %tmp167 = icmp eq i32 %zero_addr.1, 0 ; <i1> [#uses=1]
+ %bothcond3 = or i1 %tmp167, %tmp158 ; <i1> [#uses=1]
+ %iftmp.36.0 = select i1 %bothcond3, i32 0, i32 -1 ; <i32> [#uses=4]
+ %tmp186 = icmp eq i32 %one_addr.0, 1 ; <i1> [#uses=1]
+ %bothcond4 = or i1 %tmp153, %tmp186 ; <i1> [#uses=1]
+ %iftmp.37.0 = select i1 %bothcond4, i32 -1, i32 0 ; <i32> [#uses=6]
+ %tmp196 = icmp eq i32 %tmp107, %tmp110 ; <i1> [#uses=1]
+ br i1 %tmp196, label %cond_true197, label %cond_false299
cond_true197: ; preds = %cond_next151
- %tmp29222 = add int %h, -1 ; <int> [#uses=3]
- %tmp29424 = setlt int %tmp29222, 0 ; <bool> [#uses=1]
- br bool %tmp29424, label %return, label %cond_true295.preheader
+ %tmp29222 = add i32 %h, -1 ; <i32> [#uses=3]
+ %tmp29424 = icmp slt i32 %tmp29222, 0 ; <i1> [#uses=1]
+ br i1 %tmp29424, label %return, label %cond_true295.preheader
cond_true249.preheader: ; preds = %cond_true295
br label %cond_true249
cond_true249: ; preds = %cond_true249, %cond_true249.preheader
- %indvar = phi uint [ 0, %cond_true249.preheader ], [ %indvar.next, %cond_true249 ] ; <uint> [#uses=2]
- %optr.3.2 = phi ubyte* [ %tmp232, %cond_true249 ], [ %dest.1.0, %cond_true249.preheader ] ; <ubyte*> [#uses=1]
- %bptr.3.2 = phi ubyte* [ %tmp226, %cond_true249 ], [ %line.1.0, %cond_true249.preheader ] ; <ubyte*> [#uses=1]
- %tmp. = add int %tmp109, %w ; <int> [#uses=1]
- %indvar = cast uint %indvar to int ; <int> [#uses=1]
- %tmp.58 = mul int %indvar, -8 ; <int> [#uses=1]
- %tmp.57 = add int %tmp., -16 ; <int> [#uses=1]
- %tmp246.2 = add int %tmp.58, %tmp.57 ; <int> [#uses=1]
- %tmp225 = cast ubyte* %bptr.3.2 to uint ; <uint> [#uses=1]
- %tmp226 = add uint %tmp225, 1 ; <uint> [#uses=1]
- %tmp226 = cast uint %tmp226 to ubyte* ; <ubyte*> [#uses=3]
- %tmp228 = load ubyte* %tmp226 ; <ubyte> [#uses=1]
- %tmp228 = cast ubyte %tmp228 to uint ; <uint> [#uses=1]
- %tmp230 = xor uint %tmp228, %iftmp.35.0 ; <uint> [#uses=2]
- %tmp231 = cast ubyte* %optr.3.2 to uint ; <uint> [#uses=1]
- %tmp232 = add uint %tmp231, 1 ; <uint> [#uses=1]
- %tmp232 = cast uint %tmp232 to ubyte* ; <ubyte*> [#uses=4]
- %tmp235 = or uint %tmp230, %iftmp.36.0 ; <uint> [#uses=1]
- %tmp235 = cast uint %tmp235 to ubyte ; <ubyte> [#uses=1]
- %tmp237 = load ubyte* %tmp232 ; <ubyte> [#uses=1]
- %tmp238 = and ubyte %tmp235, %tmp237 ; <ubyte> [#uses=1]
- %tmp241 = and uint %tmp230, %iftmp.37.0 ; <uint> [#uses=1]
- %tmp241 = cast uint %tmp241 to ubyte ; <ubyte> [#uses=1]
- %tmp242 = or ubyte %tmp238, %tmp241 ; <ubyte> [#uses=1]
- store ubyte %tmp242, ubyte* %tmp232
- %tmp24629 = add int %tmp246.2, -8 ; <int> [#uses=2]
- %tmp24831 = setlt int %tmp24629, 0 ; <bool> [#uses=1]
- %indvar.next = add uint %indvar, 1 ; <uint> [#uses=1]
- br bool %tmp24831, label %bb252.loopexit, label %cond_true249
+ %indvar = phi i32 [ 0, %cond_true249.preheader ], [ %indvar.next, %cond_true249 ] ; <i32> [#uses=3]
+ %optr.3.2 = phi i8* [ %tmp232.upgrd.12, %cond_true249 ], [ %dest.1.0, %cond_true249.preheader ] ; <i8*> [#uses=1]
+ %bptr.3.2 = phi i8* [ %tmp226.upgrd.10, %cond_true249 ], [ %line.1.0, %cond_true249.preheader ] ; <i8*> [#uses=1]
+ %tmp. = add i32 %tmp109, %w ; <i32> [#uses=1]
+ %tmp.58 = mul i32 %indvar, -8 ; <i32> [#uses=1]
+ %tmp.57 = add i32 %tmp., -16 ; <i32> [#uses=1]
+ %tmp246.2 = add i32 %tmp.58, %tmp.57 ; <i32> [#uses=1]
+ %tmp225 = ptrtoint i8* %bptr.3.2 to i32 ; <i32> [#uses=1]
+ %tmp226 = add i32 %tmp225, 1 ; <i32> [#uses=1]
+ %tmp226.upgrd.10 = inttoptr i32 %tmp226 to i8* ; <i8*> [#uses=3]
+ %tmp228 = load i8* %tmp226.upgrd.10 ; <i8> [#uses=1]
+ %tmp228.upgrd.11 = zext i8 %tmp228 to i32 ; <i32> [#uses=1]
+ %tmp230 = xor i32 %tmp228.upgrd.11, %iftmp.35.0 ; <i32> [#uses=2]
+ %tmp231 = ptrtoint i8* %optr.3.2 to i32 ; <i32> [#uses=1]
+ %tmp232 = add i32 %tmp231, 1 ; <i32> [#uses=1]
+ %tmp232.upgrd.12 = inttoptr i32 %tmp232 to i8* ; <i8*> [#uses=4]
+ %tmp235 = or i32 %tmp230, %iftmp.36.0 ; <i32> [#uses=1]
+ %tmp235.upgrd.13 = trunc i32 %tmp235 to i8 ; <i8> [#uses=1]
+ %tmp237 = load i8* %tmp232.upgrd.12 ; <i8> [#uses=1]
+ %tmp238 = and i8 %tmp235.upgrd.13, %tmp237 ; <i8> [#uses=1]
+ %tmp241 = and i32 %tmp230, %iftmp.37.0 ; <i32> [#uses=1]
+ %tmp241.upgrd.14 = trunc i32 %tmp241 to i8 ; <i8> [#uses=1]
+ %tmp242 = or i8 %tmp238, %tmp241.upgrd.14 ; <i8> [#uses=1]
+ store i8 %tmp242, i8* %tmp232.upgrd.12
+ %tmp24629 = add i32 %tmp246.2, -8 ; <i32> [#uses=2]
+ %tmp24831 = icmp slt i32 %tmp24629, 0 ; <i1> [#uses=1]
+ %indvar.next = add i32 %indvar, 1 ; <i32> [#uses=1]
+ br i1 %tmp24831, label %bb252.loopexit, label %cond_true249
bb252.loopexit: ; preds = %cond_true249
br label %bb252
bb252: ; preds = %cond_true295, %bb252.loopexit
- %optr.3.3 = phi ubyte* [ %dest.1.0, %cond_true295 ], [ %tmp232, %bb252.loopexit ] ; <ubyte*> [#uses=1]
- %bptr.3.3 = phi ubyte* [ %line.1.0, %cond_true295 ], [ %tmp226, %bb252.loopexit ] ; <ubyte*> [#uses=1]
- %tmp246.3 = phi int [ %tmp246, %cond_true295 ], [ %tmp24629, %bb252.loopexit ] ; <int> [#uses=1]
- %tmp254 = setgt int %tmp246.3, -8 ; <bool> [#uses=1]
- br bool %tmp254, label %cond_true255, label %cond_next280
+ %optr.3.3 = phi i8* [ %dest.1.0, %cond_true295 ], [ %tmp232.upgrd.12, %bb252.loopexit ] ; <i8*> [#uses=1]
+ %bptr.3.3 = phi i8* [ %line.1.0, %cond_true295 ], [ %tmp226.upgrd.10, %bb252.loopexit ] ; <i8*> [#uses=1]
+ %tmp246.3 = phi i32 [ %tmp246, %cond_true295 ], [ %tmp24629, %bb252.loopexit ] ; <i32> [#uses=1]
+ %tmp254 = icmp sgt i32 %tmp246.3, -8 ; <i1> [#uses=1]
+ br i1 %tmp254, label %cond_true255, label %cond_next280
cond_true255: ; preds = %bb252
- %tmp256 = cast ubyte* %bptr.3.3 to uint ; <uint> [#uses=1]
- %tmp257 = add uint %tmp256, 1 ; <uint> [#uses=1]
- %tmp257 = cast uint %tmp257 to ubyte* ; <ubyte*> [#uses=1]
- %tmp259 = load ubyte* %tmp257 ; <ubyte> [#uses=1]
- %tmp259 = cast ubyte %tmp259 to uint ; <uint> [#uses=1]
- %tmp261 = xor uint %tmp259, %iftmp.35.0 ; <uint> [#uses=2]
- %tmp262 = cast ubyte* %optr.3.3 to uint ; <uint> [#uses=1]
- %tmp263 = add uint %tmp262, 1 ; <uint> [#uses=1]
- %tmp263 = cast uint %tmp263 to ubyte* ; <ubyte*> [#uses=2]
- %tmp265 = cast uint %tmp261 to ubyte ; <ubyte> [#uses=1]
- %tmp268 = or ubyte %tmp266, %tmp265 ; <ubyte> [#uses=1]
- %tmp270 = load ubyte* %tmp263 ; <ubyte> [#uses=1]
- %tmp271 = and ubyte %tmp268, %tmp270 ; <ubyte> [#uses=1]
- %tmp276 = and uint %tmp274, %tmp261 ; <uint> [#uses=1]
- %tmp276 = cast uint %tmp276 to ubyte ; <ubyte> [#uses=1]
- %tmp277 = or ubyte %tmp271, %tmp276 ; <ubyte> [#uses=1]
- store ubyte %tmp277, ubyte* %tmp263
+ %tmp256 = ptrtoint i8* %bptr.3.3 to i32 ; <i32> [#uses=1]
+ %tmp257 = add i32 %tmp256, 1 ; <i32> [#uses=1]
+ %tmp257.upgrd.15 = inttoptr i32 %tmp257 to i8* ; <i8*> [#uses=1]
+ %tmp259 = load i8* %tmp257.upgrd.15 ; <i8> [#uses=1]
+ %tmp259.upgrd.16 = zext i8 %tmp259 to i32 ; <i32> [#uses=1]
+ %tmp261 = xor i32 %tmp259.upgrd.16, %iftmp.35.0 ; <i32> [#uses=2]
+ %tmp262 = ptrtoint i8* %optr.3.3 to i32 ; <i32> [#uses=1]
+ %tmp263 = add i32 %tmp262, 1 ; <i32> [#uses=1]
+ %tmp263.upgrd.17 = inttoptr i32 %tmp263 to i8* ; <i8*> [#uses=2]
+ %tmp265 = trunc i32 %tmp261 to i8 ; <i8> [#uses=1]
+ %tmp268 = or i8 %tmp266, %tmp265 ; <i8> [#uses=1]
+ %tmp270 = load i8* %tmp263.upgrd.17 ; <i8> [#uses=1]
+ %tmp271 = and i8 %tmp268, %tmp270 ; <i8> [#uses=1]
+ %tmp276 = and i32 %tmp274, %tmp261 ; <i32> [#uses=1]
+ %tmp276.upgrd.18 = trunc i32 %tmp276 to i8 ; <i8> [#uses=1]
+ %tmp277 = or i8 %tmp271, %tmp276.upgrd.18 ; <i8> [#uses=1]
+ store i8 %tmp277, i8* %tmp263.upgrd.17
br label %cond_next280
cond_next280: ; preds = %cond_true255, %bb252
- %tmp281 = cast ubyte** %dest_line.1.0 to uint ; <uint> [#uses=1]
- %tmp282 = add uint %tmp281, 4 ; <uint> [#uses=1]
- %tmp282 = cast uint %tmp282 to ubyte** ; <ubyte**> [#uses=2]
- %tmp284 = load ubyte** %tmp282 ; <ubyte*> [#uses=1]
- %tmp286 = getelementptr ubyte* %tmp284, int %tmp93 ; <ubyte*> [#uses=1]
- %tmp292 = add int %tmp292.0, -1 ; <int> [#uses=1]
- %tmp294 = setlt int %tmp292, 0 ; <bool> [#uses=1]
- %indvar.next61 = add uint %indvar60, 1 ; <uint> [#uses=1]
- br bool %tmp294, label %return.loopexit, label %cond_true295
+ %tmp281 = ptrtoint i8** %dest_line.1.0 to i32 ; <i32> [#uses=1]
+ %tmp282 = add i32 %tmp281, 4 ; <i32> [#uses=1]
+ %tmp282.upgrd.19 = inttoptr i32 %tmp282 to i8** ; <i8**> [#uses=2]
+ %tmp284 = load i8** %tmp282.upgrd.19 ; <i8*> [#uses=1]
+ %tmp286 = getelementptr i8* %tmp284, i32 %tmp93 ; <i8*> [#uses=1]
+ %tmp292 = add i32 %tmp292.0, -1 ; <i32> [#uses=1]
+ %tmp294 = icmp slt i32 %tmp292, 0 ; <i1> [#uses=1]
+ %indvar.next61 = add i32 %indvar60, 1 ; <i32> [#uses=1]
+ br i1 %tmp294, label %return.loopexit, label %cond_true295
cond_true295.preheader: ; preds = %cond_true197
- %tmp200 = sub int %w, %tmp110 ; <int> [#uses=1]
- %tmp209 = cast uint %mask.1.1 to ubyte ; <ubyte> [#uses=1]
- %tmp209not = xor ubyte %tmp209, 255 ; <ubyte> [#uses=1]
- %tmp212 = cast uint %iftmp.36.0 to ubyte ; <ubyte> [#uses=2]
- %tmp211 = or ubyte %tmp212, %tmp209not ; <ubyte> [#uses=2]
- %tmp219 = and uint %iftmp.37.0, %mask.1.1 ; <uint> [#uses=2]
- %tmp246 = add int %tmp200, -8 ; <int> [#uses=3]
- %tmp248 = setlt int %tmp246, 0 ; <bool> [#uses=1]
- %tmp264 = cast uint %rmask.0.1 to ubyte ; <ubyte> [#uses=1]
- %tmp264not = xor ubyte %tmp264, 255 ; <ubyte> [#uses=1]
- %tmp266 = or ubyte %tmp212, %tmp264not ; <ubyte> [#uses=2]
- %tmp274 = and uint %iftmp.37.0, %rmask.0.1 ; <uint> [#uses=2]
- br bool %tmp248, label %cond_true295.preheader.split.us, label %cond_true295.preheader.split
+ %tmp200 = sub i32 %w, %tmp110 ; <i32> [#uses=1]
+ %tmp209 = trunc i32 %mask.1.1 to i8 ; <i8> [#uses=1]
+ %tmp209not = xor i8 %tmp209, -1 ; <i8> [#uses=1]
+ %tmp212 = trunc i32 %iftmp.36.0 to i8 ; <i8> [#uses=2]
+ %tmp211 = or i8 %tmp212, %tmp209not ; <i8> [#uses=2]
+ %tmp219 = and i32 %iftmp.37.0, %mask.1.1 ; <i32> [#uses=2]
+ %tmp246 = add i32 %tmp200, -8 ; <i32> [#uses=3]
+ %tmp248 = icmp slt i32 %tmp246, 0 ; <i1> [#uses=1]
+ %tmp264 = trunc i32 %rmask.0.1 to i8 ; <i8> [#uses=1]
+ %tmp264not = xor i8 %tmp264, -1 ; <i8> [#uses=1]
+ %tmp266 = or i8 %tmp212, %tmp264not ; <i8> [#uses=2]
+ %tmp274 = and i32 %iftmp.37.0, %rmask.0.1 ; <i32> [#uses=2]
+ br i1 %tmp248, label %cond_true295.preheader.split.us, label %cond_true295.preheader.split
cond_true295.preheader.split.us: ; preds = %cond_true295.preheader
br label %cond_true295.us
cond_true295.us: ; preds = %cond_next280.us, %cond_true295.preheader.split.us
- %indvar86 = phi uint [ 0, %cond_true295.preheader.split.us ], [ %indvar.next87, %cond_next280.us ] ; <uint> [#uses=3]
- %dest.1.0.us = phi ubyte* [ %tmp286.us, %cond_next280.us ], [ %tmp100, %cond_true295.preheader.split.us ] ; <ubyte*> [#uses=3]
- %dest_line.1.0.us = phi ubyte** [ %tmp282.us, %cond_next280.us ], [ %tmp96, %cond_true295.preheader.split.us ] ; <ubyte**> [#uses=1]
- %tmp.89 = sub uint 0, %indvar86 ; <uint> [#uses=1]
- %tmp.89 = cast uint %tmp.89 to int ; <int> [#uses=1]
- %tmp292.0.us = add int %tmp.89, %tmp29222 ; <int> [#uses=1]
- %tmp.91 = mul uint %indvar86, %raster ; <uint> [#uses=1]
- %tmp.91 = cast uint %tmp.91 to int ; <int> [#uses=1]
- %tmp104.sum101 = add int %tmp102, %tmp.91 ; <int> [#uses=1]
- %line.1.0.us = getelementptr ubyte* %base, int %tmp104.sum101 ; <ubyte*> [#uses=2]
- %tmp.us = load ubyte* %line.1.0.us ; <ubyte> [#uses=1]
- %tmp206.us = cast ubyte %tmp.us to uint ; <uint> [#uses=1]
- %tmp208.us = xor uint %tmp206.us, %iftmp.35.0 ; <uint> [#uses=2]
- %tmp210.us = cast uint %tmp208.us to ubyte ; <ubyte> [#uses=1]
- %tmp213.us = or ubyte %tmp211, %tmp210.us ; <ubyte> [#uses=1]
- %tmp215.us = load ubyte* %dest.1.0.us ; <ubyte> [#uses=1]
- %tmp216.us = and ubyte %tmp213.us, %tmp215.us ; <ubyte> [#uses=1]
- %tmp221.us = and uint %tmp219, %tmp208.us ; <uint> [#uses=1]
- %tmp221.us = cast uint %tmp221.us to ubyte ; <ubyte> [#uses=1]
- %tmp222.us = or ubyte %tmp216.us, %tmp221.us ; <ubyte> [#uses=1]
- store ubyte %tmp222.us, ubyte* %dest.1.0.us
- br bool true, label %bb252.us, label %cond_true249.preheader.us
+ %indvar86 = phi i32 [ 0, %cond_true295.preheader.split.us ], [ %indvar.next87, %cond_next280.us ] ; <i32> [#uses=3]
+ %dest.1.0.us = phi i8* [ %tmp286.us, %cond_next280.us ], [ %tmp100, %cond_true295.preheader.split.us ] ; <i8*> [#uses=3]
+ %dest_line.1.0.us = phi i8** [ %tmp282.us.upgrd.21, %cond_next280.us ], [ %tmp96, %cond_true295.preheader.split.us ] ; <i8**> [#uses=1]
+ %tmp.89 = sub i32 0, %indvar86 ; <i32> [#uses=2]
+ %tmp292.0.us = add i32 %tmp.89, %tmp29222 ; <i32> [#uses=1]
+ %tmp.91 = mul i32 %indvar86, %raster ; <i32> [#uses=2]
+ %tmp104.sum101 = add i32 %tmp102, %tmp.91 ; <i32> [#uses=1]
+ %line.1.0.us = getelementptr i8* %base, i32 %tmp104.sum101 ; <i8*> [#uses=2]
+ %tmp.us = load i8* %line.1.0.us ; <i8> [#uses=1]
+ %tmp206.us = zext i8 %tmp.us to i32 ; <i32> [#uses=1]
+ %tmp208.us = xor i32 %tmp206.us, %iftmp.35.0 ; <i32> [#uses=2]
+ %tmp210.us = trunc i32 %tmp208.us to i8 ; <i8> [#uses=1]
+ %tmp213.us = or i8 %tmp211, %tmp210.us ; <i8> [#uses=1]
+ %tmp215.us = load i8* %dest.1.0.us ; <i8> [#uses=1]
+ %tmp216.us = and i8 %tmp213.us, %tmp215.us ; <i8> [#uses=1]
+ %tmp221.us = and i32 %tmp219, %tmp208.us ; <i32> [#uses=1]
+ %tmp221.us.upgrd.20 = trunc i32 %tmp221.us to i8 ; <i8> [#uses=1]
+ %tmp222.us = or i8 %tmp216.us, %tmp221.us.upgrd.20 ; <i8> [#uses=1]
+ store i8 %tmp222.us, i8* %dest.1.0.us
+ br i1 true, label %bb252.us, label %cond_true249.preheader.us
cond_next280.us: ; preds = %bb252.us, %cond_true255.us
- %tmp281.us = cast ubyte** %dest_line.1.0.us to uint ; <uint> [#uses=1]
- %tmp282.us = add uint %tmp281.us, 4 ; <uint> [#uses=1]
- %tmp282.us = cast uint %tmp282.us to ubyte** ; <ubyte**> [#uses=2]
- %tmp284.us = load ubyte** %tmp282.us ; <ubyte*> [#uses=1]
- %tmp286.us = getelementptr ubyte* %tmp284.us, int %tmp93 ; <ubyte*> [#uses=1]
- %tmp292.us = add int %tmp292.0.us, -1 ; <int> [#uses=1]
- %tmp294.us = setlt int %tmp292.us, 0 ; <bool> [#uses=1]
- %indvar.next87 = add uint %indvar86, 1 ; <uint> [#uses=1]
- br bool %tmp294.us, label %return.loopexit.us, label %cond_true295.us
+ %tmp281.us = ptrtoint i8** %dest_line.1.0.us to i32 ; <i32> [#uses=1]
+ %tmp282.us = add i32 %tmp281.us, 4 ; <i32> [#uses=1]
+ %tmp282.us.upgrd.21 = inttoptr i32 %tmp282.us to i8** ; <i8**> [#uses=2]
+ %tmp284.us = load i8** %tmp282.us.upgrd.21 ; <i8*> [#uses=1]
+ %tmp286.us = getelementptr i8* %tmp284.us, i32 %tmp93 ; <i8*> [#uses=1]
+ %tmp292.us = add i32 %tmp292.0.us, -1 ; <i32> [#uses=1]
+ %tmp294.us = icmp slt i32 %tmp292.us, 0 ; <i1> [#uses=1]
+ %indvar.next87 = add i32 %indvar86, 1 ; <i32> [#uses=1]
+ br i1 %tmp294.us, label %return.loopexit.us, label %cond_true295.us
cond_true255.us: ; preds = %bb252.us
- %tmp256.us = cast ubyte* %bptr.3.3.us to uint ; <uint> [#uses=1]
- %tmp257.us = add uint %tmp256.us, 1 ; <uint> [#uses=1]
- %tmp257.us = cast uint %tmp257.us to ubyte* ; <ubyte*> [#uses=1]
- %tmp259.us = load ubyte* %tmp257.us ; <ubyte> [#uses=1]
- %tmp259.us = cast ubyte %tmp259.us to uint ; <uint> [#uses=1]
- %tmp261.us = xor uint %tmp259.us, %iftmp.35.0 ; <uint> [#uses=2]
- %tmp262.us = cast ubyte* %optr.3.3.us to uint ; <uint> [#uses=1]
- %tmp263.us = add uint %tmp262.us, 1 ; <uint> [#uses=1]
- %tmp263.us = cast uint %tmp263.us to ubyte* ; <ubyte*> [#uses=2]
- %tmp265.us = cast uint %tmp261.us to ubyte ; <ubyte> [#uses=1]
- %tmp268.us = or ubyte %tmp266, %tmp265.us ; <ubyte> [#uses=1]
- %tmp270.us = load ubyte* %tmp263.us ; <ubyte> [#uses=1]
- %tmp271.us = and ubyte %tmp268.us, %tmp270.us ; <ubyte> [#uses=1]
- %tmp276.us = and uint %tmp274, %tmp261.us ; <uint> [#uses=1]
- %tmp276.us = cast uint %tmp276.us to ubyte ; <ubyte> [#uses=1]
- %tmp277.us = or ubyte %tmp271.us, %tmp276.us ; <ubyte> [#uses=1]
- store ubyte %tmp277.us, ubyte* %tmp263.us
+ %tmp256.us = ptrtoint i8* %bptr.3.3.us to i32 ; <i32> [#uses=1]
+ %tmp257.us = add i32 %tmp256.us, 1 ; <i32> [#uses=1]
+ %tmp257.us.upgrd.22 = inttoptr i32 %tmp257.us to i8* ; <i8*> [#uses=1]
+ %tmp259.us = load i8* %tmp257.us.upgrd.22 ; <i8> [#uses=1]
+ %tmp259.us.upgrd.23 = zext i8 %tmp259.us to i32 ; <i32> [#uses=1]
+ %tmp261.us = xor i32 %tmp259.us.upgrd.23, %iftmp.35.0 ; <i32> [#uses=2]
+ %tmp262.us = ptrtoint i8* %optr.3.3.us to i32 ; <i32> [#uses=1]
+ %tmp263.us = add i32 %tmp262.us, 1 ; <i32> [#uses=1]
+ %tmp263.us.upgrd.24 = inttoptr i32 %tmp263.us to i8* ; <i8*> [#uses=2]
+ %tmp265.us = trunc i32 %tmp261.us to i8 ; <i8> [#uses=1]
+ %tmp268.us = or i8 %tmp266, %tmp265.us ; <i8> [#uses=1]
+ %tmp270.us = load i8* %tmp263.us.upgrd.24 ; <i8> [#uses=1]
+ %tmp271.us = and i8 %tmp268.us, %tmp270.us ; <i8> [#uses=1]
+ %tmp276.us = and i32 %tmp274, %tmp261.us ; <i32> [#uses=1]
+ %tmp276.us.upgrd.25 = trunc i32 %tmp276.us to i8 ; <i8> [#uses=1]
+ %tmp277.us = or i8 %tmp271.us, %tmp276.us.upgrd.25 ; <i8> [#uses=1]
+ store i8 %tmp277.us, i8* %tmp263.us.upgrd.24
br label %cond_next280.us
bb252.us: ; preds = %bb252.loopexit.us, %cond_true295.us
- %optr.3.3.us = phi ubyte* [ %dest.1.0.us, %cond_true295.us ], [ undef, %bb252.loopexit.us ] ; <ubyte*> [#uses=1]
- %bptr.3.3.us = phi ubyte* [ %line.1.0.us, %cond_true295.us ], [ undef, %bb252.loopexit.us ] ; <ubyte*> [#uses=1]
- %tmp246.3.us = phi int [ %tmp246, %cond_true295.us ], [ undef, %bb252.loopexit.us ] ; <int> [#uses=1]
- %tmp254.us = setgt int %tmp246.3.us, -8 ; <bool> [#uses=1]
- br bool %tmp254.us, label %cond_true255.us, label %cond_next280.us
+ %optr.3.3.us = phi i8* [ %dest.1.0.us, %cond_true295.us ], [ undef, %bb252.loopexit.us ] ; <i8*> [#uses=1]
+ %bptr.3.3.us = phi i8* [ %line.1.0.us, %cond_true295.us ], [ undef, %bb252.loopexit.us ] ; <i8*> [#uses=1]
+ %tmp246.3.us = phi i32 [ %tmp246, %cond_true295.us ], [ undef, %bb252.loopexit.us ] ; <i32> [#uses=1]
+ %tmp254.us = icmp sgt i32 %tmp246.3.us, -8 ; <i1> [#uses=1]
+ br i1 %tmp254.us, label %cond_true255.us, label %cond_next280.us
cond_true249.us: ; preds = %cond_true249.preheader.us, %cond_true249.us
- br bool undef, label %bb252.loopexit.us, label %cond_true249.us
+ br i1 undef, label %bb252.loopexit.us, label %cond_true249.us
cond_true249.preheader.us: ; preds = %cond_true295.us
br label %cond_true249.us
@@ -310,197 +305,197 @@ cond_true295.preheader.split: ; preds = %cond_true295.preheader
br label %cond_true295
cond_true295: ; preds = %cond_true295.preheader.split, %cond_next280
- %indvar60 = phi uint [ 0, %cond_true295.preheader.split ], [ %indvar.next61, %cond_next280 ] ; <uint> [#uses=3]
- %dest.1.0 = phi ubyte* [ %tmp286, %cond_next280 ], [ %tmp100, %cond_true295.preheader.split ] ; <ubyte*> [#uses=4]
- %dest_line.1.0 = phi ubyte** [ %tmp282, %cond_next280 ], [ %tmp96, %cond_true295.preheader.split ] ; <ubyte**> [#uses=1]
- %tmp.63 = sub uint 0, %indvar60 ; <uint> [#uses=1]
- %tmp.63 = cast uint %tmp.63 to int ; <int> [#uses=1]
- %tmp292.0 = add int %tmp.63, %tmp29222 ; <int> [#uses=1]
- %tmp.65 = mul uint %indvar60, %raster ; <uint> [#uses=1]
- %tmp.65 = cast uint %tmp.65 to int ; <int> [#uses=1]
- %tmp104.sum97 = add int %tmp102, %tmp.65 ; <int> [#uses=1]
- %line.1.0 = getelementptr ubyte* %base, int %tmp104.sum97 ; <ubyte*> [#uses=3]
- %tmp = load ubyte* %line.1.0 ; <ubyte> [#uses=1]
- %tmp206 = cast ubyte %tmp to uint ; <uint> [#uses=1]
- %tmp208 = xor uint %tmp206, %iftmp.35.0 ; <uint> [#uses=2]
- %tmp210 = cast uint %tmp208 to ubyte ; <ubyte> [#uses=1]
- %tmp213 = or ubyte %tmp211, %tmp210 ; <ubyte> [#uses=1]
- %tmp215 = load ubyte* %dest.1.0 ; <ubyte> [#uses=1]
- %tmp216 = and ubyte %tmp213, %tmp215 ; <ubyte> [#uses=1]
- %tmp221 = and uint %tmp219, %tmp208 ; <uint> [#uses=1]
- %tmp221 = cast uint %tmp221 to ubyte ; <ubyte> [#uses=1]
- %tmp222 = or ubyte %tmp216, %tmp221 ; <ubyte> [#uses=1]
- store ubyte %tmp222, ubyte* %dest.1.0
- br bool false, label %bb252, label %cond_true249.preheader
+ %indvar60 = phi i32 [ 0, %cond_true295.preheader.split ], [ %indvar.next61, %cond_next280 ] ; <i32> [#uses=3]
+ %dest.1.0 = phi i8* [ %tmp286, %cond_next280 ], [ %tmp100, %cond_true295.preheader.split ] ; <i8*> [#uses=4]
+ %dest_line.1.0 = phi i8** [ %tmp282.upgrd.19, %cond_next280 ], [ %tmp96, %cond_true295.preheader.split ] ; <i8**> [#uses=1]
+ %tmp.63 = sub i32 0, %indvar60 ; <i32> [#uses=2]
+ %tmp292.0 = add i32 %tmp.63, %tmp29222 ; <i32> [#uses=1]
+ %tmp.65 = mul i32 %indvar60, %raster ; <i32> [#uses=2]
+ %tmp104.sum97 = add i32 %tmp102, %tmp.65 ; <i32> [#uses=1]
+ %line.1.0 = getelementptr i8* %base, i32 %tmp104.sum97 ; <i8*> [#uses=3]
+ %tmp.upgrd.26 = load i8* %line.1.0 ; <i8> [#uses=1]
+ %tmp206 = zext i8 %tmp.upgrd.26 to i32 ; <i32> [#uses=1]
+ %tmp208 = xor i32 %tmp206, %iftmp.35.0 ; <i32> [#uses=2]
+ %tmp210 = trunc i32 %tmp208 to i8 ; <i8> [#uses=1]
+ %tmp213 = or i8 %tmp211, %tmp210 ; <i8> [#uses=1]
+ %tmp215 = load i8* %dest.1.0 ; <i8> [#uses=1]
+ %tmp216 = and i8 %tmp213, %tmp215 ; <i8> [#uses=1]
+ %tmp221 = and i32 %tmp219, %tmp208 ; <i32> [#uses=1]
+ %tmp221.upgrd.27 = trunc i32 %tmp221 to i8 ; <i8> [#uses=1]
+ %tmp222 = or i8 %tmp216, %tmp221.upgrd.27 ; <i8> [#uses=1]
+ store i8 %tmp222, i8* %dest.1.0
+ br i1 false, label %bb252, label %cond_true249.preheader
cond_false299: ; preds = %cond_next151
- %tmp302 = sub int %tmp107, %tmp110 ; <int> [#uses=1]
- %tmp303 = and int %tmp302, 7 ; <int> [#uses=3]
- %tmp305 = sub int 8, %tmp303 ; <int> [#uses=1]
- %tmp45438 = add int %h, -1 ; <int> [#uses=2]
- %tmp45640 = setlt int %tmp45438, 0 ; <bool> [#uses=1]
- br bool %tmp45640, label %return, label %cond_true457.preheader
+ %tmp302 = sub i32 %tmp107, %tmp110 ; <i32> [#uses=1]
+ %tmp303 = and i32 %tmp302, 7 ; <i32> [#uses=3]
+ %tmp305 = sub i32 8, %tmp303 ; <i32> [#uses=1]
+ %tmp45438 = add i32 %h, -1 ; <i32> [#uses=2]
+ %tmp45640 = icmp slt i32 %tmp45438, 0 ; <i1> [#uses=1]
+ br i1 %tmp45640, label %return, label %cond_true457.preheader
cond_true316: ; preds = %cond_true457
- %tmp318 = cast ubyte %tmp318 to uint ; <uint> [#uses=1]
- %tmp320 = shr uint %tmp318, ubyte %tmp319 ; <uint> [#uses=1]
+ %tmp318 = zext i8 %tmp318.upgrd.48 to i32 ; <i32> [#uses=1]
+ %shift.upgrd.28 = zext i8 %tmp319 to i32 ; <i32> [#uses=1]
+ %tmp320 = lshr i32 %tmp318, %shift.upgrd.28 ; <i32> [#uses=1]
br label %cond_next340
cond_false321: ; preds = %cond_true457
- %tmp3188 = cast ubyte %tmp318 to uint ; <uint> [#uses=1]
- %tmp325 = shl uint %tmp3188, ubyte %tmp324 ; <uint> [#uses=2]
- %tmp326 = cast ubyte* %line.3.0 to uint ; <uint> [#uses=1]
- %tmp327 = add uint %tmp326, 1 ; <uint> [#uses=1]
- %tmp327 = cast uint %tmp327 to ubyte* ; <ubyte*> [#uses=3]
- br bool %tmp330, label %cond_true331, label %cond_next340
+ %tmp3188 = zext i8 %tmp318.upgrd.48 to i32 ; <i32> [#uses=1]
+ %shift.upgrd.29 = zext i8 %tmp324 to i32 ; <i32> [#uses=1]
+ %tmp325 = shl i32 %tmp3188, %shift.upgrd.29 ; <i32> [#uses=2]
+ %tmp326 = ptrtoint i8* %line.3.0 to i32 ; <i32> [#uses=1]
+ %tmp327 = add i32 %tmp326, 1 ; <i32> [#uses=1]
+ %tmp327.upgrd.30 = inttoptr i32 %tmp327 to i8* ; <i8*> [#uses=3]
+ br i1 %tmp330, label %cond_true331, label %cond_next340
cond_true331: ; preds = %cond_false321
- %tmp333 = load ubyte* %tmp327 ; <ubyte> [#uses=1]
- %tmp333 = cast ubyte %tmp333 to uint ; <uint> [#uses=1]
- %tmp335 = shr uint %tmp333, ubyte %tmp319 ; <uint> [#uses=1]
- %tmp337 = add uint %tmp335, %tmp325 ; <uint> [#uses=1]
+ %tmp333 = load i8* %tmp327.upgrd.30 ; <i8> [#uses=1]
+ %tmp333.upgrd.31 = zext i8 %tmp333 to i32 ; <i32> [#uses=1]
+ %shift.upgrd.32 = zext i8 %tmp319 to i32 ; <i32> [#uses=1]
+ %tmp335 = lshr i32 %tmp333.upgrd.31, %shift.upgrd.32 ; <i32> [#uses=1]
+ %tmp337 = add i32 %tmp335, %tmp325 ; <i32> [#uses=1]
br label %cond_next340
cond_next340: ; preds = %cond_true331, %cond_false321, %cond_true316
- %bits.0 = phi uint [ %tmp320, %cond_true316 ], [ %tmp337, %cond_true331 ], [ %tmp325, %cond_false321 ] ; <uint> [#uses=1]
- %bptr307.3 = phi ubyte* [ %line.3.0, %cond_true316 ], [ %tmp327, %cond_true331 ], [ %tmp327, %cond_false321 ] ; <ubyte*> [#uses=2]
- %tmp343 = xor uint %bits.0, %iftmp.35.0 ; <uint> [#uses=2]
- %tmp345 = cast uint %tmp343 to ubyte ; <ubyte> [#uses=1]
- %tmp348 = or ubyte %tmp346, %tmp345 ; <ubyte> [#uses=1]
- %tmp350 = load ubyte* %dest.3.0 ; <ubyte> [#uses=1]
- %tmp351 = and ubyte %tmp348, %tmp350 ; <ubyte> [#uses=1]
- %tmp356 = and uint %tmp354, %tmp343 ; <uint> [#uses=1]
- %tmp356 = cast uint %tmp356 to ubyte ; <ubyte> [#uses=1]
- %tmp357 = or ubyte %tmp351, %tmp356 ; <ubyte> [#uses=1]
- store ubyte %tmp357, ubyte* %dest.3.0
- %tmp362 = cast ubyte* %dest.3.0 to uint ; <uint> [#uses=1]
- %optr309.3.in51 = add uint %tmp362, 1 ; <uint> [#uses=2]
- %optr309.353 = cast uint %optr309.3.in51 to ubyte* ; <ubyte*> [#uses=2]
- br bool %tmp39755, label %cond_true398.preheader, label %bb401
+ %bits.0 = phi i32 [ %tmp320, %cond_true316 ], [ %tmp337, %cond_true331 ], [ %tmp325, %cond_false321 ] ; <i32> [#uses=1]
+ %bptr307.3 = phi i8* [ %line.3.0, %cond_true316 ], [ %tmp327.upgrd.30, %cond_true331 ], [ %tmp327.upgrd.30, %cond_false321 ] ; <i8*> [#uses=2]
+ %tmp343 = xor i32 %bits.0, %iftmp.35.0 ; <i32> [#uses=2]
+ %tmp345 = trunc i32 %tmp343 to i8 ; <i8> [#uses=1]
+ %tmp348 = or i8 %tmp346, %tmp345 ; <i8> [#uses=1]
+ %tmp350 = load i8* %dest.3.0 ; <i8> [#uses=1]
+ %tmp351 = and i8 %tmp348, %tmp350 ; <i8> [#uses=1]
+ %tmp356 = and i32 %tmp354, %tmp343 ; <i32> [#uses=1]
+ %tmp356.upgrd.33 = trunc i32 %tmp356 to i8 ; <i8> [#uses=1]
+ %tmp357 = or i8 %tmp351, %tmp356.upgrd.33 ; <i8> [#uses=1]
+ store i8 %tmp357, i8* %dest.3.0
+ %tmp362 = ptrtoint i8* %dest.3.0 to i32 ; <i32> [#uses=1]
+ %optr309.3.in51 = add i32 %tmp362, 1 ; <i32> [#uses=2]
+ %optr309.353 = inttoptr i32 %optr309.3.in51 to i8* ; <i8*> [#uses=2]
+ br i1 %tmp39755, label %cond_true398.preheader, label %bb401
cond_true398.preheader: ; preds = %cond_next340
br label %cond_true398
cond_true398: ; preds = %cond_true398, %cond_true398.preheader
- %indvar66 = phi uint [ 0, %cond_true398.preheader ], [ %indvar.next67, %cond_true398 ] ; <uint> [#uses=3]
- %bptr307.4.0 = phi ubyte* [ %tmp370, %cond_true398 ], [ %bptr307.3, %cond_true398.preheader ] ; <ubyte*> [#uses=2]
- %optr309.3.0 = phi ubyte* [ %optr309.3, %cond_true398 ], [ %optr309.353, %cond_true398.preheader ] ; <ubyte*> [#uses=2]
- %optr309.3.in.0 = add uint %indvar66, %optr309.3.in51 ; <uint> [#uses=1]
- %tmp.70 = add int %tmp109, %w ; <int> [#uses=1]
- %indvar66 = cast uint %indvar66 to int ; <int> [#uses=1]
- %tmp.72 = mul int %indvar66, -8 ; <int> [#uses=1]
- %tmp.71 = add int %tmp.70, -8 ; <int> [#uses=1]
- %count308.3.0 = add int %tmp.72, %tmp.71 ; <int> [#uses=1]
- %tmp366 = load ubyte* %bptr307.4.0 ; <ubyte> [#uses=1]
- %tmp366 = cast ubyte %tmp366 to uint ; <uint> [#uses=1]
- %tmp369 = cast ubyte* %bptr307.4.0 to uint ; <uint> [#uses=1]
- %tmp370 = add uint %tmp369, 1 ; <uint> [#uses=1]
- %tmp370 = cast uint %tmp370 to ubyte* ; <ubyte*> [#uses=3]
- %tmp372 = load ubyte* %tmp370 ; <ubyte> [#uses=1]
- %tmp372 = cast ubyte %tmp372 to uint ; <uint> [#uses=1]
- %tmp374463 = shr uint %tmp372, ubyte %tmp319 ; <uint> [#uses=1]
- %tmp368 = shl uint %tmp366, ubyte %tmp324 ; <uint> [#uses=1]
- %tmp377 = add uint %tmp374463, %tmp368 ; <uint> [#uses=1]
- %tmp379 = xor uint %tmp377, %iftmp.35.0 ; <uint> [#uses=2]
- %tmp382 = or uint %tmp379, %iftmp.36.0 ; <uint> [#uses=1]
- %tmp382 = cast uint %tmp382 to ubyte ; <ubyte> [#uses=1]
- %tmp384 = load ubyte* %optr309.3.0 ; <ubyte> [#uses=1]
- %tmp385 = and ubyte %tmp382, %tmp384 ; <ubyte> [#uses=1]
- %tmp388 = and uint %tmp379, %iftmp.37.0 ; <uint> [#uses=1]
- %tmp388 = cast uint %tmp388 to ubyte ; <ubyte> [#uses=1]
- %tmp389 = or ubyte %tmp385, %tmp388 ; <ubyte> [#uses=1]
- store ubyte %tmp389, ubyte* %optr309.3.0
- %tmp392 = add int %count308.3.0, -8 ; <int> [#uses=2]
- %optr309.3.in = add uint %optr309.3.in.0, 1 ; <uint> [#uses=1]
- %optr309.3 = cast uint %optr309.3.in to ubyte* ; <ubyte*> [#uses=2]
- %tmp397 = setgt int %tmp392, 7 ; <bool> [#uses=1]
- %indvar.next67 = add uint %indvar66, 1 ; <uint> [#uses=1]
- br bool %tmp397, label %cond_true398, label %bb401.loopexit
+ %indvar66 = phi i32 [ 0, %cond_true398.preheader ], [ %indvar.next67, %cond_true398 ] ; <i32> [#uses=4]
+ %bptr307.4.0 = phi i8* [ %tmp370.upgrd.35, %cond_true398 ], [ %bptr307.3, %cond_true398.preheader ] ; <i8*> [#uses=2]
+ %optr309.3.0 = phi i8* [ %optr309.3, %cond_true398 ], [ %optr309.353, %cond_true398.preheader ] ; <i8*> [#uses=2]
+ %optr309.3.in.0 = add i32 %indvar66, %optr309.3.in51 ; <i32> [#uses=1]
+ %tmp.70 = add i32 %tmp109, %w ; <i32> [#uses=1]
+ %tmp.72 = mul i32 %indvar66, -8 ; <i32> [#uses=1]
+ %tmp.71 = add i32 %tmp.70, -8 ; <i32> [#uses=1]
+ %count308.3.0 = add i32 %tmp.72, %tmp.71 ; <i32> [#uses=1]
+ %tmp366 = load i8* %bptr307.4.0 ; <i8> [#uses=1]
+ %tmp366.upgrd.34 = zext i8 %tmp366 to i32 ; <i32> [#uses=1]
+ %tmp369 = ptrtoint i8* %bptr307.4.0 to i32 ; <i32> [#uses=1]
+ %tmp370 = add i32 %tmp369, 1 ; <i32> [#uses=1]
+ %tmp370.upgrd.35 = inttoptr i32 %tmp370 to i8* ; <i8*> [#uses=3]
+ %tmp372 = load i8* %tmp370.upgrd.35 ; <i8> [#uses=1]
+ %tmp372.upgrd.36 = zext i8 %tmp372 to i32 ; <i32> [#uses=1]
+ %shift.upgrd.37 = zext i8 %tmp319 to i32 ; <i32> [#uses=1]
+ %tmp374463 = lshr i32 %tmp372.upgrd.36, %shift.upgrd.37 ; <i32> [#uses=1]
+ %shift.upgrd.38 = zext i8 %tmp324 to i32 ; <i32> [#uses=1]
+ %tmp368 = shl i32 %tmp366.upgrd.34, %shift.upgrd.38 ; <i32> [#uses=1]
+ %tmp377 = add i32 %tmp374463, %tmp368 ; <i32> [#uses=1]
+ %tmp379 = xor i32 %tmp377, %iftmp.35.0 ; <i32> [#uses=2]
+ %tmp382 = or i32 %tmp379, %iftmp.36.0 ; <i32> [#uses=1]
+ %tmp382.upgrd.39 = trunc i32 %tmp382 to i8 ; <i8> [#uses=1]
+ %tmp384 = load i8* %optr309.3.0 ; <i8> [#uses=1]
+ %tmp385 = and i8 %tmp382.upgrd.39, %tmp384 ; <i8> [#uses=1]
+ %tmp388 = and i32 %tmp379, %iftmp.37.0 ; <i32> [#uses=1]
+ %tmp388.upgrd.40 = trunc i32 %tmp388 to i8 ; <i8> [#uses=1]
+ %tmp389 = or i8 %tmp385, %tmp388.upgrd.40 ; <i8> [#uses=1]
+ store i8 %tmp389, i8* %optr309.3.0
+ %tmp392 = add i32 %count308.3.0, -8 ; <i32> [#uses=2]
+ %optr309.3.in = add i32 %optr309.3.in.0, 1 ; <i32> [#uses=1]
+ %optr309.3 = inttoptr i32 %optr309.3.in to i8* ; <i8*> [#uses=2]
+ %tmp397 = icmp sgt i32 %tmp392, 7 ; <i1> [#uses=1]
+ %indvar.next67 = add i32 %indvar66, 1 ; <i32> [#uses=1]
+ br i1 %tmp397, label %cond_true398, label %bb401.loopexit
bb401.loopexit: ; preds = %cond_true398
br label %bb401
bb401: ; preds = %bb401.loopexit, %cond_next340
- %count308.3.1 = phi int [ %tmp361, %cond_next340 ], [ %tmp392, %bb401.loopexit ] ; <int> [#uses=2]
- %bptr307.4.1 = phi ubyte* [ %bptr307.3, %cond_next340 ], [ %tmp370, %bb401.loopexit ] ; <ubyte*> [#uses=2]
- %optr309.3.1 = phi ubyte* [ %optr309.353, %cond_next340 ], [ %optr309.3, %bb401.loopexit ] ; <ubyte*> [#uses=2]
- %tmp403 = setgt int %count308.3.1, 0 ; <bool> [#uses=1]
- br bool %tmp403, label %cond_true404, label %cond_next442
+ %count308.3.1 = phi i32 [ %tmp361, %cond_next340 ], [ %tmp392, %bb401.loopexit ] ; <i32> [#uses=2]
+ %bptr307.4.1 = phi i8* [ %bptr307.3, %cond_next340 ], [ %tmp370.upgrd.35, %bb401.loopexit ] ; <i8*> [#uses=2]
+ %optr309.3.1 = phi i8* [ %optr309.353, %cond_next340 ], [ %optr309.3, %bb401.loopexit ] ; <i8*> [#uses=2]
+ %tmp403 = icmp sgt i32 %count308.3.1, 0 ; <i1> [#uses=1]
+ br i1 %tmp403, label %cond_true404, label %cond_next442
cond_true404: ; preds = %bb401
- %tmp406 = load ubyte* %bptr307.4.1 ; <ubyte> [#uses=1]
- %tmp406 = cast ubyte %tmp406 to int ; <int> [#uses=1]
- %tmp408 = shl int %tmp406, ubyte %tmp324 ; <int> [#uses=2]
- %tmp413 = setgt int %count308.3.1, %tmp303 ; <bool> [#uses=1]
- br bool %tmp413, label %cond_true414, label %cond_next422
+ %tmp406 = load i8* %bptr307.4.1 ; <i8> [#uses=1]
+ %tmp406.upgrd.41 = zext i8 %tmp406 to i32 ; <i32> [#uses=1]
+ %shift.upgrd.42 = zext i8 %tmp324 to i32 ; <i32> [#uses=1]
+ %tmp408 = shl i32 %tmp406.upgrd.41, %shift.upgrd.42 ; <i32> [#uses=2]
+ %tmp413 = icmp sgt i32 %count308.3.1, %tmp303 ; <i1> [#uses=1]
+ br i1 %tmp413, label %cond_true414, label %cond_next422
cond_true414: ; preds = %cond_true404
- %tmp409 = cast ubyte* %bptr307.4.1 to uint ; <uint> [#uses=1]
- %tmp410 = add uint %tmp409, 1 ; <uint> [#uses=1]
- %tmp410 = cast uint %tmp410 to ubyte* ; <ubyte*> [#uses=1]
- %tmp416 = load ubyte* %tmp410 ; <ubyte> [#uses=1]
- %tmp416 = cast ubyte %tmp416 to uint ; <uint> [#uses=1]
- %tmp418 = shr uint %tmp416, ubyte %tmp319 ; <uint> [#uses=1]
- %tmp418 = cast uint %tmp418 to int ; <int> [#uses=1]
- %tmp420 = add int %tmp418, %tmp408 ; <int> [#uses=1]
+ %tmp409 = ptrtoint i8* %bptr307.4.1 to i32 ; <i32> [#uses=1]
+ %tmp410 = add i32 %tmp409, 1 ; <i32> [#uses=1]
+ %tmp410.upgrd.43 = inttoptr i32 %tmp410 to i8* ; <i8*> [#uses=1]
+ %tmp416 = load i8* %tmp410.upgrd.43 ; <i8> [#uses=1]
+ %tmp416.upgrd.44 = zext i8 %tmp416 to i32 ; <i32> [#uses=1]
+ %shift.upgrd.45 = zext i8 %tmp319 to i32 ; <i32> [#uses=1]
+ %tmp418 = lshr i32 %tmp416.upgrd.44, %shift.upgrd.45 ; <i32> [#uses=2]
+ %tmp420 = add i32 %tmp418, %tmp408 ; <i32> [#uses=1]
br label %cond_next422
cond_next422: ; preds = %cond_true414, %cond_true404
- %bits.6 = phi int [ %tmp420, %cond_true414 ], [ %tmp408, %cond_true404 ] ; <int> [#uses=1]
- %tmp425 = xor int %bits.6, %iftmp.35.0 ; <int> [#uses=1]
- %tmp427 = cast int %tmp425 to ubyte ; <ubyte> [#uses=2]
- %tmp430 = or ubyte %tmp428, %tmp427 ; <ubyte> [#uses=1]
- %tmp432 = load ubyte* %optr309.3.1 ; <ubyte> [#uses=1]
- %tmp433 = and ubyte %tmp430, %tmp432 ; <ubyte> [#uses=1]
- %tmp438 = and ubyte %tmp436, %tmp427 ; <ubyte> [#uses=1]
- %tmp439 = or ubyte %tmp433, %tmp438 ; <ubyte> [#uses=1]
- store ubyte %tmp439, ubyte* %optr309.3.1
+ %bits.6 = phi i32 [ %tmp420, %cond_true414 ], [ %tmp408, %cond_true404 ] ; <i32> [#uses=1]
+ %tmp425 = xor i32 %bits.6, %iftmp.35.0 ; <i32> [#uses=1]
+ %tmp427 = trunc i32 %tmp425 to i8 ; <i8> [#uses=2]
+ %tmp430 = or i8 %tmp428, %tmp427 ; <i8> [#uses=1]
+ %tmp432 = load i8* %optr309.3.1 ; <i8> [#uses=1]
+ %tmp433 = and i8 %tmp430, %tmp432 ; <i8> [#uses=1]
+ %tmp438 = and i8 %tmp436.upgrd.47, %tmp427 ; <i8> [#uses=1]
+ %tmp439 = or i8 %tmp433, %tmp438 ; <i8> [#uses=1]
+ store i8 %tmp439, i8* %optr309.3.1
br label %cond_next442
cond_next442: ; preds = %cond_next422, %bb401
- %tmp443 = cast ubyte** %dest_line.3.0 to uint ; <uint> [#uses=1]
- %tmp444 = add uint %tmp443, 4 ; <uint> [#uses=1]
- %tmp444 = cast uint %tmp444 to ubyte** ; <ubyte**> [#uses=2]
- %tmp446 = load ubyte** %tmp444 ; <ubyte*> [#uses=1]
- %tmp448 = getelementptr ubyte* %tmp446, int %tmp93 ; <ubyte*> [#uses=1]
- %tmp454 = add int %tmp454.0, -1 ; <int> [#uses=1]
- %tmp456 = setlt int %tmp454, 0 ; <bool> [#uses=1]
- %indvar.next75 = add uint %indvar74, 1 ; <uint> [#uses=1]
- br bool %tmp456, label %return.loopexit56, label %cond_true457
+ %tmp443 = ptrtoint i8** %dest_line.3.0 to i32 ; <i32> [#uses=1]
+ %tmp444 = add i32 %tmp443, 4 ; <i32> [#uses=1]
+ %tmp444.upgrd.46 = inttoptr i32 %tmp444 to i8** ; <i8**> [#uses=2]
+ %tmp446 = load i8** %tmp444.upgrd.46 ; <i8*> [#uses=1]
+ %tmp448 = getelementptr i8* %tmp446, i32 %tmp93 ; <i8*> [#uses=1]
+ %tmp454 = add i32 %tmp454.0, -1 ; <i32> [#uses=1]
+ %tmp456 = icmp slt i32 %tmp454, 0 ; <i1> [#uses=1]
+ %indvar.next75 = add i32 %indvar74, 1 ; <i32> [#uses=1]
+ br i1 %tmp456, label %return.loopexit56, label %cond_true457
cond_true457.preheader: ; preds = %cond_false299
- %tmp315 = setlt int %tmp107, %tmp110 ; <bool> [#uses=1]
- %tmp319 = cast int %tmp303 to ubyte ; <ubyte> [#uses=4]
- %tmp324 = cast int %tmp305 to ubyte ; <ubyte> [#uses=3]
- %tmp330 = setlt int %tmp107, %w ; <bool> [#uses=1]
- %tmp344 = cast uint %mask.1.1 to ubyte ; <ubyte> [#uses=1]
- %tmp344not = xor ubyte %tmp344, 255 ; <ubyte> [#uses=1]
- %tmp347 = cast uint %iftmp.36.0 to ubyte ; <ubyte> [#uses=2]
- %tmp346 = or ubyte %tmp347, %tmp344not ; <ubyte> [#uses=1]
- %tmp354 = and uint %iftmp.37.0, %mask.1.1 ; <uint> [#uses=1]
- %tmp361 = sub int %w, %tmp110 ; <int> [#uses=2]
- %tmp39755 = setgt int %tmp361, 7 ; <bool> [#uses=1]
- %iftmp.35.0 = cast uint %iftmp.35.0 to int ; <int> [#uses=1]
- %tmp426 = cast uint %rmask.0.1 to ubyte ; <ubyte> [#uses=1]
- %tmp426not = xor ubyte %tmp426, 255 ; <ubyte> [#uses=1]
- %tmp428 = or ubyte %tmp347, %tmp426not ; <ubyte> [#uses=1]
- %tmp436 = and uint %iftmp.37.0, %rmask.0.1 ; <uint> [#uses=1]
- %tmp436 = cast uint %tmp436 to ubyte ; <ubyte> [#uses=1]
+ %tmp315 = icmp slt i32 %tmp107, %tmp110 ; <i1> [#uses=1]
+ %tmp319 = trunc i32 %tmp303 to i8 ; <i8> [#uses=4]
+ %tmp324 = trunc i32 %tmp305 to i8 ; <i8> [#uses=3]
+ %tmp330 = icmp slt i32 %tmp107, %w ; <i1> [#uses=1]
+ %tmp344 = trunc i32 %mask.1.1 to i8 ; <i8> [#uses=1]
+ %tmp344not = xor i8 %tmp344, -1 ; <i8> [#uses=1]
+ %tmp347 = trunc i32 %iftmp.36.0 to i8 ; <i8> [#uses=2]
+ %tmp346 = or i8 %tmp347, %tmp344not ; <i8> [#uses=1]
+ %tmp354 = and i32 %iftmp.37.0, %mask.1.1 ; <i32> [#uses=1]
+ %tmp361 = sub i32 %w, %tmp110 ; <i32> [#uses=2]
+ %tmp39755 = icmp sgt i32 %tmp361, 7 ; <i1> [#uses=1]
+ %tmp426 = trunc i32 %rmask.0.1 to i8 ; <i8> [#uses=1]
+ %tmp426not = xor i8 %tmp426, -1 ; <i8> [#uses=1]
+ %tmp428 = or i8 %tmp347, %tmp426not ; <i8> [#uses=1]
+ %tmp436 = and i32 %iftmp.37.0, %rmask.0.1 ; <i32> [#uses=1]
+ %tmp436.upgrd.47 = trunc i32 %tmp436 to i8 ; <i8> [#uses=1]
br label %cond_true457
cond_true457: ; preds = %cond_true457.preheader, %cond_next442
- %indvar74 = phi uint [ 0, %cond_true457.preheader ], [ %indvar.next75, %cond_next442 ] ; <uint> [#uses=3]
- %dest.3.0 = phi ubyte* [ %tmp448, %cond_next442 ], [ %tmp100, %cond_true457.preheader ] ; <ubyte*> [#uses=3]
- %dest_line.3.0 = phi ubyte** [ %tmp444, %cond_next442 ], [ %tmp96, %cond_true457.preheader ] ; <ubyte**> [#uses=1]
- %tmp.77 = sub uint 0, %indvar74 ; <uint> [#uses=1]
- %tmp.77 = cast uint %tmp.77 to int ; <int> [#uses=1]
- %tmp454.0 = add int %tmp.77, %tmp45438 ; <int> [#uses=1]
- %tmp.79 = mul uint %indvar74, %raster ; <uint> [#uses=1]
- %tmp.79 = cast uint %tmp.79 to int ; <int> [#uses=1]
- %tmp104.sum = add int %tmp102, %tmp.79 ; <int> [#uses=1]
- %line.3.0 = getelementptr ubyte* %base, int %tmp104.sum ; <ubyte*> [#uses=3]
- %tmp318 = load ubyte* %line.3.0 ; <ubyte> [#uses=2]
- br bool %tmp315, label %cond_false321, label %cond_true316
+ %indvar74 = phi i32 [ 0, %cond_true457.preheader ], [ %indvar.next75, %cond_next442 ] ; <i32> [#uses=3]
+ %dest.3.0 = phi i8* [ %tmp448, %cond_next442 ], [ %tmp100, %cond_true457.preheader ] ; <i8*> [#uses=3]
+ %dest_line.3.0 = phi i8** [ %tmp444.upgrd.46, %cond_next442 ], [ %tmp96, %cond_true457.preheader ] ; <i8**> [#uses=1]
+ %tmp.77 = sub i32 0, %indvar74 ; <i32> [#uses=2]
+ %tmp454.0 = add i32 %tmp.77, %tmp45438 ; <i32> [#uses=1]
+ %tmp.79 = mul i32 %indvar74, %raster ; <i32> [#uses=2]
+ %tmp104.sum = add i32 %tmp102, %tmp.79 ; <i32> [#uses=1]
+ %line.3.0 = getelementptr i8* %base, i32 %tmp104.sum ; <i8*> [#uses=3]
+ %tmp318.upgrd.48 = load i8* %line.3.0 ; <i8> [#uses=2]
+ br i1 %tmp315, label %cond_false321, label %cond_true316
return.loopexit: ; preds = %cond_next280
br label %return.loopexit.split
@@ -512,12 +507,12 @@ return.loopexit56: ; preds = %cond_next442
br label %return
return: ; preds = %return.loopexit56, %return.loopexit.split, %cond_false299, %cond_true197, %cond_next78, %cond_next63, %bb58, %cond_next46
- %retval.0 = phi int [ 0, %cond_next46 ], [ -1, %bb58 ], [ -1, %cond_next63 ], [ -1, %cond_next78 ], [ 0, %cond_true197 ], [ 0, %cond_false299 ], [ 0, %return.loopexit.split ], [ 0, %return.loopexit56 ] ; <int> [#uses=1]
- ret int %retval.0
+ %retval.0 = phi i32 [ 0, %cond_next46 ], [ -1, %bb58 ], [ -1, %cond_next63 ], [ -1, %cond_next78 ], [ 0, %cond_true197 ], [ 0, %cond_false299 ], [ 0, %return.loopexit.split ], [ 0, %return.loopexit56 ] ; <i32> [#uses=1]
+ ret i32 %retval.0
}
-declare int %mem_no_fault_proc(%struct.gx_device_memory*, int, int, int, int, int)
+declare i32 @mem_no_fault_proc(%struct.gx_device_memory*, i32, i32, i32, i32, i32)
-declare int %mem_mono_fill_rectangle(%struct.gx_device*, int, int, int, int, uint)
+declare i32 @mem_mono_fill_rectangle(%struct.gx_device*, i32, i32, i32, i32, i32)
-declare int %mem_copy_mono_recover(%struct.gx_device*, ubyte*, int, int, int, int, int, int, uint, uint, int)
+declare i32 @mem_copy_mono_recover(%struct.gx_device*, i8*, i32, i32, i32, i32, i32, i32, i32, i32, i32)
diff --git a/test/Transforms/InstCombine/2006-06-28-infloop.ll b/test/Transforms/InstCombine/2006-06-28-infloop.ll
index bd1dbd009c..84e751037b 100644
--- a/test/Transforms/InstCombine/2006-06-28-infloop.ll
+++ b/test/Transforms/InstCombine/2006-06-28-infloop.ll
@@ -1,21 +1,20 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output
-target endian = big
-target pointersize = 32
-target triple = "powerpc-apple-darwin8"
+; RUN: llvm-as < %s | opt -instcombine -disable-output
-implementation ; Functions:
+target datalayout = "E-p:32:32"
+target triple = "powerpc-apple-darwin8"
-void %test() {
+define void @test() {
entry:
- %tmp = getelementptr { long, long, long, long }* null, int 0, uint 3
- %tmp = load long* %tmp ; <long> [#uses=1]
- %tmp8.ui = load ulong* null ; <ulong> [#uses=1]
- %tmp8 = cast ulong %tmp8.ui to long ; <long> [#uses=1]
- %tmp9 = and long %tmp8, %tmp ; <long> [#uses=1]
- %sext = cast long %tmp9 to int ; <int> [#uses=1]
- %tmp27.i = cast int %sext to long ; <long> [#uses=1]
- tail call void %foo( uint 0, long %tmp27.i )
- unreachable
+ %tmp = getelementptr { i64, i64, i64, i64 }* null, i32 0, i32 3 ; <i64*> [#uses=1]
+ %tmp.upgrd.1 = load i64* %tmp ; <i64> [#uses=1]
+ %tmp8.ui = load i64* null ; <i64> [#uses=1]
+ %tmp8 = bitcast i64 %tmp8.ui to i64 ; <i64> [#uses=1]
+ %tmp9 = and i64 %tmp8, %tmp.upgrd.1 ; <i64> [#uses=1]
+ %sext = trunc i64 %tmp9 to i32 ; <i32> [#uses=1]
+ %tmp27.i = sext i32 %sext to i64 ; <i64> [#uses=1]
+ tail call void @foo( i32 0, i64 %tmp27.i )
+ unreachable
}
-declare void %foo(uint, long)
+declare void @foo(i32, i64)
+
diff --git a/test/Transforms/InstCombine/2006-09-11-EmptyStructCrash.ll b/test/Transforms/InstCombine/2006-09-11-EmptyStructCrash.ll
index 61f01ce8b7..7ed59c2fd5 100644
--- a/test/Transforms/InstCombine/2006-09-11-EmptyStructCrash.ll
+++ b/test/Transforms/InstCombine/2006-09-11-EmptyStructCrash.ll
@@ -1,28 +1,25 @@
; PR905
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output
-; END.
+; RUN: llvm-as < %s | opt -instcombine -disable-output
+
+%RPYTHON_EXCEPTION = type { %RPYTHON_EXCEPTION_VTABLE* }
+%RPYTHON_EXCEPTION_VTABLE = type { %RPYTHON_EXCEPTION_VTABLE*, i32, i32, %RPyOpaque_RuntimeTypeInfo*, %arraytype_Char*, %functiontype_12* }
+%RPyOpaque_RuntimeTypeInfo = type opaque*
+%arraytype_Char = type { i32, [0 x i8] }
+%fixarray_array1019 = type [1019 x i8*]
+%functiontype_12 = type %RPYTHON_EXCEPTION* ()
+%functiontype_14 = type void (%structtype_pypy.rpython.memory.gc.MarkSweepGC*)
+%structtype_AddressLinkedListChunk = type { %structtype_AddressLinkedListChunk*, i32, %fixarray_array1019 }
+%structtype_exceptions.Exception = type { %RPYTHON_EXCEPTION }
+%structtype_gc_pool = type { }
+%structtype_gc_pool_node = type { %structtype_header*, %structtype_gc_pool_node* }
+%structtype_header = type { i32, %structtype_header* }
+%structtype_pypy.rpython.memory.gc.MarkSweepGC = type { %structtype_exceptions.Exception, i32, i32, i1, %structtype_gc_pool*, i32, %structtype_header*, %structtype_header*, %structtype_gc_pool_node*, double, double }
- %RPYTHON_EXCEPTION = type { %RPYTHON_EXCEPTION_VTABLE* }
- %RPYTHON_EXCEPTION_VTABLE = type { %RPYTHON_EXCEPTION_VTABLE*, int, int, %RPyOpaque_RuntimeTypeInfo*, %arraytype_Char*, %functiontype_12* }
- %RPyOpaque_RuntimeTypeInfo = type opaque*
- %arraytype_Char = type { int, [0 x sbyte] }
- %fixarray_array1019 = type [1019 x sbyte*]
- %functiontype_12 = type %RPYTHON_EXCEPTION* ()
- %functiontype_14 = type void (%structtype_pypy.rpython.memory.gc.MarkSweepGC*)
- %structtype_AddressLinkedListChunk = type { %structtype_AddressLinkedListChunk*, int, %fixarray_array1019 }
- %structtype_exceptions.Exception = type { %RPYTHON_EXCEPTION }
- %structtype_gc_pool = type { }
- %structtype_gc_pool_node = type { %structtype_header*, %structtype_gc_pool_node* }
- %structtype_header = type { int, %structtype_header* }
- %structtype_pypy.rpython.memory.gc.MarkSweepGC = type { %structtype_exceptions.Exception, int, int, bool, %structtype_gc_pool*, int, %structtype_header*, %structtype_header*, %structtype_gc_pool_node*, double, double }
-
-implementation ; Functions:
-
-fastcc void %pypy_MarkSweepGC.collect() {
+define fastcc void @pypy_MarkSweepGC.collect() {
block0:
%v1221 = load %structtype_AddressLinkedListChunk** null ; <%structtype_AddressLinkedListChunk*> [#uses=1]
- %v1222 = setne %structtype_AddressLinkedListChunk* %v1221, null ; <bool> [#uses=1]
- br bool %v1222, label %block79, label %block4
+ %v1222 = icmp ne %structtype_AddressLinkedListChunk* %v1221, null ; <i1> [#uses=1]
+ br i1 %v1222, label %block79, label %block4
block4: ; preds = %block0
ret void
@@ -32,17 +29,17 @@ block22: ; preds = %block79
block67: ; preds = %block79
%v1459 = load %structtype_gc_pool** null ; <%structtype_gc_pool*> [#uses=1]
- %v1460 = cast %structtype_gc_pool* %v1459 to sbyte* ; <sbyte*> [#uses=1]
- %tmp_873 = cast sbyte* %v1460 to int ; <int> [#uses=1]
- %tmp_874 = sub int %tmp_873, 0 ; <int> [#uses=1]
- %v1461 = cast int %tmp_874 to sbyte* ; <sbyte*> [#uses=1]
- %v1462 = cast sbyte* %v1461 to %structtype_header* ; <%structtype_header*> [#uses=1]
- %tmp_876 = getelementptr %structtype_header* %v1462, int 0, uint 0 ; <int*> [#uses=1]
- store int 0, int* %tmp_876
+ %v1460 = bitcast %structtype_gc_pool* %v1459 to i8* ; <i8*> [#uses=1]
+ %tmp_873 = ptrtoint i8* %v1460 to i32 ; <i32> [#uses=1]
+ %tmp_874 = sub i32 %tmp_873, 0 ; <i32> [#uses=1]
+ %v1461 = inttoptr i32 %tmp_874 to i8* ; <i8*> [#uses=1]
+ %v1462 = bitcast i8* %v1461 to %structtype_header* ; <%structtype_header*> [#uses=1]
+ %tmp_876 = getelementptr %structtype_header* %v1462, i32 0, i32 0 ; <i32*> [#uses=1]
+ store i32 0, i32* %tmp_876
ret void
block79: ; preds = %block0
%v1291 = load %structtype_gc_pool** null ; <%structtype_gc_pool*> [#uses=1]
- %v1292 = setne %structtype_gc_pool* %v1291, null ; <bool> [#uses=1]
- br bool %v1292, label %block67, label %block22
+ %v1292 = icmp ne %structtype_gc_pool* %v1291, null ; <i1> [#uses=1]
+ br i1 %v1292, label %block67, label %block22
}
diff --git a/test/Transforms/InstCombine/2006-09-15-CastToBool.ll b/test/Transforms/InstCombine/2006-09-15-CastToBool.ll
index 051d91f91f..043b598c89 100644
--- a/test/Transforms/InstCombine/2006-09-15-CastToBool.ll
+++ b/test/Transforms/InstCombine/2006-09-15-CastToBool.ll
@@ -1,14 +1,14 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep and
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep and
; PR913
-int %test(int* %tmp1) {
- %tmp.i = load int* %tmp1 ; <int> [#uses=1]
- %tmp = cast int %tmp.i to uint ; <uint> [#uses=1]
- %tmp2.ui = shr uint %tmp, ubyte 5 ; <uint> [#uses=1]
- %tmp2 = cast uint %tmp2.ui to int ; <int> [#uses=1]
- %tmp3 = and int %tmp2, 1 ; <int> [#uses=1]
- %tmp3 = cast int %tmp3 to bool ; <bool> [#uses=1]
- %tmp34 = cast bool %tmp3 to int ; <int> [#uses=1]
- ret int %tmp34
+define i32 @test(i32* %tmp1) {
+ %tmp.i = load i32* %tmp1 ; <i32> [#uses=1]
+ %tmp = bitcast i32 %tmp.i to i32 ; <i32> [#uses=1]
+ %tmp2.ui = lshr i32 %tmp, 5 ; <i32> [#uses=1]
+ %tmp2 = bitcast i32 %tmp2.ui to i32 ; <i32> [#uses=1]
+ %tmp3 = and i32 %tmp2, 1 ; <i32> [#uses=1]
+ %tmp3.upgrd.1 = icmp ne i32 %tmp3, 0 ; <i1> [#uses=1]
+ %tmp34 = zext i1 %tmp3.upgrd.1 to i32 ; <i32> [#uses=1]
+ ret i32 %tmp34
}
diff --git a/test/Transforms/InstCombine/2006-10-19-SignedToUnsignedCastAndConst-2.ll b/test/Transforms/InstCombine/2006-10-19-SignedToUnsignedCastAndConst-2.ll
index 58c847fb92..eca315f6f8 100644
--- a/test/Transforms/InstCombine/2006-10-19-SignedToUnsignedCastAndConst-2.ll
+++ b/test/Transforms/InstCombine/2006-10-19-SignedToUnsignedCastAndConst-2.ll
@@ -1,10 +1,10 @@
; The optimizer should be able to remove cast operation here.
-; RUN: llvm-upgrade %s -o - | llvm-as | opt -instcombine | llvm-dis | \
+; RUN: llvm-as < %s -o - | opt -instcombine | llvm-dis | \
; RUN: not grep sext.*i32
-bool %eq_signed_to_small_unsigned(sbyte %SB) {
- %Y = cast sbyte %SB to uint ; <uint> [#uses=1]
- %C = seteq uint %Y, 17 ; <bool> [#uses=1]
- ret bool %C
- }
+define i1 @eq_signed_to_small_unsigned(i8 %SB) {
+ %Y = sext i8 %SB to i32 ; <i32> [#uses=1]
+ %C = icmp eq i32 %Y, 17 ; <i1> [#uses=1]
+ ret i1 %C
+}
diff --git a/test/Transforms/InstCombine/2006-10-19-SignedToUnsignedCastAndConst.ll b/test/Transforms/InstCombine/2006-10-19-SignedToUnsignedCastAndConst.ll
index 3ada90ddc6..8678a85c46 100644
--- a/test/Transforms/InstCombine/2006-10-19-SignedToUnsignedCastAndConst.ll
+++ b/test/Transforms/InstCombine/2006-10-19-SignedToUnsignedCastAndConst.ll
@@ -1,10 +1,12 @@
; This test case is reduced from llvmAsmParser.cpp
; The optimizer should not remove the cast here.
-; RUN: llvm-upgrade %s -o - | llvm-as | opt -instcombine | llvm-dis | \
+; RUN: llvm-as %s -o - | opt -instcombine | llvm-dis | \
; RUN: grep sext.*i32
-bool %test(short %X) {
- %A = cast short %X to uint
- %B = setgt uint %A, 1330
- ret bool %B
+
+define i1 @test(i16 %X) {
+ %A = sext i16 %X to i32 ; <i32> [#uses=1]
+ %B = icmp ugt i32 %A, 1330 ; <i1> [#uses=1]
+ ret i1 %B
}
+
diff --git a/test/Transforms/InstCombine/2006-10-20-mask.ll b/test/Transforms/InstCombine/2006-10-20-mask.ll
index 8e829a7985..a5864f1c18 100644
--- a/test/Transforms/InstCombine/2006-10-20-mask.ll
+++ b/test/Transforms/InstCombine/2006-10-20-mask.ll
@@ -1,9 +1,11 @@
-; RUN: llvm-upgrade %s -o - | llvm-as | opt -instcombine | llvm-dis | \
+; RUN: llvm-as %s -o - | opt -instcombine | llvm-dis | \
; RUN: grep and
-ulong %foo(ulong %tmp, ulong %tmp2) {
- %tmp = cast ulong %tmp to uint
- %tmp2 = cast ulong %tmp2 to uint
- %tmp3 = and uint %tmp, %tmp2
- %tmp4 = cast uint %tmp3 to ulong
- ret ulong %tmp4
+
+define i64 @foo(i64 %tmp, i64 %tmp2) {
+ %tmp.upgrd.1 = trunc i64 %tmp to i32 ; <i32> [#uses=1]
+ %tmp2.upgrd.2 = trunc i64 %tmp2 to i32 ; <i32> [#uses=1]
+ %tmp3 = and i32 %tmp.upgrd.1, %tmp2.upgrd.2 ; <i32> [#uses=1]
+ %tmp4 = zext i32 %tmp3 to i64 ; <i64> [#uses=1]
+ ret i64 %tmp4
}
+
diff --git a/test/Transforms/InstCombine/2006-10-26-VectorReassoc.ll b/test/Transforms/InstCombine/2006-10-26-VectorReassoc.ll
index 2c41a37d9a..5ad0af406d 100644
--- a/test/Transforms/InstCombine/2006-10-26-VectorReassoc.ll
+++ b/test/Transforms/InstCombine/2006-10-26-VectorReassoc.ll
@@ -1,9 +1,9 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | \
; RUN: grep mul | count 2
-
-<4 x float> %test(<4 x float> %V) {
- %Y = mul <4 x float> %V, <float 1.0, float 2.0, float 3.0, float 4.0>
- %Z = mul <4 x float> %Y, <float 1.0, float 200000.0, float -3.0, float 4.0>
- ret <4 x float> %Z
+define <4 x float> @test(<4 x float> %V) {
+ %Y = mul <4 x float> %V, < float 1.000000e+00, float 2.000000e+00, float 3.000000e+00, float 4.000000e+00 > ; <<4 x float>> [#uses=1]
+ %Z = mul <4 x float> %Y, < float 1.000000e+00, float 2.000000e+05, float -3.000000e+00, float 4.000000e+00 > ; <<4 x float>> [#uses=1]
+ ret <4 x float> %Z
}
+
diff --git a/test/Transforms/InstCombine/2006-11-03-Memmove64.ll b/test/Transforms/InstCombine/2006-11-03-Memmove64.ll
index 550c2eb0c7..23e805a936 100644
--- a/test/Transforms/InstCombine/2006-11-03-Memmove64.ll
+++ b/test/Transforms/InstCombine/2006-11-03-Memmove64.ll
@@ -1,19 +1,16 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | \
; RUN: not grep memmove.i32
; Instcombine was trying to turn this into a memmove.i32
target datalayout = "e-p:64:64"
-target endian = little
-target pointersize = 64
target triple = "alphaev67-unknown-linux-gnu"
-%str10 = internal constant [1 x sbyte] zeroinitializer ; <[1 x sbyte]*> [#uses=1]
+@str10 = internal constant [1 x i8] zeroinitializer ; <[1 x i8]*> [#uses=1]
-implementation ; Functions:
-
-void %do_join(sbyte* %b) {
+define void @do_join(i8* %b) {
entry:
- call void %llvm.memmove.i64( sbyte* %b, sbyte* getelementptr ([1 x sbyte]* %str10, int 0, ulong 0), ulong 1, uint 1 )
- ret void
+ call void @llvm.memmove.i64( i8* %b, i8* getelementptr ([1 x i8]* @str10, i32 0, i64 0), i64 1, i32 1 )
+ ret void
}
-declare void %llvm.memmove.i64(sbyte*, sbyte*, ulong, uint)
+declare void @llvm.memmove.i64(i8*, i8*, i64, i32)
+
diff --git a/test/Transforms/InstCombine/2006-11-10-ashr-miscompile.ll b/test/Transforms/InstCombine/2006-11-10-ashr-miscompile.ll
index 1809d3ce91..8c48d4357b 100644
--- a/test/Transforms/InstCombine/2006-11-10-ashr-miscompile.ll
+++ b/test/Transforms/InstCombine/2006-11-10-ashr-miscompile.ll
@@ -1,7 +1,9 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep lshr
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep lshr
; Verify this is not turned into -1.
-int %test(ubyte %amt) {
- %B = lshr int -1, ubyte %amt
- ret int %B
+define i32 @test(i8 %amt) {
+ %shift.upgrd.1 = zext i8 %amt to i32 ; <i32> [#uses=1]
+ %B = lshr i32 -1, %shift.upgrd.1 ; <i32> [#uses=1]
+ ret i32 %B
}
+
diff --git a/test/Transforms/InstCombine/2006-11-27-XorBug.ll b/test/Transforms/InstCombine/2006-11-27-XorBug.ll
index 7cbd18eda7..631b43f61f 100644
--- a/test/Transforms/InstCombine/2006-11-27-XorBug.ll
+++ b/test/Transforms/InstCombine/2006-11-27-XorBug.ll
@@ -1,12 +1,12 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep and.*32
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep and.*32
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | \
; RUN: not grep or.*153
; PR1014
-int %test(int %tmp1) {
- %ovm = and int %tmp1, 32 ; <int> [#uses=1]
- %ov3 = add int %ovm, 145 ; <int> [#uses=2]
- %ov110 = xor int %ov3, 153
- ret int %ov110
+define i32 @test(i32 %tmp1) {
+ %ovm = and i32 %tmp1, 32 ; <i32> [#uses=1]
+ %ov3 = add i32 %ovm, 145 ; <i32> [#uses=1]
+ %ov110 = xor i32 %ov3, 153 ; <i32> [#uses=1]
+ ret i32 %ov110
}
diff --git a/test/Transforms/InstCombine/2006-12-01-BadFPVectorXform.ll b/test/Transforms/InstCombine/2006-12-01-BadFPVectorXform.ll
index e2cdf31e2f..60ee503279 100644
--- a/test/Transforms/InstCombine/2006-12-01-BadFPVectorXform.ll
+++ b/test/Transforms/InstCombine/2006-12-01-BadFPVectorXform.ll
@@ -1,9 +1,9 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep sub
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep add
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep sub
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep add
-<4 x float> %test(<4 x float> %tmp26, <4 x float> %tmp53) {
- ; (X+Y)-Y != X for fp vectors.
- %tmp64 = add <4 x float> %tmp26, %tmp53
- %tmp75 = sub <4 x float> %tmp64, %tmp53
- ret <4 x float> %tmp75
+define <4 x float> @test(<4 x float> %tmp26, <4 x float> %tmp53) {
+ ; (X+Y)-Y != X for fp vectors.
+ %tmp64 = add <4 x float> %tmp26, %tmp53 ; <<4 x float>> [#uses=1]
+ %tmp75 = sub <4 x float> %tmp64, %tmp53 ; <<4 x float>> [#uses=1]
+ ret <4 x float> %tmp75
}
diff --git a/test/Transforms/InstCombine/2006-12-05-fp-to-int-ext.ll b/test/Transforms/InstCombine/2006-12-05-fp-to-int-ext.ll
index 4661dfe55b..2c3313efa2 100644
--- a/test/Transforms/InstCombine/2006-12-05-fp-to-int-ext.ll
+++ b/test/Transforms/InstCombine/2006-12-05-fp-to-int-ext.ll
@@ -1,13 +1,12 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep zext
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep zext
; Never merge these two conversions, even though it's possible: this is
; significantly more expensive than the two conversions on some targets
; and it causes libgcc to be compile __fixunsdfdi into a recursive
; function.
-
-
-long %test(double %D) {
- %A = fptoui double %D to uint
- %B = zext uint %A to long
- ret long %B
+define i64 @test(double %D) {
+ %A = fptoui double %D to i32 ; <i32> [#uses=1]
+ %B = zext i32 %A to i64 ; <i64> [#uses=1]
+ ret i64 %B
}
+
diff --git a/test/Transforms/InstCombine/2006-12-08-ICmp-Combining.ll b/test/Transforms/InstCombine/2006-12-08-ICmp-Combining.ll
index db4b9e289f..ddfb88c7bf 100644
--- a/test/Transforms/InstCombine/2006-12-08-ICmp-Combining.ll
+++ b/test/Transforms/InstCombine/2006-12-08-ICmp-Combining.ll
@@ -1,17 +1,18 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | \
; RUN: grep {%bothcond =}
-bool %Doit_bb(int %i.0) {
-bb: ; preds = %newFuncRoot
- %tmp = setgt int %i.0, 0 ; <bool> [#uses=1]
- %tmp.not = xor bool %tmp, true ; <bool> [#uses=1]
- %tmp2 = setgt int %i.0, 8 ; <bool> [#uses=1]
- %bothcond = or bool %tmp.not, %tmp2 ; <bool> [#uses=1]
- br bool %bothcond, label %exitTrue, label %exitFalse
-exitTrue: ; preds = %bb
- ret bool true
+define i1 @Doit_bb(i32 %i.0) {
+bb:
+ %tmp = icmp sgt i32 %i.0, 0 ; <i1> [#uses=1]
+ %tmp.not = xor i1 %tmp, true ; <i1> [#uses=1]
+ %tmp2 = icmp sgt i32 %i.0, 8 ; <i1> [#uses=1]
+ %bothcond = or i1 %tmp.not, %tmp2 ; <i1> [#uses=1]
+ br i1 %bothcond, label %exitTrue, label %exitFalse
-exitFalse: ; preds = %bb
- ret bool false
+exitTrue: ; preds = %bb
+ ret i1 true
+exitFalse: ; preds = %bb
+ ret i1 false
}
+
diff --git a/test/Transforms/InstCombine/2006-12-08-Phi-ICmp-Op-Fold.ll b/test/Transforms/InstCombine/2006-12-08-Phi-ICmp-Op-Fold.ll
index 0965623409..16dbd2196e 100644
--- a/test/Transforms/InstCombine/2006-12-08-Phi-ICmp-Op-Fold.ll
+++ b/test/Transforms/InstCombine/2006-12-08-Phi-ICmp-Op-Fold.ll
@@ -1,57 +1,50 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | \
; RUN: grep {icmp sgt}
-; END.
-
-; ModuleID = 'visible.bc'
target datalayout = "e-p:32:32"
-target endian = little
-target pointersize = 32
target triple = "i686-pc-linux-gnu"
- %struct.point = type { int, int }
-
-implementation ; Functions:
+ %struct.point = type { i32, i32 }
-int %visible(int %direction, long %p1.0, long %p2.0, long %p3.0) {
+define i32 @visible(i32 %direction, i64 %p1.0, i64 %p2.0, i64 %p3.0) {
entry:
%p1_addr = alloca %struct.point ; <%struct.point*> [#uses=2]
%p2_addr = alloca %struct.point ; <%struct.point*> [#uses=2]
%p3_addr = alloca %struct.point ; <%struct.point*> [#uses=2]
- "alloca point" = bitcast int 0 to int ; <int> [#uses=0]
- %tmp = bitcast %struct.point* %p1_addr to { long }* ; <{ long }*> [#uses=1]
- %tmp = getelementptr { long }* %tmp, uint 0, uint 0 ; <long*> [#uses=1]
- store long %p1.0, long* %tmp
- %tmp1 = bitcast %struct.point* %p2_addr to { long }* ; <{ long }*> [#uses=1]
- %tmp2 = getelementptr { long }* %tmp1, uint 0, uint 0 ; <long*> [#uses=1]
- store long %p2.0, long* %tmp2
- %tmp3 = bitcast %struct.point* %p3_addr to { long }* ; <{ long }*> [#uses=1]
- %tmp4 = getelementptr { long }* %tmp3, uint 0, uint 0 ; <long*> [#uses=1]
- store long %p3.0, long* %tmp4
- %tmp = seteq int %direction, 0 ; <bool> [#uses=1]
- %tmp5 = bitcast %struct.point* %p1_addr to { long }* ; <{ long }*> [#uses=1]
- %tmp6 = getelementptr { long }* %tmp5, uint 0, uint 0 ; <long*> [#uses=1]
- %tmp = load long* %tmp6 ; <long> [#uses=1]
- %tmp7 = bitcast %struct.point* %p2_addr to { long }* ; <{ long }*> [#uses=1]
- %tmp8 = getelementptr { long }* %tmp7, uint 0, uint 0 ; <long*> [#uses=1]
- %tmp9 = load long* %tmp8 ; <long> [#uses=1]
- %tmp10 = bitcast %struct.point* %p3_addr to { long }* ; <{ long }*> [#uses=1]
- %tmp11 = getelementptr { long }* %tmp10, uint 0, uint 0 ; <long*> [#uses=1]
- %tmp12 = load long* %tmp11 ; <long> [#uses=1]
- %tmp13 = call int %determinant( long %tmp, long %tmp9, long %tmp12 ) ; <int> [#uses=2]
- br bool %tmp, label %cond_true, label %cond_false
+ %"alloca point" = bitcast i32 0 to i32 ; <i32> [#uses=0]
+ %tmp = bitcast %struct.point* %p1_addr to { i64 }* ; <{ i64 }*> [#uses=1]
+ %tmp.upgrd.1 = getelementptr { i64 }* %tmp, i64 0, i32 0 ; <i64*> [#uses=1]
+ store i64 %p1.0, i64* %tmp.upgrd.1
+ %tmp1 = bitcast %struct.point* %p2_addr to { i64 }* ; <{ i64 }*> [#uses=1]
+ %tmp2 = getelementptr { i64 }* %tmp1, i64 0, i32 0 ; <i64*> [#uses=1]
+ store i64 %p2.0, i64* %tmp2
+ %tmp3 = bitcast %struct.point* %p3_addr to { i64 }* ; <{ i64 }*> [#uses=1]
+ %tmp4 = getelementptr { i64 }* %tmp3, i64 0, i32 0 ; <i64*> [#uses=1]
+ store i64 %p3.0, i64* %tmp4
+ %tmp.upgrd.2 = icmp eq i32 %direction, 0 ; <i1> [#uses=1]
+ %tmp5 = bitcast %struct.point* %p1_addr to { i64 }* ; <{ i64 }*> [#uses=1]
+ %tmp6 = getelementptr { i64 }* %tmp5, i64 0, i32 0 ; <i64*> [#uses=1]
+ %tmp.upgrd.3 = load i64* %tmp6 ; <i64> [#uses=1]
+ %tmp7 = bitcast %struct.point* %p2_addr to { i64 }* ; <{ i64 }*> [#uses=1]
+ %tmp8 = getelementptr { i64 }* %tmp7, i64 0, i32 0 ; <i64*> [#uses=1]
+ %tmp9 = load i64* %tmp8 ; <i64> [#uses=1]
+ %tmp10 = bitcast %struct.point* %p3_addr to { i64 }* ; <{ i64 }*> [#uses=1]
+ %tmp11 = getelementptr { i64 }* %tmp10, i64 0, i32 0 ; <i64*> [#uses=1]
+ %tmp12 = load i64* %tmp11 ; <i64> [#uses=1]
+ %tmp13 = call i32 @determinant( i64 %tmp.upgrd.3, i64 %tmp9, i64 %tmp12 ) ; <i32> [#uses=2]
+ br i1 %tmp.upgrd.2, label %cond_true, label %cond_false
cond_true: ; preds = %entry
- %tmp14 = setlt int %tmp13, 0 ; <bool> [#uses=1]
- %tmp14 = zext bool %tmp14 to int ; <int> [#uses=1]
+ %tmp14 = icmp slt i32 %tmp13, 0 ; <i1> [#uses=1]
+ %tmp14.upgrd.4 = zext i1 %tmp14 to i32 ; <i32> [#uses=1]
br label %return
cond_false: ; preds = %entry
- %tmp26 = setgt int %tmp13, 0 ; <bool> [#uses=1]
- %tmp26 = zext bool %tmp26 to int ; <int> [#uses=1]
+ %tmp26 = icmp sgt i32 %tmp13, 0 ; <i1> [#uses=1]
+ %tmp26.upgrd.5 = zext i1 %tmp26 to i32 ; <i32> [#uses=1]
br label %return
return: ; preds = %cond_false, %cond_true
- %retval.0 = phi int [ %tmp14, %cond_true ], [ %tmp26, %cond_false ] ; <int> [#uses=1]
- ret int %retval.0
+ %retval.0 = phi i32 [ %tmp14.upgrd.4, %cond_true ], [ %tmp26.upgrd.5, %cond_false ] ; <i32> [#uses=1]
+ ret i32 %retval.0
}
-declare int %determinant(long, long, long)
+declare i32 @determinant(i64, i64, i64)
diff --git a/test/Transforms/InstCombine/2006-12-08-Select-ICmp.ll b/test/Transforms/InstCombine/2006-12-08-Select-ICmp.ll
index 466fa60c08..cc36d64dfa 100644
--- a/test/Transforms/InstCombine/2006-12-08-Select-ICmp.ll
+++ b/test/Transforms/InstCombine/2006-12-08-Select-ICmp.ll
@@ -1,44 +1,40 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep select
-; END.
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep select
target datalayout = "e-p:32:32"
-target endian = little
-target pointersize = 32
target triple = "i686-pc-linux-gnu"
- %struct.point = type { int, int }
+ %struct.point = type { i32, i32 }
-implementation ; Functions:
-
-int %visible(int %direction, long %p1.0, long %p2.0, long %p3.0) {
+define i32 @visible(i32 %direction, i64 %p1.0, i64 %p2.0, i64 %p3.0) {
entry:
- %p1_addr = alloca %struct.point ; <%struct.point*> [#uses=2]
- %p2_addr = alloca %struct.point ; <%struct.point*> [#uses=2]
- %p3_addr = alloca %struct.point ; <%struct.point*> [#uses=2]
- %tmp = bitcast %struct.point* %p1_addr to { long }* ; <{ long }*> [#uses=1]
- %tmp = getelementptr { long }* %tmp, int 0, uint 0 ; <long*> [#uses=1]
- store long %p1.0, long* %tmp
- %tmp1 = bitcast %struct.point* %p2_addr to { long }* ; <{ long }*> [#uses=1]
- %tmp2 = getelementptr { long }* %tmp1, int 0, uint 0 ; <long*> [#uses=1]
- store long %p2.0, long* %tmp2
- %tmp3 = bitcast %struct.point* %p3_addr to { long }* ; <{ long }*> [#uses=1]
- %tmp4 = getelementptr { long }* %tmp3, int 0, uint 0 ; <long*> [#uses=1]
- store long %p3.0, long* %tmp4
- %tmp = seteq int %direction, 0 ; <bool> [#uses=1]
- %tmp5 = bitcast %struct.point* %p1_addr to { long }* ; <{ long }*> [#uses=1]
- %tmp6 = getelementptr { long }* %tmp5, int 0, uint 0 ; <long*> [#uses=1]
- %tmp = load long* %tmp6 ; <long> [#uses=1]
- %tmp7 = bitcast %struct.point* %p2_addr to { long }* ; <{ long }*> [#uses=1]
- %tmp8 = getelementptr { long }* %tmp7, int 0, uint 0 ; <long*> [#uses=1]
- %tmp9 = load long* %tmp8 ; <long> [#uses=1]
- %tmp10 = bitcast %struct.point* %p3_addr to { long }* ; <{ long }*> [#uses=1]
- %tmp11 = getelementptr { long }* %tmp10, int 0, uint 0 ; <long*> [#uses=1]
- %tmp12 = load long* %tmp11 ; <long> [#uses=1]
- %tmp13 = call int %determinant( long %tmp, long %tmp9, long %tmp12 ) ; <int> [#uses=2]
- %tmp14 = setlt int %tmp13, 0 ; <bool> [#uses=1]
- %tmp26 = setgt int %tmp13, 0 ; <bool> [#uses=1]
- %retval.0.in = select bool %tmp, bool %tmp14, bool %tmp26 ; <bool> [#uses=1]
- %retval.0 = zext bool %retval.0.in to int ; <int> [#uses=1]
- ret int %retval.0
+ %p1_addr = alloca %struct.point ; <%struct.point*> [#uses=2]
+ %p2_addr = alloca %struct.point ; <%struct.point*> [#uses=2]
+ %p3_addr = alloca %struct.point ; <%struct.point*> [#uses=2]
+ %tmp = bitcast %struct.point* %p1_addr to { i64 }* ; <{ i64 }*> [#uses=1]
+ %tmp.upgrd.1 = getelementptr { i64 }* %tmp, i32 0, i32 0 ; <i64*> [#uses=1]
+ store i64 %p1.0, i64* %tmp.upgrd.1
+ %tmp1 = bitcast %struct.point* %p2_addr to { i64 }* ; <{ i64 }*> [#uses=1]
+ %tmp2 = getelementptr { i64 }* %tmp1, i32 0, i32 0 ; <i64*> [#uses=1]
+ store i64 %p2.0, i64* %tmp2
+ %tmp3 = bitcast %struct.point* %p3_addr to { i64 }* ; <{ i64 }*> [#uses=1]
+ %tmp4 = getelementptr { i64 }* %tmp3, i32 0, i32 0 ; <i64*> [#uses=1]
+ store i64 %p3.0, i64* %tmp4
+ %tmp.upgrd.2 = icmp eq i32 %direction, 0 ; <i1> [#uses=1]
+ %tmp5 = bitcast %struct.point* %p1_addr to { i64 }* ; <{ i64 }*> [#uses=1]
+ %tmp6 = getelementptr { i64 }* %tmp5, i32 0, i32 0 ; <i64*> [#uses=1]
+ %tmp.upgrd.3 = load i64* %tmp6 ; <i64> [#uses=1]
+ %tmp7 = bitcast %struct.point* %p2_addr to { i64 }* ; <{ i64 }*> [#uses=1]
+ %tmp8 = getelementptr { i64 }* %tmp7, i32 0, i32 0 ; <i64*> [#uses=1]
+ %tmp9 = load i64* %tmp8 ; <i64> [#uses=1]
+ %tmp10 = bitcast %struct.point* %p3_addr to { i64 }* ; <{ i64 }*> [#uses=1]
+ %tmp11 = getelementptr { i64 }* %tmp10, i32 0, i32 0 ; <i64*> [#uses=1]
+ %tmp12 = load i64* %tmp11 ; <i64> [#uses=1]
+ %tmp13 = call i32 @determinant( i64 %tmp.upgrd.3, i64 %tmp9, i64 %tmp12 ) ; <i32> [#uses=2]
+ %tmp14 = icmp slt i32 %tmp13, 0 ; <i1> [#uses=1]
+ %tmp26 = icmp sgt i32 %tmp13, 0 ; <i1> [#uses=1]
+ %retval.0.in = select i1 %tmp.upgrd.2, i1 %tmp14, i1 %tmp26 ; <i1> [#uses=1]
+ %retval.0 = zext i1 %retval.0.in to i32 ; <i32> [#uses=1]
+ ret i32 %retval.0
}
-declare int %determinant(long, long, long)
+declare i32 @determinant(i64, i64, i64)
+
diff --git a/test/Transforms/InstCombine/2006-12-10-ICmp-GEP-GEP.ll b/test/Transforms/InstCombine/2006-12-10-ICmp-GEP-GEP.ll
index 1343a4f5d0..08ebe6ad3a 100644
--- a/test/Transforms/InstCombine/2006-12-10-ICmp-GEP-GEP.ll
+++ b/test/Transforms/InstCombine/2006-12-10-ICmp-GEP-GEP.ll
@@ -1,167 +1,161 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \
-; RUN: grep -v {icmp ult int}
-; END.
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | \
+; RUN: grep -v {icmp ult i32}
-; ModuleID = 'good.bc'
target datalayout = "e-p:32:32"
-target endian = little
-target pointersize = 32
target triple = "i686-pc-linux-gnu"
- %struct.edgeBox = type { short, short, short, short, short, short }
-%qsz = external global int ; <int*> [#uses=12]
-%thresh = external global int ; <int*> [#uses=2]
-%mthresh = external global int ; <int*> [#uses=1]
+ %struct.edgeBox = type { i16, i16, i16, i16, i16, i16 }
+@qsz = external global i32 ; <i32*> [#uses=12]
+@thresh = external global i32 ; <i32*> [#uses=2]
+@mthresh = external global i32 ; <i32*> [#uses=1]
-implementation ; Functions:
-
-int %qsorte(sbyte* %base, int %n, int %size) {
+define i32 @qsorte(i8* %base, i32 %n, i32 %size) {
entry:
- %tmp = setgt int %n, 1 ; <bool> [#uses=1]
- br bool %tmp, label %cond_next, label %return
-
-cond_next: ; preds = %entry
- store int %size, int* %qsz
- %tmp3 = shl int %size, ubyte 2 ; <int> [#uses=1]
- store int %tmp3, int* %thresh
- %tmp4 = load int* %qsz ; <int> [#uses=1]
- %tmp5 = mul int %tmp4, 6 ; <int> [#uses=1]
- store int %tmp5, int* %mthresh
- %tmp6 = load int* %qsz ; <int> [#uses=1]
- %tmp8 = mul int %tmp6, %n ; <int> [#uses=1]
- %tmp9 = getelementptr sbyte* %base, int %tmp8 ; <sbyte*> [#uses=3]
- %tmp11 = setgt int %n, 3 ; <bool> [#uses=1]
- br bool %tmp11, label %cond_true12, label %bb30
-
-cond_true12: ; preds = %cond_next
- %tmp156 = call int %qste( sbyte* %base, sbyte* %tmp9 ) ; <int> [#uses=0]
- %tmp16 = load int* %thresh ; <int> [#uses=1]
- %tmp18 = getelementptr sbyte* %base, int %tmp16 ; <sbyte*> [#uses=2]
- %tmp3117 = load int* %qsz ; <int> [#uses=1]
- %tmp3318 = getelementptr sbyte* %base, int %tmp3117 ; <sbyte*> [#uses=2]
- %tmp3621 = setlt sbyte* %tmp3318, %tmp18 ; <bool> [#uses=1]
- br bool %tmp3621, label %bb, label %bb37
-
-bb: ; preds = %bb30, %cond_true12
- %hi.0.0 = phi sbyte* [ %tmp18, %cond_true12 ], [ %hi.0, %bb30 ] ; <sbyte*> [#uses=4]
- %j.1.0 = phi sbyte* [ %base, %cond_true12 ], [ %j.1, %bb30 ] ; <sbyte*> [#uses=4]
- %tmp33.0 = phi sbyte* [ %tmp3318, %cond_true12 ], [ %tmp33, %bb30 ] ; <sbyte*> [#uses=6]
- %tmp3 = bitcast sbyte* %j.1.0 to %struct.edgeBox* ; <%struct.edgeBox*> [#uses=1]
- %tmp4 = bitcast sbyte* %tmp33.0 to %struct.edgeBox* ; <%struct.edgeBox*> [#uses=1]
- %tmp255 = call int %comparee( %struct.edgeBox* %tmp3, %struct.edgeBox* %tmp4 ) ; <int> [#uses=1]
- %tmp26 = setgt int %tmp255, 0 ; <bool> [#uses=1]
- br bool %tmp26, label %cond_true27, label %bb30
-
-cond_true27: ; preds = %bb
- br label %bb30
-
-bb30: ; preds = %cond_true27, %bb, %cond_next
- %hi.0.3 = phi sbyte* [ %hi.0.0, %cond_true27 ], [ %hi.0.0, %bb ], [ undef, %cond_next ] ; <sbyte*> [#uses=0]
- %j.1.3 = phi sbyte* [ %j.1.0, %cond_true27 ], [ %j.1.0, %bb ], [ undef, %cond_next ] ; <sbyte*> [#uses=0]
- %tmp33.3 = phi sbyte* [ %tmp33.0, %cond_true27 ], [ %tmp33.0, %bb ], [ undef, %cond_next ] ; <sbyte*> [#uses=0]
- %hi.0 = phi sbyte* [ %tmp9, %cond_next ], [ %hi.0.0, %bb ], [ %hi.0.0, %cond_true27 ] ; <sbyte*> [#uses=2]
- %lo.1 = phi sbyte* [ %tmp33.0, %cond_true27 ], [ %tmp33.0, %bb ], [ %base, %cond_next ] ; <sbyte*> [#uses=1]
- %j.1 = phi sbyte* [ %tmp33.0, %cond_true27 ], [ %j.1.0, %bb ], [ %base, %cond_next ] ; <sbyte*> [#uses=2]
- %tmp31 = load int* %qsz ; <int> [#uses=1]
- %tmp33 = getelementptr sbyte* %lo.1, int %tmp31 ; <sbyte*> [#uses=2]
- %tmp36 = setlt sbyte* %tmp33, %hi.0 ; <bool> [#uses=1]
- br bool %tmp36, label %bb, label %bb37
-
-bb37: ; preds = %bb30, %cond_true12
- %j.1.1 = phi sbyte* [ %j.1, %bb30 ], [ %base, %cond_true12 ] ; <sbyte*> [#uses=4]
- %tmp40 = seteq sbyte* %j.1.1, %base ; <bool> [#uses=1]
- br bool %tmp40, label %bb115, label %cond_true41
-
-cond_true41: ; preds = %bb37
- %tmp43 = load int* %qsz ; <int> [#uses=1]
- %tmp45 = getelementptr sbyte* %base, int %tmp43 ; <sbyte*> [#uses=2]
- %tmp6030 = setlt sbyte* %base, %tmp45 ; <bool> [#uses=1]
- br bool %tmp6030, label %bb46, label %bb115
-
-bb46: ; preds = %bb46, %cond_true41
- %j.2.0 = phi sbyte* [ %j.1.1, %cond_true41 ], [ %tmp52, %bb46 ] ; <sbyte*> [#uses=3]
- %i.2.0 = phi sbyte* [ %base, %cond_true41 ], [ %tmp56, %bb46 ] ; <sbyte*> [#uses=3]
- %tmp = load sbyte* %j.2.0 ; <sbyte> [#uses=2]
- %tmp49 = load sbyte* %i.2.0 ; <sbyte> [#uses=1]
- store sbyte %tmp49, sbyte* %j.2.0
- %tmp52 = getelementptr sbyte* %j.2.0, int 1 ; <sbyte*> [#uses=2]
- store sbyte %tmp, sbyte* %i.2.0
- %tmp56 = getelementptr sbyte* %i.2.0, int 1 ; <sbyte*> [#uses=3]
- %tmp60 = setlt sbyte* %tmp56, %tmp45 ; <bool> [#uses=1]
- br bool %tmp60, label %bb46, label %bb115
-
-bb66: ; preds = %bb115, %bb66
- %hi.3 = phi sbyte* [ %tmp118, %bb115 ], [ %tmp70, %bb66 ] ; <sbyte*> [#uses=2]
- %tmp67 = load int* %qsz ; <int> [#uses=2]
- %tmp68 = sub int 0, %tmp67 ; <int> [#uses=1]
- %tmp70 = getelementptr sbyte* %hi.3, int %tmp68 ; <sbyte*> [#uses=2]
- %tmp = bitcast sbyte* %tmp70 to %struct.edgeBox* ; <%struct.edgeBox*> [#uses=1]
- %tmp1 = bitcast sbyte* %tmp118 to %struct.edgeBox* ; <%struct.edgeBox*> [#uses=1]
- %tmp732 = call int %comparee( %struct.edgeBox* %tmp, %struct.edgeBox* %tmp1 ) ; <int> [#uses=1]
- %tmp74 = setgt int %tmp732, 0 ; <bool> [#uses=1]
- br bool %tmp74, label %bb66, label %bb75
-
-bb75: ; preds = %bb66
- %tmp76 = load int* %qsz ; <int> [#uses=1]
- %tmp70.sum = sub int %tmp76, %tmp67 ; <int> [#uses=1]
- %tmp78 = getelementptr sbyte* %hi.3, int %tmp70.sum ; <sbyte*> [#uses=3]
- %tmp81 = seteq sbyte* %tmp78, %tmp118 ; <bool> [#uses=1]
- br bool %tmp81, label %bb115, label %cond_true82
-
-cond_true82: ; preds = %bb75
- %tmp83 = load int* %qsz ; <int> [#uses=1]
- %tmp118.sum = add int %tmp116, %tmp83 ; <int> [#uses=1]
- %tmp85 = getelementptr sbyte* %min.1, int %tmp118.sum ; <sbyte*> [#uses=1]
- %tmp10937 = getelementptr sbyte* %tmp85, int -1 ; <sbyte*> [#uses=3]
- %tmp11239 = setlt sbyte* %tmp10937, %tmp118 ; <bool> [#uses=1]
- br bool %tmp11239, label %bb115, label %bb86
-
-bb86: ; preds = %bb104, %cond_true82
- %tmp109.0 = phi sbyte* [ %tmp10937, %cond_true82 ], [ %tmp109, %bb104 ] ; <sbyte*> [#uses=5]
- %i.5.2 = phi sbyte* [ %i.5.3, %cond_true82 ], [ %i.5.1, %bb104 ] ; <sbyte*> [#uses=0]
- %tmp100.2 = phi sbyte* [ %tmp100.3, %cond_true82 ], [ %tmp100.1, %bb104 ] ; <sbyte*> [#uses=0]
- %tmp88 = load sbyte* %tmp109.0 ; <sbyte> [#uses=2]
- %tmp9746 = load int* %qsz ; <int> [#uses=1]
- %tmp9847 = sub int 0, %tmp9746 ; <int> [#uses=1]
- %tmp10048 = getelementptr sbyte* %tmp109.0, int %tmp9847 ; <sbyte*> [#uses=3]
- %tmp10350 = setlt sbyte* %tmp10048, %tmp78 ; <bool> [#uses=1]
- br bool %tmp10350, label %bb104, label %bb91
-
-bb91: ; preds = %bb91, %bb86
- %i.5.0 = phi sbyte* [ %tmp109.0, %bb86 ], [ %tmp100.0, %bb91 ] ; <sbyte*> [#uses=1]
- %tmp100.0 = phi sbyte* [ %tmp10048, %bb86 ], [ %tmp100, %bb91 ] ; <sbyte*> [#uses=4]
- %tmp93 = load sbyte* %tmp100.0 ; <sbyte> [#uses=1]
- store sbyte %tmp93, sbyte* %i.5.0
- %tmp97 = load int* %qsz ; <int> [#uses=1]
- %tmp98 = sub int 0, %tmp97 ; <int> [#uses=1]
- %tmp100 = getelementptr sbyte* %tmp100.0, int %tmp98 ; <sbyte*> [#uses=3]
- %tmp103 = setlt sbyte* %tmp100, %tmp78 ; <bool> [#uses=1]
- br bool %tmp103, label %bb104, label %bb91
-
-bb104: ; preds = %bb91, %bb86
- %i.5.1 = phi sbyte* [ %tmp109.0, %bb86 ], [ %tmp100.0, %bb91 ] ; <sbyte*> [#uses=4]
- %tmp100.1 = phi sbyte* [ %tmp10048, %bb86 ], [ %tmp100, %bb91 ] ; <sbyte*> [#uses=3]
- store sbyte %tmp88, sbyte* %i.5.1
- %tmp109 = getelementptr sbyte* %tmp109.0, int -1 ; <sbyte*> [#uses=3]
- %tmp112 = setlt sbyte* %tmp109, %tmp118 ; <bool> [#uses=1]
- br bool %tmp112, label %bb115, label %bb86
-
-bb115: ; preds = %bb104, %cond_true82, %bb75, %bb46, %cond_true41, %bb37
- %tmp109.1 = phi sbyte* [ undef, %bb37 ], [ %tmp109.1, %bb75 ], [ %tmp10937, %cond_true82 ], [ %tmp109, %bb104 ], [ undef, %bb46 ], [ undef, %cond_true41 ] ; <sbyte*> [#uses=1]
- %i.5.3 = phi sbyte* [ undef, %bb37 ], [ %i.5.3, %bb75 ], [ %i.5.3, %cond_true82 ], [ %i.5.1, %bb104 ], [ undef, %bb46 ], [ undef, %cond_true41 ] ; <sbyte*> [#uses=3]
- %tmp100.3 = phi sbyte* [ undef, %bb37 ], [ %tmp100.3, %bb75 ], [ %tmp100.3, %cond_true82 ], [ %tmp100.1, %bb104 ], [ undef, %bb46 ], [ undef, %cond_true41 ] ; <sbyte*> [#uses=3]
- %min.1 = phi sbyte* [ %tmp118, %bb104 ], [ %tmp118, %bb75 ], [ %base, %bb37 ], [ %base, %bb46 ], [ %base, %cond_true41 ], [ %tmp118, %cond_true82 ] ; <sbyte*> [#uses=2]
- %j.5 = phi sbyte* [ %tmp100.1, %bb104 ], [ %j.5, %bb75 ], [ %tmp52, %bb46 ], [ %j.1.1, %bb37 ], [ %j.1.1, %cond_true41 ], [ %j.5, %cond_true82 ] ; <sbyte*> [#uses=2]
- %i.4 = phi sbyte* [ %i.5.1, %bb104 ], [ %i.4, %bb75 ], [ %tmp56, %bb46 ], [ undef, %bb37 ], [ %base, %cond_true41 ], [ %i.4, %cond_true82 ] ; <sbyte*> [#uses=2]
- %c.4 = phi sbyte [ %tmp88, %bb104 ], [ %c.4, %bb75 ], [ %tmp, %bb46 ], [ undef, %bb37 ], [ undef, %cond_true41 ], [ %c.4, %cond_true82 ] ; <sbyte> [#uses=2]
- %tmp116 = load int* %qsz ; <int> [#uses=2]
- %tmp118 = getelementptr sbyte* %min.1, int %tmp116 ; <sbyte*> [#uses=9]
- %tmp122 = setlt sbyte* %tmp118, %tmp9 ; <bool> [#uses=1]
- br bool %tmp122, label %bb66, label %return
-
-return: ; preds = %bb115, %entry
- ret int undef
+ %tmp = icmp sgt i32 %n, 1 ; <i1> [#uses=1]
+ br i1 %tmp, label %cond_next, label %return
+
+cond_next: ; preds = %entry
+ store i32 %size, i32* @qsz
+ %tmp3 = shl i32 %size, 2 ; <i32> [#uses=1]
+ store i32 %tmp3, i32* @thresh
+ %tmp4 = load i32* @qsz ; <i32> [#uses=1]
+ %tmp5 = mul i32 %tmp4, 6 ; <i32> [#uses=1]
+ store i32 %tmp5, i32* @mthresh
+ %tmp6 = load i32* @qsz ; <i32> [#uses=1]
+ %tmp8 = mul i32 %tmp6, %n ; <i32> [#uses=1]
+ %tmp9 = getelementptr i8* %base, i32 %tmp8 ; <i8*> [#uses=3]
+ %tmp11 = icmp sgt i32 %n, 3 ; <i1> [#uses=1]
+ br i1 %tmp11, label %cond_true12, label %bb30
+
+cond_true12: ; preds = %cond_next
+ %tmp156 = call i32 @qste( i8* %base, i8* %tmp9 ) ; <i32> [#uses=0]
+ %tmp16 = load i32* @thresh ; <i32> [#uses=1]
+ %tmp18 = getelementptr i8* %base, i32 %tmp16 ; <i8*> [#uses=2]
+ %tmp3117 = load i32* @qsz ; <i32> [#uses=1]
+ %tmp3318 = getelementptr i8* %base, i32 %tmp3117 ; <i8*> [#uses=2]
+ %tmp3621 = icmp ult i8* %tmp3318, %tmp18 ; <i1> [#uses=1]
+ br i1 %tmp3621, label %bb, label %bb37
+
+bb: ; preds = %bb30, %cond_true12
+ %hi.0.0 = phi i8* [ %tmp18, %cond_true12 ], [ %hi.0, %bb30 ] ; <i8*> [#uses=4]
+ %j.1.0 = phi i8* [ %base, %cond_true12 ], [ %j.1, %bb30 ] ; <i8*> [#uses=4]
+ %tmp33.0 = phi i8* [ %tmp3318, %cond_true12 ], [ %tmp33, %bb30 ] ; <i8*> [#uses=6]
+ %tmp3.upgrd.1 = bitcast i8* %j.1.0 to %struct.edgeBox* ; <%struct.edgeBox*> [#uses=1]
+ %tmp4.upgrd.2 = bitcast i8* %tmp33.0 to %struct.edgeBox* ; <%struct.edgeBox*> [#uses=1]
+ %tmp255 = call i32 @comparee( %struct.edgeBox* %tmp3.upgrd.1, %struct.edgeBox* %tmp4.upgrd.2 ) ; <i32> [#uses=1]
+ %tmp26 = icmp sgt i32 %tmp255, 0 ; <i1> [#uses=1]
+ br i1 %tmp26, label %cond_true27, label %bb30
+
+cond_true27: ; preds = %bb
+ br label %bb30
+
+bb30: ; preds = %cond_true27, %bb, %cond_next
+ %hi.0.3 = phi i8* [ %hi.0.0, %cond_true27 ], [ %hi.0.0, %bb ], [ undef, %cond_next ] ; <i8*> [#uses=0]
+ %j.1.3 = phi i8* [ %j.1.0, %cond_true27 ], [ %j.1.0, %bb ], [ undef, %cond_next ] ; <i8*> [#uses=0]
+ %tmp33.3 = phi i8* [ %tmp33.0, %cond_true27 ], [ %tmp33.0, %bb ], [ undef, %cond_next ] ; <i8*> [#uses=0]
+ %hi.0 = phi i8* [ %tmp9, %cond_next ], [ %hi.0.0, %bb ], [ %hi.0.0, %cond_true27 ] ; <i8*> [#uses=2]
+ %lo.1 = phi i8* [ %tmp33.0, %cond_true27 ], [ %tmp33.0, %bb ], [ %base, %cond_next ] ; <i8*> [#uses=1]
+ %j.1 = phi i8* [ %tmp33.0, %cond_true27 ], [ %j.1.0, %bb ], [ %base, %cond_next ] ; <i8*> [#uses=2]
+ %tmp31 = load i32* @qsz ; <i32> [#uses=1]
+ %tmp33 = getelementptr i8* %lo.1, i32 %tmp31 ; <i8*> [#uses=2]
+ %tmp36 = icmp ult i8* %tmp33, %hi.0 ; <i1> [#uses=1]
+ br i1 %tmp36, label %bb, label %bb37
+
+bb37: ; preds = %bb30, %cond_true12
+ %j.1.1 = phi i8* [ %j.1, %bb30 ], [ %base, %cond_true12 ] ; <i8*> [#uses=4]
+ %tmp40 = icmp eq i8* %j.1.1, %base ; <i1> [#uses=1]
+ br i1 %tmp40, label %bb115, label %cond_true41
+
+cond_true41: ; preds = %bb37
+ %tmp43 = load i32* @qsz ; <i32> [#uses=1]
+ %tmp45 = getelementptr i8* %base, i32 %tmp43 ; <i8*> [#uses=2]
+ %tmp6030 = icmp ult i8* %base, %tmp45 ; <i1> [#uses=1]
+ br i1 %tmp6030, label %bb46, label %bb115
+
+bb46: ; preds = %bb46, %cond_true41
+ %j.2.0 = phi i8* [ %j.1.1, %cond_true41 ], [ %tmp52, %bb46 ] ; <i8*> [#uses=3]
+ %i.2.0 = phi i8* [ %base, %cond_true41 ], [ %tmp56, %bb46 ] ; <i8*> [#uses=3]
+ %tmp.upgrd.3 = load i8* %j.2.0 ; <i8> [#uses=2]
+ %tmp49 = load i8* %i.2.0 ; <i8> [#uses=1]
+ store i8 %tmp49, i8* %j.2.0
+ %tmp52 = getelementptr i8* %j.2.0, i32 1 ; <i8*> [#uses=2]
+ store i8 %tmp.upgrd.3, i8* %i.2.0
+ %tmp56 = getelementptr i8* %i.2.0, i32 1 ; <i8*> [#uses=3]
+ %tmp60 = icmp ult i8* %tmp56, %tmp45 ; <i1> [#uses=1]
+ br i1 %tmp60, label %bb46, label %bb115
+
+bb66: ; preds = %bb115, %bb66
+ %hi.3 = phi i8* [ %tmp118, %bb115 ], [ %tmp70, %bb66 ] ; <i8*> [#uses=2]
+ %tmp67 = load i32* @qsz ; <i32> [#uses=2]
+ %tmp68 = sub i32 0, %tmp67 ; <i32> [#uses=1]
+ %tmp70 = getelementptr i8* %hi.3, i32 %tmp68 ; <i8*> [#uses=2]
+ %tmp.upgrd.4 = bitcast i8* %tmp70 to %struct.edgeBox* ; <%struct.edgeBox*> [#uses=1]
+ %tmp1 = bitcast i8* %tmp118 to %struct.edgeBox* ; <%struct.edgeBox*> [#uses=1]
+ %tmp732 = call i32 @comparee( %struct.edgeBox* %tmp.upgrd.4, %struct.edgeBox* %tmp1 ) ; <i32> [#uses=1]
+ %tmp74 = icmp sgt i32 %tmp732, 0 ; <i1> [#uses=1]
+ br i1 %tmp74, label %bb66, label %bb75
+
+bb75: ; preds = %bb66
+ %tmp76 = load i32* @qsz ; <i32> [#uses=1]
+ %tmp70.sum = sub i32 %tmp76, %tmp67 ; <i32> [#uses=1]
+ %tmp78 = getelementptr i8* %hi.3, i32 %tmp70.sum ; <i8*> [#uses=3]
+ %tmp81 = icmp eq i8* %tmp78, %tmp118 ; <i1> [#uses=1]
+ br i1 %tmp81, label %bb115, label %cond_true82
+
+cond_true82: ; preds = %bb75
+ %tmp83 = load i32* @qsz ; <i32> [#uses=1]
+ %tmp118.sum = add i32 %tmp116, %tmp83 ; <i32> [#uses=1]
+ %tmp85 = getelementptr i8* %min.1, i32 %tmp118.sum ; <i8*> [#uses=1]
+ %tmp10937 = getelementptr i8* %tmp85, i32 -1 ; <i8*> [#uses=3]
+ %tmp11239 = icmp ult i8* %tmp10937, %tmp118 ; <i1> [#uses=1]
+ br i1 %tmp11239, label %bb115, label %bb86
+
+bb86: ; preds = %bb104, %cond_true82
+ %tmp109.0 = phi i8* [ %tmp10937, %cond_true82 ], [ %tmp109, %bb104 ] ; <i8*> [#uses=5]
+ %i.5.2 = phi i8* [ %i.5.3, %cond_true82 ], [ %i.5.1, %bb104 ] ; <i8*> [#uses=0]
+ %tmp100.2 = phi i8* [ %tmp100.3, %cond_true82 ], [ %tmp100.1, %bb104 ] ; <i8*> [#uses=0]
+ %tmp88 = load i8* %tmp109.0 ; <i8> [#uses=2]
+ %tmp9746 = load i32* @qsz ; <i32> [#uses=1]
+ %tmp9847 = sub i32 0, %tmp9746 ; <i32> [#uses=1]
+ %tmp10048 = getelementptr i8* %tmp109.0, i32 %tmp9847 ; <i8*> [#uses=3]
+ %tmp10350 = icmp ult i8* %tmp10048, %tmp78 ; <i1> [#uses=1]
+ br i1 %tmp10350, label %bb104, label %bb91
+
+bb91: ; preds = %bb91, %bb86
+ %i.5.0 = phi i8* [ %tmp109.0, %bb86 ], [ %tmp100.0, %bb91 ] ; <i8*> [#uses=1]
+ %tmp100.0 = phi i8* [ %tmp10048, %bb86 ], [ %tmp100, %bb91 ] ; <i8*> [#uses=4]
+ %tmp93 = load i8* %tmp100.0 ; <i8> [#uses=1]
+ store i8 %tmp93, i8* %i.5.0
+ %tmp97 = load i32* @qsz ; <i32> [#uses=1]
+ %tmp98 = sub i32 0, %tmp97 ; <i32> [#uses=1]
+ %tmp100 = getelementptr i8* %tmp100.0, i32 %tmp98 ; <i8*> [#uses=3]
+ %tmp103 = icmp ult i8* %tmp100, %tmp78 ; <i1> [#uses=1]
+ br i1 %tmp103, label %bb104, label %bb91
+
+bb104: ; preds = %bb91, %bb86
+ %i.5.1 = phi i8* [ %tmp109.0, %bb86 ], [ %tmp100.0, %bb91 ] ; <i8*> [#uses=4]
+ %tmp100.1 = phi i8* [ %tmp10048, %bb86 ], [ %tmp100, %bb91 ] ; <i8*> [#uses=3]
+ store i8 %tmp88, i8* %i.5.1
+ %tmp109 = getelementptr i8* %tmp109.0, i32 -1 ; <i8*> [#uses=3]
+ %tmp112 = icmp ult i8* %tmp109, %tmp118 ; <i1> [#uses=1]
+ br i1 %tmp112, label %bb115, label %bb86
+
+bb115: ; preds = %bb104, %cond_true82, %bb75, %bb46, %cond_true41, %bb37
+ %tmp109.1 = phi i8* [ undef, %bb37 ], [ %tmp109.1, %bb75 ], [ %tmp10937, %cond_true82 ], [ %tmp109, %bb104 ], [ undef, %bb46 ], [ undef, %cond_true41 ] ; <i8*> [#uses=1]
+ %i.5.3 = phi i8* [ undef, %bb37 ], [ %i.5.3, %bb75 ], [ %i.5.3, %cond_true82 ], [ %i.5.1, %bb104 ], [ undef, %bb46 ], [ undef, %cond_true41 ] ; <i8*> [#uses=3]
+ %tmp100.3 = phi i8* [ undef, %bb37 ], [ %tmp100.3, %bb75 ], [ %tmp100.3, %cond_true82 ], [ %tmp100.1, %bb104 ], [ undef, %bb46 ], [ undef, %cond_true41 ] ; <i8*> [#uses=3]
+ %min.1 = phi i8* [ %tmp118, %bb104 ], [ %tmp118, %bb75 ], [ %base, %bb37 ], [ %base, %bb46 ], [ %base, %cond_true41 ], [ %tmp118, %cond_true82 ] ; <i8*> [#uses=2]
+ %j.5 = phi i8* [ %tmp100.1, %bb104 ], [ %j.5, %bb75 ], [ %tmp52, %bb46 ], [ %j.1.1, %bb37 ], [ %j.1.1, %cond_true41 ], [ %j.5, %cond_true82 ] ; <i8*> [#uses=2]
+ %i.4 = phi i8* [ %i.5.1, %bb104 ], [ %i.4, %bb75 ], [ %tmp56, %bb46 ], [ undef, %bb37 ], [ %base, %cond_true41 ], [ %i.4, %cond_true82 ] ; <i8*> [#uses=2]
+ %c.4 = phi i8 [ %tmp88, %bb104 ], [ %c.4, %bb75 ], [ %tmp.upgrd.3, %bb46 ], [ undef, %bb37 ], [ undef, %cond_true41 ], [ %c.4, %cond_true82 ] ; <i8> [#uses=2]
+ %tmp116 = load i32* @qsz ; <i32> [#uses=2]
+ %tmp118 = getelementptr i8* %min.1, i32 %tmp116 ; <i8*> [#uses=9]
+ %tmp122 = icmp ult i8* %tmp118, %tmp9 ; <i1> [#uses=1]
+ br i1 %tmp122, label %bb66, label %return
+
+return: ; preds = %bb115, %entry
+ ret i32 undef
}
-declare int %qste(sbyte*, sbyte*)
+declare i32 @qste(i8*, i8*)
-declare int %comparee(%struct.edgeBox*, %struct.edgeBox*)
+declare i32 @comparee(%struct.edgeBox*, %struct.edgeBox*)
diff --git a/test/Transforms/InstCombine/2006-12-15-Range-Test.ll b/test/Transforms/InstCombine/2006-12-15-Range-Test.ll
index 4767558616..585257c779 100644
--- a/test/Transforms/InstCombine/2006-12-15-Range-Test.ll
+++ b/test/Transforms/InstCombine/2006-12-15-Range-Test.ll
@@ -1,36 +1,30 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | \
; RUN: grep icmp | count 1
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | \
; RUN: grep {icmp ugt} | count 1
-; END.
-; ModuleID = 'bugpoint-tooptimize.bc'
target datalayout = "e-p:32:32"
-target endian = little
-target pointersize = 32
target triple = "i686-pc-linux-gnu"
-%r = external global [17 x int] ; <[17 x int]*> [#uses=1]
+@r = external global [17 x i32] ; <[17 x i32]*> [#uses=1]
-implementation ; Functions:
-
-bool %print_pgm_cond_true(int %tmp12.reload, int* %tmp16.out) {
+define i1 @print_pgm_cond_true(i32 %tmp12.reload, i32* %tmp16.out) {
newFuncRoot:
br label %cond_true
bb27.exitStub: ; preds = %cond_true
- store int %tmp16, int* %tmp16.out
- ret bool true
+ store i32 %tmp16, i32* %tmp16.out
+ ret i1 true
cond_next23.exitStub: ; preds = %cond_true
- store int %tmp16, int* %tmp16.out
- ret bool false
+ store i32 %tmp16, i32* %tmp16.out
+ ret i1 false
cond_true: ; preds = %newFuncRoot
- %tmp15 = getelementptr [17 x int]* %r, int 0, int %tmp12.reload ; <int*> [#uses=1]
- %tmp16 = load int* %tmp15 ; <int> [#uses=4]
- %tmp18 = icmp slt int %tmp16, -31 ; <bool> [#uses=1]
- %tmp21 = icmp sgt int %tmp16, 31 ; <bool> [#uses=1]
- %bothcond = or bool %tmp18, %tmp21 ; <bool> [#uses=1]
- br bool %bothcond, label %bb27.exitStub, label %cond_next23.exitStub
+ %tmp15 = getelementptr [17 x i32]* @r, i32 0, i32 %tmp12.reload ; <i32*> [#uses=1]
+ %tmp16 = load i32* %tmp15 ; <i32> [#uses=4]
+ %tmp18 = icmp slt i32 %tmp16, -31 ; <i1> [#uses=1]
+ %tmp21 = icmp sgt i32 %tmp16, 31 ; <i1> [#uses=1]
+ %bothcond = or i1 %tmp18, %tmp21 ; <i1> [#uses=1]
+ br i1 %bothcond, label %bb27.exitStub, label %cond_next23.exitStub
}
diff --git a/test/Transforms/InstCombine/2006-12-23-Select-Cmp-Cmp.ll b/test/Transforms/InstCombine/2006-12-23-Select-Cmp-Cmp.ll
index 044b9451c5..e653aa1e2c 100644
--- a/test/Transforms/InstCombine/2006-12-23-Select-Cmp-Cmp.ll
+++ b/test/Transforms/InstCombine/2006-12-23-Select-Cmp-Cmp.ll
@@ -1,31 +1,25 @@
; For PR1065. This causes an assertion in instcombine if a select with two cmp
; operands is encountered.
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine -disable-output
-; END.
+; RUN: llvm-as < %s | opt -instcombine -disable-output
-; ModuleID = 'PR1065.bc'
target datalayout = "e-p:32:32"
-target endian = little
-target pointersize = 32
target triple = "i686-pc-linux-gnu"
- %struct.internal_state = type { int }
- %struct.mng_data = type { uint, sbyte*, uint, uint, uint, uint, uint, uint, uint, uint, uint, ubyte, uint, uint, uint, sbyte, uint, uint, uint, uint, ushort, ushort, ushort, sbyte, sbyte, double, double, double, sbyte, sbyte, sbyte, sbyte, uint, uint, uint, uint, int, sbyte, int, int, sbyte*, sbyte* (uint)*, void (sbyte*, uint)*, void (sbyte*, sbyte*, uint)*, sbyte (%struct.mng_data*)*, sbyte (%struct.mng_data*)*, sbyte (%struct.mng_data*, sbyte*, uint, uint*)*, sbyte (%struct.mng_data*, sbyte*, uint, uint*)*, sbyte (%struct.mng_data*, int, sbyte, int, uint, int, int, sbyte*)*, sbyte (%struct.mng_data*, int, int, sbyte*)*, sbyte (%struct.mng_data*, uint, uint)*, sbyte (%struct.mng_data*, ubyte, sbyte*, sbyte*, sbyte*, sbyte*)*, sbyte (%struct.mng_data*)*, sbyte (%struct.mng_data*, sbyte*)*, sbyte (%struct.mng_data*, sbyte*)*, sbyte (%struct.mng_data*, uint, uint)*, sbyte (%struct.mng_data*, int, uint, sbyte*)*, sbyte (%struct.mng_data*, ubyte, ubyte, uint, uint)*, sbyte* (%struct.mng_data*, uint)*, sbyte* (%struct.mng_data*, uint)*, sbyte* (%struct.mng_data*, uint)*, sbyte (%struct.mng_data*, uint, uint, uint, uint)*, uint (%struct.mng_data*)*, sbyte (%struct.mng_data*, uint)*, sbyte (%struct.mng_data*, uint)*, sbyte (%struct.mng_data*, uint, uint, uint, uint, uint, uint, uint, uint)*, sbyte (%struct.mng_data*, ubyte)*, sbyte (%struct.mng_data*, uint, sbyte*)*, sbyte (%struct.mng_data*, uint, sbyte, sbyte*)*, sbyte, int, uint, sbyte*, sbyte*, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, uint, uint, ubyte, ubyte, ubyte, ubyte, ubyte, uint, sbyte, sbyte, sbyte, uint, ubyte*, uint, ubyte*, uint, sbyte, ubyte, sbyte, uint, ubyte*, ubyte*, uint, uint, ubyte*, ubyte*, %struct.mng_pushdata*, %struct.mng_pushdata*, %struct.mng_pushdata*, %struct.mng_pushdata*, sbyte, sbyte, int, uint, ubyte*, sbyte, sbyte, uint, uint, uint, uint, uint, uint, sbyte, sbyte, sbyte, sbyte, int, int, sbyte*, uint, uint, uint, sbyte, sbyte, uint, uint, uint, uint, sbyte, sbyte, ubyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, uint, sbyte*, sbyte*, sbyte*, uint, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, %struct.mng_savedata*, uint, uint, uint, uint, sbyte, int, int, int, int, int, int, int, int, int, int, int, int, uint, uint, uint, uint, ubyte*, ubyte*, ubyte*, sbyte, sbyte, int, int, int, int, int, int, int, int, int, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, [256 x ubyte], double, void ()*, void ()*, void ()*, void ()*, void ()*, void ()*, void ()*, void ()*, void ()*, void ()*, void ()*, void ()*, ushort, sbyte, ubyte, sbyte, ubyte, sbyte, int, int, sbyte, int, int, int, int, ushort, ushort, ushort, ubyte, ushort, ubyte, int, int, uint, uint, ubyte, uint, uint, sbyte, int, int, int, int, ubyte, uint, uint, sbyte, int, int, int, int, uint, sbyte, uint, ubyte, ushort, ushort, ushort, short, uint, [256 x %struct.mng_palette8e], uint, [256 x ubyte], uint, uint, uint, uint, uint, uint, uint, uint, uint, ubyte, uint, sbyte*, ushort, ushort, ushort, sbyte*, ubyte, ubyte, uint, uint, uint, uint, sbyte, void ()*, void ()*, void ()*, void ()*, void ()*, void ()*, sbyte*, ubyte, ubyte, ubyte, uint, sbyte*, sbyte*, ushort, ushort, ushort, ushort, int, int, sbyte*, %struct.z_stream, int, int, int, int, int, uint, sbyte, sbyte, [256 x uint], sbyte }
- %struct.mng_palette8e = type { ubyte, ubyte, ubyte }
- %struct.mng_pushdata = type { sbyte*, sbyte*, uint, sbyte, ubyte*, uint }
- %struct.mng_savedata = type { sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, sbyte, ushort, ushort, ushort, ubyte, ushort, ubyte, ubyte, uint, uint, sbyte, int, int, int, int, uint, [256 x %struct.mng_palette8e], uint, [256 x ubyte], uint, uint, uint, uint, uint, uint, uint, uint, uint, ubyte, uint, sbyte*, ushort, ushort, ushort }
- %struct.z_stream = type { ubyte*, uint, uint, ubyte*, uint, uint, sbyte*, %struct.internal_state*, sbyte* (sbyte*, uint, uint)*, void (sbyte*, sbyte*)*, sbyte*, int, uint, uint }
+ %struct.internal_state = type { i32 }
+ %struct.mng_data = type { i32, i8*, i32, i32, i32, i32, i32, i32, i32, i32, i32, i8, i32, i32, i32, i8, i32, i32, i32, i32, i16, i16, i16, i8, i8, double, double, double, i8, i8, i8, i8, i32, i32, i32, i32, i32, i8, i32, i32, i8*, i8* (i32)*, void (i8*, i32)*, void (i8*, i8*, i32)*, i8 (%struct.mng_data*)*, i8 (%struct.mng_data*)*, i8 (%struct.mng_data*, i8*, i32, i32*)*, i8 (%struct.mng_data*, i8*, i32, i32*)*, i8 (%struct.mng_data*, i32, i8, i32, i32, i32, i32, i8*)*, i8 (%struct.mng_data*, i32, i32, i8*)*, i8 (%struct.mng_data*, i32, i32)*, i8 (%struct.mng_data*, i8, i8*, i8*, i8*, i8*)*, i8 (%struct.mng_data*)*, i8 (%struct.mng_data*, i8*)*, i8 (%struct.mng_data*, i8*)*, i8 (%struct.mng_data*, i32, i32)*, i8 (%struct.mng_data*, i32, i32, i8*)*, i8 (%struct.mng_data*, i8, i8, i32, i32)*, i8* (%struct.mng_data*, i32)*, i8* (%struct.mng_data*, i32)*, i8* (%struct.mng_data*, i32)*, i8 (%struct.mng_data*, i32, i32, i32, i32)*, i32 (%struct.mng_data*)*, i8 (%struct.mng_data*, i32)*, i8 (%struct.mng_data*, i32)*, i8 (%struct.mng_data*, i32, i32, i32, i32, i32, i32, i32, i32)*, i8 (%struct.mng_data*, i8)*, i8 (%struct.mng_data*, i32, i8*)*, i8 (%struct.mng_data*, i32, i8, i8*)*, i8, i32, i32, i8*, i8*, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i32, i32, i8, i8, i8, i8, i8, i32, i8, i8, i8, i32, i8*, i32, i8*, i32, i8, i8, i8, i32, i8*, i8*, i32, i32, i8*, i8*, %struct.mng_pushdata*, %struct.mng_pushdata*, %struct.mng_pushdata*, %struct.mng_pushdata*, i8, i8, i32, i32, i8*, i8, i8, i32, i32, i32, i32, i32, i32, i8, i8, i8, i8, i32, i32, i8*, i32, i32, i32, i8, i8, i32, i32, i32, i32, i8, i8, i8, i8, i8, i8, i8, i8, i8, i32, i8*, i8*, i8*, i32, i8*, i8*, i8*, i8*, i8*, %struct.mng_savedata*, i32, i32, i32, i32, i8, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i8*, i8*, i8*, i8, i8, i32, i32, i32, i32, i32, i32, i32, i32, i32, i8*, i8*, i8*, i8*, i8*, i8*, [256 x i8], double, void ()*, void ()*, void ()*, void ()*, void ()*, void ()*, void ()*, void ()*, void ()*, void ()*, void ()*, void ()*, i16, i8, i8, i8, i8, i8, i32, i32, i8, i32, i32, i32, i32, i16, i16, i16, i8, i16, i8, i32, i32, i32, i32, i8, i32, i32, i8, i32, i32, i32, i32, i8, i32, i32, i8, i32, i32, i32, i32, i32, i8, i32, i8, i16, i16, i16, i16, i32, [256 x %struct.mng_palette8e], i32, [256 x i8], i32, i32, i32, i32, i32, i32, i32, i32, i32, i8, i32, i8*, i16, i16, i16, i8*, i8, i8, i32, i32, i32, i32, i8, void ()*, void ()*, void ()*, void ()*, void ()*, void ()*, i8*, i8, i8, i8, i32, i8*, i8*, i16, i16, i16, i16, i32, i32, i8*, %struct.z_stream, i32, i32, i32, i32, i32, i32, i8, i8, [256 x i32], i8 }
+ %struct.mng_palette8e = type { i8, i8, i8 }
+ %struct.mng_pushdata = type { i8*, i8*, i32, i8, i8*, i32 }
+ %struct.mng_savedata = type { i8, i8, i8, i8, i8, i8, i8, i16, i16, i16, i8, i16, i8, i8, i32, i32, i8, i32, i32, i32, i32, i32, [256 x %struct.mng_palette8e], i32, [256 x i8], i32, i32, i32, i32, i32, i32, i32, i32, i32, i8, i32, i8*, i16, i16, i16 }
+ %struct.z_stream = type { i8*, i32, i32, i8*, i32, i32, i8*, %struct.internal_state*, i8* (i8*, i32, i32)*, void (i8*, i8*)*, i8*, i32, i32, i32 }
-implementation ; Functions:
-
-void %mng_write_basi() {
+define void @mng_write_basi() {
entry:
- %tmp = load ubyte* null ; <ubyte> [#uses=1]
- %tmp = icmp ugt ubyte %tmp, 8 ; <bool> [#uses=1]
- %tmp = load ushort* null ; <ushort> [#uses=2]
- %tmp3 = icmp eq ushort %tmp, 255 ; <bool> [#uses=1]
- %tmp7 = icmp eq ushort %tmp, -1 ; <bool> [#uses=1]
- %bOpaque.0.in = select bool %tmp, bool %tmp7, bool %tmp3 ; <bool> [#uses=1]
- br bool %bOpaque.0.in, label %cond_next90, label %bb95
+ %tmp = load i8* null ; <i8> [#uses=1]
+ %tmp.upgrd.1 = icmp ugt i8 %tmp, 8 ; <i1> [#uses=1]
+ %tmp.upgrd.2 = load i16* null ; <i16> [#uses=2]
+ %tmp3 = icmp eq i16 %tmp.upgrd.2, 255 ; <i1> [#uses=1]
+ %tmp7 = icmp eq i16 %tmp.upgrd.2, -1 ; <i1> [#uses=1]
+ %bOpaque.0.in = select i1 %tmp.upgrd.1, i1 %tmp7, i1 %tmp3 ; <i1> [#uses=1]
+ br i1 %bOpaque.0.in, label %cond_next90, label %bb95
cond_next90: ; preds = %entry
ret void
diff --git a/test/Transforms/InstCombine/2007-02-07-PointerCast.ll b/test/Transforms/InstCombine/2007-02-07-PointerCast.ll
index f38b4c1d46..ce9eb3c69d 100644
--- a/test/Transforms/InstCombine/2007-02-07-PointerCast.ll
+++ b/test/Transforms/InstCombine/2007-02-07-PointerCast.ll
@@ -1,4 +1,4 @@
-;RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep zext
+;RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep zext
; Make sure the uint isn't removed. Instcombine in llvm 1.9 was dropping the
; uint cast which was causing a sign extend. This only affected code with
@@ -6,21 +6,17 @@
; compile a kernel though...
target datalayout = "e-p:32:32"
-target endian = little
-target pointersize = 32
+@str = internal constant [6 x i8] c"%llx\0A\00" ; <[6 x i8]*> [#uses=1]
-%str = internal constant [6 x sbyte] c"%llx\0A\00"
+declare i32 @printf(i8*, ...)
-implementation ; Functions:
-
-declare int %printf(sbyte*, ...)
-
-int %main(int %x, sbyte** %a) {
+define i32 @main(i32 %x, i8** %a) {
entry:
- %tmp = getelementptr [6 x sbyte]* %str, int 0, uint 0
- %tmp1 = load sbyte** %a
- %tmp2 = cast sbyte* %tmp1 to uint ; <uint> [#uses=1]
- %tmp3 = cast uint %tmp2 to long ; <long> [#uses=1]
- %tmp = call int (sbyte*, ...)* %printf( sbyte* %tmp, long %tmp3 )
- ret int 0
+ %tmp = getelementptr [6 x i8]* @str, i32 0, i64 0 ; <i8*> [#uses=1]
+ %tmp1 = load i8** %a ; <i8*> [#uses=1]
+ %tmp2 = ptrtoint i8* %tmp1 to i32 ; <i32> [#uses=1]
+ %tmp3 = zext i32 %tmp2 to i64 ; <i64> [#uses=1]
+ %tmp.upgrd.1 = call i32 (i8*, ...)* @printf( i8* %tmp, i64 %tmp3 ) ; <i32> [#uses=0]
+ ret i32 0
}
+
diff --git a/test/Transforms/InstCombine/narrow.ll b/test/Transforms/InstCombine/narrow.ll
index 02d7e31b8a..41106e759c 100644
--- a/test/Transforms/InstCombine/narrow.ll
+++ b/test/Transforms/InstCombine/narrow.ll
@@ -1,17 +1,18 @@
; This file contains various testcases that check to see that instcombine
; is narrowing computations when possible.
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | \
; RUN: grep {ret i1 false}
; test1 - Eliminating the casts in this testcase (by narrowing the AND
; operation) allows instcombine to realize the function always returns false.
;
-bool %test1(int %A, int %B) {
- %C1 = setlt int %A, %B
- %ELIM1 = zext bool %C1 to uint
- %C2 = setgt int %A, %B
- %ELIM2 = zext bool %C2 to uint
- %C3 = and uint %ELIM1, %ELIM2
- %ELIM3 = trunc uint %C3 to bool
- ret bool %ELIM3
+define i1 @test1(i32 %A, i32 %B) {
+ %C1 = icmp slt i32 %A, %B ; <i1> [#uses=1]
+ %ELIM1 = zext i1 %C1 to i32 ; <i32> [#uses=1]
+ %C2 = icmp sgt i32 %A, %B ; <i1> [#uses=1]
+ %ELIM2 = zext i1 %C2 to i32 ; <i32> [#uses=1]
+ %C3 = and i32 %ELIM1, %ELIM2 ; <i32> [#uses=1]
+ %ELIM3 = trunc i32 %C3 to i1 ; <i1> [#uses=1]
+ ret i1 %ELIM3
}
+
diff --git a/test/Transforms/InstCombine/not.ll b/test/Transforms/InstCombine/not.ll
index 3e85692500..757e1de940 100644
--- a/test/Transforms/InstCombine/not.ll
+++ b/test/Transforms/InstCombine/not.ll
@@ -1,45 +1,44 @@
; This test makes sure that these instructions are properly eliminated.
;
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep xor
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep xor
-implementation
-
-int %test1(int %A) {
- %B = xor int %A, -1
- %C = xor int %B, -1
- ret int %C
+define i32 @test1(i32 %A) {
+ %B = xor i32 %A, -1 ; <i32> [#uses=1]
+ %C = xor i32 %B, -1 ; <i32> [#uses=1]
+ ret i32 %C
}
-bool %test2(int %A, int %B) {
- %cond = setle int %A, %B ; Can change into setge
- %Ret = xor bool %cond, true
- ret bool %Ret
+define i1 @test2(i32 %A, i32 %B) {
+ ; Can change into setge
+ %cond = icmp sle i32 %A, %B ; <i1> [#uses=1]
+ %Ret = xor i1 %cond, true ; <i1> [#uses=1]
+ ret i1 %Ret
}
-
; Test that demorgans law can be instcombined
-int %test3(int %A, int %B) {
- %a = xor int %A, -1
- %b = xor int %B, -1
- %c = and int %a, %b
- %d = xor int %c, -1
- ret int %d
+define i32 @test3(i32 %A, i32 %B) {
+ %a = xor i32 %A, -1 ; <i32> [#uses=1]
+ %b = xor i32 %B, -1 ; <i32> [#uses=1]
+ %c = and i32 %a, %b ; <i32> [#uses=1]
+ %d = xor i32 %c, -1 ; <i32> [#uses=1]
+ ret i32 %d
}
; Test that demorgens law can work with constants
-int %test4(int %A, int %B) {
- %a = xor int %A, -1
- %c = and int %a, 5 ; 5 = ~c2
- %d = xor int %c, -1
- ret int %d
+define i32 @test4(i32 %A, i32 %B) {
+ %a = xor i32 %A, -1 ; <i32> [#uses=1]
+ %c = and i32 %a, 5 ; <i32> [#uses=1]
+ %d = xor i32 %c, -1 ; <i32> [#uses=1]
+ ret i32 %d
}
; test the mirror of demorgans law...
-int %test5(int %A, int %B) {
- %a = xor int %A, -1
- %b = xor int %B, -1
- %c = or int %a, %b
- %d = xor int %c, -1
- ret int %d
+define i32 @test5(i32 %A, i32 %B) {
+ %a = xor i32 %A, -1 ; <i32> [#uses=1]
+ %b = xor i32 %B, -1 ; <i32> [#uses=1]
+ %c = or i32 %a, %b ; <i32> [#uses=1]
+ %d = xor i32 %c, -1 ; <i32> [#uses=1]
+ ret i32 %d
}
+
diff --git a/test/Transforms/InstCombine/or.ll b/test/Transforms/InstCombine/or.ll
index 3fc225a302..e70fb1c4e0 100644
--- a/test/Transforms/InstCombine/or.ll
+++ b/test/Transforms/InstCombine/or.ll
@@ -1,158 +1,171 @@
; This test makes sure that these instructions are properly eliminated.
;
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | \
; RUN: grep -v xor | not grep {or }
; END.
-implementation
-
-int %test1(int %A) {
- %B = or int %A, 0
- ret int %B
+define i32 @test1(i32 %A) {
+ %B = or i32 %A, 0 ; <i32> [#uses=1]
+ ret i32 %B
}
-int %test2(int %A) {
- %B = or int %A, -1
- ret int %B
+define i32 @test2(i32 %A) {
+ %B = or i32 %A, -1 ; <i32> [#uses=1]
+ ret i32 %B
}
-ubyte %test2a(ubyte %A) {
- %B = or ubyte %A, 255
- ret ubyte %B
+define i8 @test2a(i8 %A) {
+ %B = or i8 %A, -1 ; <i8> [#uses=1]
+ ret i8 %B
}
-bool %test3(bool %A) {
- %B = or bool %A, false
- ret bool %B
+define i1 @test3(i1 %A) {
+ %B = or i1 %A, false ; <i1> [#uses=1]
+ ret i1 %B
}
-bool %test4(bool %A) {
- %B = or bool %A, true
- ret bool %B
+define i1 @test4(i1 %A) {
+ %B = or i1 %A, true ; <i1> [#uses=1]
+ ret i1 %B
}
-bool %test5(bool %A) {
- %B = or bool %A, %A
- ret bool %B
+define i1 @test5(i1 %A) {
+ %B = or i1 %A, %A ; <i1> [#uses=1]
+ ret i1 %B
}
-int %test6(int %A) {
- %B = or int %A, %A
- ret int %B
+define i32 @test6(i32 %A) {
+ %B = or i32 %A, %A ; <i32> [#uses=1]
+ ret i32 %B
}
-int %test7(int %A) { ; A | ~A == -1
- %NotA = xor int -1, %A
- %B = or int %A, %NotA
- ret int %B
+; A | ~A == -1
+define i32 @test7(i32 %A) {
+ %NotA = xor i32 -1, %A ; <i32> [#uses=1]
+ %B = or i32 %A, %NotA ; <i32> [#uses=1]
+ ret i32 %B
}
-ubyte %test8(ubyte %A) {
- %B = or ubyte %A, 254
- %C = or ubyte %B, 1
- ret ubyte %C
+define i8 @test8(i8 %A) {
+ %B = or i8 %A, -2 ; <i8> [#uses=1]
+ %C = or i8 %B, 1 ; <i8> [#uses=1]
+ ret i8 %C
}
-ubyte %test9(ubyte %A, ubyte %B) { ; Test that (A|c1)|(B|c2) == (A|B)|(c1|c2)
- %C = or ubyte %A, 1
- %D = or ubyte %B, 254
- %E = or ubyte %C, %D
- ret ubyte %E
+; Test that (A|c1)|(B|c2) == (A|B)|(c1|c2)
+define i8 @test9(i8 %A, i8 %B) {
+ %C = or i8 %A, 1 ; <i8> [#uses=1]
+ %D = or i8 %B, -2 ; <i8> [#uses=1]
+ %E = or i8 %C, %D ; <i8> [#uses=1]
+ ret i8 %E
}
-ubyte %test10(ubyte %A) {
- %B = or ubyte %A, 1
- %C = and ubyte %B, 254
- %D = or ubyte %C, 254 ; (X & C1) | C2 --> (X | C2) & (C1|C2)
- ret ubyte %D
+define i8 @test10(i8 %A) {
+ %B = or i8 %A, 1 ; <i8> [#uses=1]
+ %C = and i8 %B, -2 ; <i8> [#uses=1]
+ ; (X & C1) | C2 --> (X | C2) & (C1|C2)
+ %D = or i8 %C, -2 ; <i8> [#uses=1]
+ ret i8 %D
}
-ubyte %test11(ubyte %A) {
- %B = or ubyte %A, 254
- %C = xor ubyte %B, 13
- %D = or ubyte %C, 1 ; (X ^ C1) | C2 --> (X | C2) ^ (C1&~C2)
- %E = xor ubyte %D, 12
- ret ubyte %E
+define i8 @test11(i8 %A) {
+ %B = or i8 %A, -2 ; <i8> [#uses=1]
+ %C = xor i8 %B, 13 ; <i8> [#uses=1]
+ ; (X ^ C1) | C2 --> (X | C2) ^ (C1&~C2)
+ %D = or i8 %C, 1 ; <i8> [#uses=1]
+ %E = xor i8 %D, 12 ; <i8> [#uses=1]
+ ret i8 %E
}
-uint %test12(uint %A) {
- %B = or uint %A, 4 ; Should be eliminated
- %C = and uint %B, 8
- ret uint %C
+define i32 @test12(i32 %A) {
+ ; Should be eliminated
+ %B = or i32 %A, 4 ; <i32> [#uses=1]
+ %C = and i32 %B, 8 ; <i32> [#uses=1]
+ ret i32 %C
}
-uint %test13(uint %A) {
- %B = or uint %A, 12
- %C = and uint %B, 8 ; Always equal to 8
- ret uint %C
+define i32 @test13(i32 %A) {
+ %B = or i32 %A, 12 ; <i32> [#uses=1]
+ ; Always equal to 8
+ %C = and i32 %B, 8 ; <i32> [#uses=1]
+ ret i32 %C
}
-bool %test14(uint %A, uint %B) {
- %C1 = setlt uint %A, %B
- %C2 = setgt uint %A, %B
- %D = or bool %C1, %C2 ; (A < B) | (A > B) === A != B
- ret bool %D
+define i1 @test14(i32 %A, i32 %B) {
+ %C1 = icmp ult i32 %A, %B ; <i1> [#uses=1]
+ %C2 = icmp ugt i32 %A, %B ; <i1> [#uses=1]
+ ; (A < B) | (A > B) === A != B
+ %D = or i1 %C1, %C2 ; <i1> [#uses=1]
+ ret i1 %D
}
-bool %test15(uint %A, uint %B) {
- %C1 = setlt uint %A, %B
- %C2 = seteq uint %A, %B
- %D = or bool %C1, %C2 ; (A < B) | (A == B) === A <= B
- ret bool %D
+define i1 @test15(i32 %A, i32 %B) {
+ %C1 = icmp ult i32 %A, %B ; <i1> [#uses=1]
+ %C2 = icmp eq i32 %A, %B ; <i1> [#uses=1]
+ ; (A < B) | (A == B) === A <= B
+ %D = or i1 %C1, %C2 ; <i1> [#uses=1]
+ ret i1 %D
}
-int %test16(int %A) {
- %B = and int %A, 1
- %C = and int %A, -2 ; -2 = ~1
- %D = or int %B, %C ; %D = and int %B, -1 == %B
- ret int %D
+define i32 @test16(i32 %A) {
+ %B = and i32 %A, 1 ; <i32> [#uses=1]
+ ; -2 = ~1
+ %C = and i32 %A, -2 ; <i32> [#uses=1]
+ ; %D = and int %B, -1 == %B
+ %D = or i32 %B, %C ; <i32> [#uses=1]
+ ret i32 %D
}
-int %test17(int %A) {
- %B = and int %A, 1
- %C = and int %A, 4
- %D = or int %B, %C ; %D = and int %B, 5
- ret int %D
+define i32 @test17(i32 %A) {
+ %B = and i32 %A, 1 ; <i32> [#uses=1]
+ %C = and i32 %A, 4 ; <i32> [#uses=1]
+ ; %D = and int %B, 5
+ %D = or i32 %B, %C ; <i32> [#uses=1]
+ ret i32 %D
}
-bool %test18(int %A) {
- %B = setge int %A, 100
- %C = setlt int %A, 50
- %D = or bool %B, %C ;; (A-50) >u 50
- ret bool %D
+define i1 @test18(i32 %A) {
+ %B = icmp sge i32 %A, 100 ; <i1> [#uses=1]
+ %C = icmp slt i32 %A, 50 ; <i1> [#uses=1]
+ ;; (A-50) >u 50
+ %D = or i1 %B, %C ; <i1> [#uses=1]
+ ret i1 %D
}
-bool %test19(int %A) {
- %B = seteq int %A, 50
- %C = seteq int %A, 51
- %D = or bool %B, %C ;; (A-50) < 2
- ret bool %D
+define i1 @test19(i32 %A) {
+ %B = icmp eq i32 %A, 50 ; <i1> [#uses=1]
+ %C = icmp eq i32 %A, 51 ; <i1> [#uses=1]
+ ;; (A-50) < 2
+ %D = or i1 %B, %C ; <i1> [#uses=1]
+ ret i1 %D
}
-int %test20(int %x) {
- %y = and int %x, 123
- %z = or int %y, %x
- ret int %z
+define i32 @test20(i32 %x) {
+ %y = and i32 %x, 123 ; <i32> [#uses=1]
+ %z = or i32 %y, %x ; <i32> [#uses=1]
+ ret i32 %z
}
-uint %test21(uint %tmp.1) {
- %tmp.1.mask1 = add uint %tmp.1, 2
- %tmp.3 = and uint %tmp.1.mask1, 4294967294
- %tmp.5 = and uint %tmp.1, 1
- %tmp.6 = or uint %tmp.5, %tmp.3 ;; add tmp.1, 2
- ret uint %tmp.6
+define i32 @test21(i32 %tmp.1) {
+ %tmp.1.mask1 = add i32 %tmp.1, 2 ; <i32> [#uses=1]
+ %tmp.3 = and i32 %tmp.1.mask1, -2 ; <i32> [#uses=1]
+ %tmp.5 = and i32 %tmp.1, 1 ; <i32> [#uses=1]
+ ;; add tmp.1, 2
+ %tmp.6 = or i32 %tmp.5, %tmp.3 ; <i32> [#uses=1]
+ ret i32 %tmp.6
}
-int %test22(int %B) {
- %ELIM41 = and int %B, 1 ; <int> [#uses=1]
- %ELIM7 = and int %B, -2 ; <int> [#uses=1]
- %ELIM5 = or int %ELIM41, %ELIM7 ; <int> [#uses=1]
- ret int %ELIM5
-}
+define i32 @test22(i32 %B) {
+ %ELIM41 = and i32 %B, 1 ; <i32> [#uses=1]
+ %ELIM7 = and i32 %B, -2 ; <i32> [#uses=1]
+ %ELIM5 = or i32 %ELIM41, %ELIM7 ; <i32> [#uses=1]
+ ret i32 %ELIM5
+}
-ushort %test23(ushort %A) {
- %B = shr ushort %A, ubyte 1
- %C = or ushort %B, 32768 ;; fold or into xor
- %D = xor ushort %C, 8193
- ret ushort %D
+define i16 @test23(i16 %A) {
+ %B = lshr i16 %A, 1 ; <i16> [#uses=1]
+ ;; fold or into xor
+ %C = or i16 %B, -32768 ; <i16> [#uses=1]
+ %D = xor i16 %C, 8193 ; <i16> [#uses=1]
+ ret i16 %D
}
diff --git a/test/Transforms/InstCombine/phi.ll b/test/Transforms/InstCombine/phi.ll
index a51e90ed0d..6f0ef6b549 100644
--- a/test/Transforms/InstCombine/phi.ll
+++ b/test/Transforms/InstCombine/phi.ll
@@ -1,78 +1,101 @@
; This test makes sure that these instructions are properly eliminated.
;
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep phi
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep phi
; END.
-implementation
+define i32 @test1(i32 %A, i1 %b) {
+BB0:
+ br i1 %b, label %BB1, label %BB2
+
+BB1: ; preds = %BB0
+ ; Combine away one argument PHI nodes
+ %B = phi i32 [ %A, %BB0 ] ; <i32> [#uses=1]
+ ret i32 %B
-int %test1(int %A, bool %b) {
-BB0: br bool %b, label %BB1, label %BB2
-BB1:
- %B = phi int [%A, %BB0] ; Combine away one argument PHI nodes
- ret int %B
-BB2:
- ret int %A
+BB2: ; preds = %BB0
+ ret i32 %A
}
-int %test2(int %A, bool %b) {
-BB0: br bool %b, label %BB1, label %BB2
-BB1:
- br label %BB2
-BB2:
- %B = phi int [%A, %BB0], [%A, %BB1] ; Combine away PHI nodes with same values
- ret int %B
+define i32 @test2(i32 %A, i1 %b) {
+BB0:
+ br i1 %b, label %BB1, label %BB2
+
+BB1: ; preds = %BB0
+ br label %BB2
+
+BB2: ; preds = %BB1, %BB0
+ ; Combine away PHI nodes with same values
+ %B = phi i32 [ %A, %BB0 ], [ %A, %BB1 ] ; <i32> [#uses=1]
+ ret i32 %B
}
-int %test3(int %A, bool %b) {
-BB0: br label %Loop
+define i32 @test3(i32 %A, i1 %b) {
+BB0:
+ br label %Loop
+
+Loop: ; preds = %Loop, %BB0
+ ; PHI has same value always.
+ %B = phi i32 [ %A, %BB0 ], [ %B, %Loop ] ; <i32> [#uses=2]
+ br i1 %b, label %Loop, label %Exit
-Loop:
- %B = phi int [%A, %BB0], [%B, %Loop] ; PHI has same value always.
- br bool %b, label %Loop, label %Exit
-Exit:
- ret int %B
+Exit: ; preds = %Loop
+ ret i32 %B
}
-int %test4(bool %b) {
-BB0: ret int 7 ; Loop is unreachable
+define i32 @test4(i1 %b) {
+BB0:
+ ; Loop is unreachable
+ ret i32 7
-Loop:
- %B = phi int [%B, %L2], [%B, %Loop] ; PHI has same value always.
- br bool %b, label %L2, label %Loop
-L2:
- br label %Loop
+Loop: ; preds = %L2, %Loop
+ ; PHI has same value always.
+ %B = phi i32 [ %B, %L2 ], [ %B, %Loop ] ; <i32> [#uses=2]
+ br i1 %b, label %L2, label %Loop
+
+L2: ; preds = %Loop
+ br label %Loop
}
-int %test5(int %A, bool %b) {
-BB0: br label %Loop
+define i32 @test5(i32 %A, i1 %b) {
+BB0:
+ br label %Loop
+
+Loop: ; preds = %Loop, %BB0
+ ; PHI has same value always.
+ %B = phi i32 [ %A, %BB0 ], [ undef, %Loop ] ; <i32> [#uses=1]
+ br i1 %b, label %Loop, label %Exit
-Loop:
- %B = phi int [%A, %BB0], [undef, %Loop] ; PHI has same value always.
- br bool %b, label %Loop, label %Exit
-Exit:
- ret int %B
+Exit: ; preds = %Loop
+ ret i32 %B
}
-uint %test6(int %A, bool %b) {
+define i32 @test6(i32 %A, i1 %b) {
BB0:
- %X = cast int %A to uint
- br bool %b, label %BB1, label %BB2
-BB1:
- %Y = cast int %A to uint
+ %X = bitcast i32 %A to i32 ; <i32> [#uses=1]
+ br i1 %b, label %BB1, label %BB2
+
+BB1: ; preds = %BB0
+ %Y = bitcast i32 %A to i32 ; <i32> [#uses=1]
br label %BB2
-BB2:
- %B = phi uint [%X, %BB0], [%Y, %BB1] ;; Suck casts into phi
- ret uint %B
+
+BB2: ; preds = %BB1, %BB0
+ ;; Suck casts into phi
+ %B = phi i32 [ %X, %BB0 ], [ %Y, %BB1 ] ; <i32> [#uses=1]
+ ret i32 %B
}
-int %test7(int %A, bool %b) {
-BB0: br label %Loop
+define i32 @test7(i32 %A, i1 %b) {
+BB0:
+ br label %Loop
+
+Loop: ; preds = %Loop, %BB0
+ ; PHI is dead.
+ %B = phi i32 [ %A, %BB0 ], [ %C, %Loop ] ; <i32> [#uses=1]
+ %C = add i32 %B, 123 ; <i32> [#uses=1]
+ br i1 %b, label %Loop, label %Exit
-Loop:
- %B = phi int [%A, %BB0], [%C, %Loop] ; PHI is dead.
- %C = add int %B, 123
- br bool %b, label %Loop, label %Exit
-Exit:
- ret int 0
+Exit: ; preds = %Loop
+ ret i32 0
}
+
diff --git a/test/Transforms/InstCombine/rem.ll b/test/Transforms/InstCombine/rem.ll
index 987d3c3db6..c0e0fa4dc3 100644
--- a/test/Transforms/InstCombine/rem.ll
+++ b/test/Transforms/InstCombine/rem.ll
@@ -1,79 +1,76 @@
; This test makes sure that these instructions are properly eliminated.
;
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep rem
-; END.
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep rem
-implementation
-
-int %test1(int %A) {
- %B = rem int %A, 1 ; ISA constant 0
- ret int %B
+define i32 @test1(i32 %A) {
+ %B = srem i32 %A, 1 ; <i32> [#uses=1]
+ ret i32 %B
}
-int %test2(int %A) { ; 0 % X = 0, we don't need to preserve traps
- %B = rem int 0, %A
- ret int %B
+define i32 @test2(i32 %A) {
+ %B = srem i32 0, %A ; <i32> [#uses=1]
+ ret i32 %B
}
-uint %test3(uint %A) {
- %B = rem uint %A, 8 ; & 7
- ret uint %B
+define i32 @test3(i32 %A) {
+ %B = urem i32 %A, 8 ; <i32> [#uses=1]
+ ret i32 %B
}
-bool %test3a(int %A) {
- %B = rem int %A, -8 ; & 7
- %C = setne int %B, 0
- ret bool %C
+define i1 @test3a(i32 %A) {
+ %B = srem i32 %A, -8 ; <i32> [#uses=1]
+ %C = icmp ne i32 %B, 0 ; <i1> [#uses=1]
+ ret i1 %C
}
-uint %test4(uint %X, bool %C) {
- %V = select bool %C, uint 1, uint 8
- %R = rem uint %X, %V
- ret uint %R
+define i32 @test4(i32 %X, i1 %C) {
+ %V = select i1 %C, i32 1, i32 8 ; <i32> [#uses=1]
+ %R = urem i32 %X, %V ; <i32> [#uses=1]
+ ret i32 %R
}
-uint %test5(uint %X, ubyte %B) {
- %Amt = shl uint 32, ubyte %B
- %V = rem uint %X, %Amt
- ret uint %V
+define i32 @test5(i32 %X, i8 %B) {
+ %shift.upgrd.1 = zext i8 %B to i32 ; <i32> [#uses=1]
+ %Amt = shl i32 32, %shift.upgrd.1 ; <i32> [#uses=1]
+ %V = urem i32 %X, %Amt ; <i32> [#uses=1]
+ ret i32 %V
}
-int %test6(int %A) {
- %B = rem int %A, 0 ;; undef
- ret int %B
+define i32 @test6(i32 %A) {
+ %B = srem i32 %A, 0 ; <i32> [#uses=1]
+ ret i32 %B
}
-int %test7(int %A) {
- %B = mul int %A, 26
- %C = rem int %B, 13
- ret int %C
+define i32 @test7(i32 %A) {
+ %B = mul i32 %A, 26 ; <i32> [#uses=1]
+ %C = srem i32 %B, 13 ; <i32> [#uses=1]
+ ret i32 %C
}
-int %test8(int %A) {
- %B = shl int %A, ubyte 4
- %C = rem int %B, 8
- ret int %C
+define i32 @test8(i32 %A) {
+ %B = shl i32 %A, 4 ; <i32> [#uses=1]
+ %C = srem i32 %B, 8 ; <i32> [#uses=1]
+ ret i32 %C
}
-uint %test9(uint %A) {
- %B = mul uint %A, 124
- %C = rem uint %B, 62
- ret uint %C
+define i32 @test9(i32 %A) {
+ %B = mul i32 %A, 124 ; <i32> [#uses=1]
+ %C = urem i32 %B, 62 ; <i32> [#uses=1]
+ ret i32 %C
}
-int %test10(ubyte %c) {
- %tmp.1 = cast ubyte %c to int
- %tmp.2 = mul int %tmp.1, 3
- %tmp.3 = cast int %tmp.2 to ulong
- %tmp.5 = rem ulong %tmp.3, 3
- %tmp.6 = cast ulong %tmp.5 to int
- ret int %tmp.6
+define i32 @test10(i8 %c) {
+ %tmp.1 = zext i8 %c to i32 ; <i32> [#uses=1]
+ %tmp.2 = mul i32 %tmp.1, 3 ; <i32> [#uses=1]
+ %tmp.3 = sext i32 %tmp.2 to i64 ; <i64> [#uses=1]
+ %tmp.5 = urem i64 %tmp.3, 3 ; <i64> [#uses=1]
+ %tmp.6 = trunc i64 %tmp.5 to i32 ; <i32> [#uses=1]
+ ret i32 %tmp.6
}
-int %test11(int %i) {
- %tmp.1 = and int %i, -2
- %tmp.3 = mul int %tmp.1, 3
- %tmp.5 = rem int %tmp.3, 6
- ret int %tmp.5
+define i32 @test11(i32 %i) {
+ %tmp.1 = and i32 %i, -2 ; <i32> [#uses=1]
+ %tmp.3 = mul i32 %tmp.1, 3 ; <i32> [#uses=1]
+ %tmp.5 = srem i32 %tmp.3, 6 ; <i32> [#uses=1]
+ ret i32 %tmp.5
}
-
diff --git a/test/Transforms/InstCombine/select.ll b/test/Transforms/InstCombine/select.ll
index aac7603e08..15083f2fac 100644
--- a/test/Transforms/InstCombine/select.ll
+++ b/test/Transforms/InstCombine/select.ll
@@ -1,190 +1,204 @@
; This test makes sure that these instructions are properly eliminated.
; PR1822
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep select
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep select
-implementation
-
-int %test1(int %A, int %B) {
- %C = select bool false, int %A, int %B
- ret int %C
+define i32 @test1(i32 %A, i32 %B) {
+ %C = select i1 false, i32 %A, i32 %B ; <i32> [#uses=1]
+ ret i32 %C
}
-int %test2(int %A, int %B) {
- %C = select bool true, int %A, int %B
- ret int %C
+define i32 @test2(i32 %A, i32 %B) {
+ %C = select i1 true, i32 %A, i32 %B ; <i32> [#uses=1]
+ ret i32 %C
}
-int %test3(bool %C, int %I) {
- %V = select bool %C, int %I, int %I ; V = I
- ret int %V
+
+define i32 @test3(i1 %C, i32 %I) {
+ ; V = I
+ %V = select i1 %C, i32 %I, i32 %I ; <i32> [#uses=1]
+ ret i32 %V
}
-bool %test4(bool %C) {
- %V = select bool %C, bool true, bool false ; V = C
- ret bool %V
+define i1 @test4(i1 %C) {
+ ; V = C
+ %V = select i1 %C, i1 true, i1 false ; <i1> [#uses=1]
+ ret i1 %V
}
-bool %test5(bool %C) {
- %V = select bool %C, bool false, bool true ; V = !C
- ret bool %V
+define i1 @test5(i1 %C) {
+ ; V = !C
+ %V = select i1 %C, i1 false, i1 true ; <i1> [#uses=1]
+ ret i1 %V
}
-int %test6(bool %C) {
- %V = select bool %C, int 1, int 0 ; V = cast C to int
- ret int %V
+define i32 @test6(i1 %C) {
+ ; V = cast C to int
+ %V = select i1 %C, i32 1, i32 0 ; <i32> [#uses=1]
+ ret i32 %V
}
-bool %test7(bool %C, bool %X) {
- %R = select bool %C, bool true, bool %X ; R = or C, X
- ret bool %R
+define i1 @test7(i1 %C, i1 %X) {
+ ; R = or C, X
+ %R = select i1 %C, i1 true, i1 %X ; <i1> [#uses=1]
+ ret i1 %R
}
-bool %test8(bool %C, bool %X) {
- %R = select bool %C, bool %X, bool false ; R = and C, X
- ret bool %R
+define i1 @test8(i1 %C, i1 %X) {
+ ; R = and C, X
+ %R = select i1 %C, i1 %X, i1 false ; <i1> [#uses=1]
+ ret i1 %R
}
-bool %test9(bool %C, bool %X) {
- %R = select bool %C, bool false, bool %X ; R = and !C, X
- ret bool %R
+define i1 @test9(i1 %C, i1 %X) {
+ ; R = and !C, X
+ %R = select i1 %C, i1 false, i1 %X ; <i1> [#uses=1]
+ ret i1 %R
}
-bool %test10(bool %C, bool %X) {
- %R = select bool %C, bool %X, bool true ; R = or !C, X
- ret bool %R
+define i1 @test10(i1 %C, i1 %X) {
+ ; R = or !C, X
+ %R = select i1 %C, i1 %X, i1 true ; <i1> [#uses=1]
+ ret i1 %R
}
-int %test11(int %a) {
- %C = seteq int %a, 0
- %R = select bool %C, int 0, int 1
- ret int %R
+define i32 @test11(i32 %a) {
+ %C = icmp eq i32 %a, 0 ; <i1> [#uses=1]
+ %R = select i1 %C, i32 0, i32 1 ; <i32> [#uses=1]
+ ret i32 %R
}
-int %test12(bool %cond, int %a) {
- %b = or int %a, 1
- %c = select bool %cond, int %b, int %a
- ret int %c
+define i32 @test12(i1 %cond, i32 %a) {
+ %b = or i32 %a, 1 ; <i32> [#uses=1]
+ %c = select i1 %cond, i32 %b, i32 %a ; <i32> [#uses=1]
+ ret i32 %c
}
-int %test12a(bool %cond, int %a) {
- %b = shr int %a, ubyte 1
- %c = select bool %cond, int %b, int %a
- ret int %c
+define i32 @test12a(i1 %cond, i32 %a) {
+ %b = ashr i32 %a, 1 ; <i32> [#uses=1]
+ %c = select i1 %cond, i32 %b, i32 %a ; <i32> [#uses=1]
+ ret i32 %c
}
-int %test12b(bool %cond, int %a) {
- %b = shr int %a, ubyte 1
- %c = select bool %cond, int %a, int %b
- ret int %c
+define i32 @test12b(i1 %cond, i32 %a) {
+ %b = ashr i32 %a, 1 ; <i32> [#uses=1]
+ %c = select i1 %cond, i32 %a, i32 %b ; <i32> [#uses=1]
+ ret i32 %c
}
-int %test13(int %a, int %b) {
- %C = seteq int %a, %b
- %V = select bool %C, int %a, int %b
- ret int %V
+define i32 @test13(i32 %a, i32 %b) {
+ %C = icmp eq i32 %a, %b ; <i1> [#uses=1]
+ %V = select i1 %C, i32 %a, i32 %b ; <i32> [#uses=1]
+ ret i32 %V
}
-int %test13a(int %a, int %b) {
- %C = setne int %a, %b
- %V = select bool %C, int %a, int %b
- ret int %V
+define i32 @test13a(i32 %a, i32 %b) {
+ %C = icmp ne i32 %a, %b ; <i1> [#uses=1]
+ %V = select i1 %C, i32 %a, i32 %b ; <i32> [#uses=1]
+ ret i32 %V
}
-int %test13b(int %a, int %b) {
- %C = seteq int %a, %b
- %V = select bool %C, int %b, int %a
- ret int %V
+define i32 @test13b(i32 %a, i32 %b) {
+ %C = icmp eq i32 %a, %b ; <i1> [#uses=1]
+ %V = select i1 %C, i32 %b, i32 %a ; <i32> [#uses=1]
+ ret i32 %V
}
-bool %test14a(bool %C, int %X) {
- %V = select bool %C, int %X, int 0
- %R = setlt int %V, 1 ; (X < 1) | !C
- ret bool %R
+define i1 @test14a(i1 %C, i32 %X) {
+ %V = select i1 %C, i32 %X, i32 0 ; <i32> [#uses=1]
+ ; (X < 1) | !C
+ %R = icmp slt i32 %V, 1 ; <i1> [#uses=1]
+ ret i1 %R
}
-bool %test14b(bool %C, int %X) {
- %V = select bool %C, int 0, int %X
- %R = setlt int %V, 1 ; (X < 1) | C
- ret bool %R
+define i1 @test14b(i1 %C, i32 %X) {
+ %V = select i1 %C, i32 0, i32 %X ; <i32> [#uses=1]
+ ; (X < 1) | C
+ %R = icmp slt i32 %V, 1 ; <i1> [#uses=1]
+ ret i1 %R
}
-int %test15a(int %X) { ;; Code sequence for (X & 16) ? 16 : 0
- %t1 = and int %X, 16
- %t2 = seteq int %t1, 0
- %t3 = select bool %t2, int 0, int 16 ;; X & 16
- ret int %t3
+;; Code sequence for (X & 16) ? 16 : 0
+define i32 @test15a(i32 %X) {
+ %t1 = and i32 %X, 16 ; <i32> [#uses=1]
+ %t2 = icmp eq i32 %t1, 0 ; <i1> [#uses=1]
+ %t3 = select i1 %t2, i32 0, i32 16 ; <i32> [#uses=1]
+ ret i32 %t3
}
-int %test15b(int %X) { ;; Code sequence for (X & 32) ? 0 : 24
- %t1 = and int %X, 32
- %t2 = seteq int %t1, 0
- %t3 = select bool %t2, int 32, int 0 ;; ~X & 32
- ret int %t3
+;; Code sequence for (X & 32) ? 0 : 24
+define i32 @test15b(i32 %X) {
+ %t1 = and i32 %X, 32 ; <i32> [#uses=1]
+ %t2 = icmp eq i32 %t1, 0 ; <i1> [#uses=1]
+ %t3 = select i1 %t2, i32 32, i32 0 ; <i32> [#uses=1]
+ ret i32 %t3
}
-int %test15c(int %X) { ;; Alternate code sequence for (X & 16) ? 16 : 0
- %t1 = and int %X, 16
- %t2 = seteq int %t1, 16
- %t3 = select bool %t2, int 16, int 0 ;; X & 16
- ret int %t3
+;; Alternate code sequence for (X & 16) ? 16 : 0
+define i32 @test15c(i32 %X) {
+ %t1 = and i32 %X, 16 ; <i32> [#uses=1]
+ %t2 = icmp eq i32 %t1, 16 ; <i1> [#uses=1]
+ %t3 = select i1 %t2, i32 16, i32 0 ; <i32> [#uses=1]
+ ret i32 %t3
}
-int %test15d(int %X) { ;; Alternate code sequence for (X & 16) ? 16 : 0
- %t1 = and int %X, 16
- %t2 = setne int %t1, 0
- %t3 = select bool %t2, int 16, int 0 ;; X & 16
- ret int %t3
+;; Alternate code sequence for (X & 16) ? 16 : 0
+define i32 @test15d(i32 %X) {
+ %t1 = and i32 %X, 16 ; <i32> [#uses=1]
+ %t2 = icmp ne i32 %t1, 0 ; <i1> [#uses=1]
+ %t3 = select i1 %t2, i32 16, i32 0 ; <i32> [#uses=1]
+ ret i32 %t3
}
-int %test16(bool %C, int* %P) {
- %P2 = select bool %C, int* %P, int* null
- %V = load int* %P2
- ret int %V
+define i32 @test16(i1 %C, i32* %P) {
+ %P2 = select i1 %C, i32* %P, i32* null ; <i32*> [#uses=1]
+ %V = load i32* %P2 ; <i32> [#uses=1]
+ ret i32 %V
}
-bool %test17(int* %X, bool %C) {
- %R = select bool %C, int* %X, int* null
- %RV = seteq int* %R, null
- ret bool %RV
+define i1 @test17(i32* %X, i1 %C) {
+ %R = select i1 %C, i32* %X, i32* null ; <i32*> [#uses=1]
+ %RV = icmp eq i32* %R, null ; <i1> [#uses=1]
+ ret i1 %RV
}
-int %test18(int %X, int %Y, bool %C) {
- %R = select bool %C, int %X, int 0
- %V = div int %Y, %R ; div Y,X
- ret int %V
+define i32 @test18(i32 %X, i32 %Y, i1 %C) {
+ %R = select i1 %C, i32 %X, i32 0 ; <i32> [#uses=1]
+ %V = sdiv i32 %Y, %R ; <i32> [#uses=1]
+ ret i32 %V
}
-int %test19(uint %x) {
- %tmp = setgt uint %x, 2147483647
- %retval = select bool %tmp, int -1, int 0
- ret int %retval
+define i32 @test19(i32 %x) {
+ %tmp = icmp ugt i32 %x, 2147483647 ; <i1> [#uses=1]
+ %retval = select i1 %tmp, i32 -1, i32 0 ; <i32> [#uses=1]
+ ret i32 %retval
}
-int %test20(int %x) {
- %tmp = setlt int %x, 0
- %retval = select bool %tmp, int -1, int 0
- ret int %retval
+define i32 @test20(i32 %x) {
+ %tmp = icmp slt i32 %x, 0 ; <i1> [#uses=1]
+ %retval = select i1 %tmp, i32 -1, i32 0 ; <i32> [#uses=1]
+ ret i32 %retval
}
-long %test21(int %x) {
- %tmp = setlt int %x, 0
- %retval = select bool %tmp, long -1, long 0
- ret long %retval
+define i64 @test21(i32 %x) {
+ %tmp = icmp slt i32 %x, 0 ; <i1> [#uses=1]
+ %retval = select i1 %tmp, i64 -1, i64 0 ; <i64> [#uses=1]
+ ret i64 %retval
}
-short %test22(int %x) {
- %tmp = setlt int %x, 0
- %retval = select bool %tmp, short -1, short 0
- ret short %retval
+define i16 @test22(i32 %x) {
+ %tmp = icmp slt i32 %x, 0 ; <i1> [#uses=1]
+ %retval = select i1 %tmp, i16 -1, i16 0 ; <i16> [#uses=1]
+ ret i16 %retval
}
-bool %test23(bool %a, bool %b) {
- %c = select bool %a, bool %b, bool %a
- ret bool %c
+define i1 @test23(i1 %a, i1 %b) {
+ %c = select i1 %a, i1 %b, i1 %a ; <i1> [#uses=1]
+ ret i1 %c
}
-bool %test24(bool %a, bool %b) {
- %c = select bool %a, bool %a, bool %b
- ret bool %c
+define i1 @test24(i1 %a, i1 %b) {
+ %c = select i1 %a, i1 %a, i1 %b ; <i1> [#uses=1]
+ ret i1 %c
}
+
diff --git a/test/Transforms/InstCombine/set.ll b/test/Transforms/InstCombine/set.ll
index 51cffbeba9..76e606beaf 100644
--- a/test/Transforms/InstCombine/set.ll
+++ b/test/Transforms/InstCombine/set.ll
@@ -1,152 +1,170 @@
; This test makes sure that these instructions are properly eliminated.
;
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep icmp
-; END.
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep icmp
+
+@X = external global i32 ; <i32*> [#uses=2]
-%X = uninitialized global int
-
-bool %test1(int %A) {
- %B = seteq int %A, %A
- %C = seteq int* %X, null ; Never true
- %D = and bool %B, %C
- ret bool %D
+define i1 @test1(i32 %A) {
+ %B = icmp eq i32 %A, %A ; <i1> [#uses=1]
+ ; Never true
+ %C = icmp eq i32* @X, null ; <i1> [#uses=1]
+ %D = and i1 %B, %C ; <i1> [#uses=1]
+ ret i1 %D
}
-bool %test2(int %A) {
- %B = setne int %A, %A
- %C = setne int* %X, null ; Never false
- %D = or bool %B, %C
- ret bool %D
+define i1 @test2(i32 %A) {
+ %B = icmp ne i32 %A, %A ; <i1> [#uses=1]
+ ; Never false
+ %C = icmp ne i32* @X, null ; <i1> [#uses=1]
+ %D = or i1 %B, %C ; <i1> [#uses=1]
+ ret i1 %D
}
-bool %test3(int %A) {
- %B = setlt int %A, %A
- ret bool %B
+define i1 @test3(i32 %A) {
+ %B = icmp slt i32 %A, %A ; <i1> [#uses=1]
+ ret i1 %B
}
-bool %test4(int %A) {
- %B = setgt int %A, %A
- ret bool %B
+
+define i1 @test4(i32 %A) {
+ %B = icmp sgt i32 %A, %A ; <i1> [#uses=1]
+ ret i1 %B
}
-bool %test5(int %A) {
- %B = setle int %A, %A
- ret bool %B
+define i1 @test5(i32 %A) {
+ %B = icmp sle i32 %A, %A ; <i1> [#uses=1]
+ ret i1 %B
}
-bool %test6(int %A) {
- %B = setge int %A, %A
- ret bool %B
+define i1 @test6(i32 %A) {
+ %B = icmp sge i32 %A, %A ; <i1> [#uses=1]
+ ret i1 %B
}
-bool %test7(uint %A) {
- %B = setge uint %A, 0 ; true
- ret bool %B
+define i1 @test7(i32 %A) {
+ ; true
+ %B = icmp uge i32 %A, 0 ; <i1> [#uses=1]
+ ret i1 %B
}
-bool %test8(uint %A) {
- %B = setlt uint %A, 0 ; false
- ret bool %B
+define i1 @test8(i32 %A) {
+ ; false
+ %B = icmp ult i32 %A, 0 ; <i1> [#uses=1]
+ ret i1 %B
}
;; test operations on boolean values these should all be eliminated$a
-bool %test9(bool %A) {
- %B = setlt bool %A, false ; false
- ret bool %B
+define i1 @test9(i1 %A) {
+ ; false
+ %B = icmp ult i1 %A, false ; <i1> [#uses=1]
+ ret i1 %B
}
-bool %test10(bool %A) {
- %B = setgt bool %A, true ; false
- ret bool %B
+
+define i1 @test10(i1 %A) {
+ ; false
+ %B = icmp ugt i1 %A, true ; <i1> [#uses=1]
+ ret i1 %B
}
-bool %test11(bool %A) {
- %B = setle bool %A, true ; true
- ret bool %B
+
+define i1 @test11(i1 %A) {
+ ; true
+ %B = icmp ule i1 %A, true ; <i1> [#uses=1]
+ ret i1 %B
}
-bool %test12(bool %A) {
- %B = setge bool %A, false ; true
- ret bool %B
+
+define i1 @test12(i1 %A) {
+ ; true
+ %B = icmp uge i1 %A, false ; <i1> [#uses=1]
+ ret i1 %B
}
-bool %test13(bool %A, bool %B) {
- %C = setge bool %A, %B ; A | ~B
- ret bool %C
+
+define i1 @test13(i1 %A, i1 %B) {
+ ; A | ~B
+ %C = icmp uge i1 %A, %B ; <i1> [#uses=1]
+ ret i1 %C
}
-bool %test14(bool %A, bool %B) {
- %C = seteq bool %A, %B ; ~(A ^ B)
- ret bool %C
+
+define i1 @test14(i1 %A, i1 %B) {
+ ; ~(A ^ B)
+ %C = icmp eq i1 %A, %B ; <i1> [#uses=1]
+ ret i1 %C
}
-bool %test16(uint %A) {
- %B = and uint %A, 5
- %C = seteq uint %B, 8 ; Is never true
- ret bool %C
+define i1 @test16(i32 %A) {
+ %B = and i32 %A, 5 ; <i32> [#uses=1]
+ ; Is never true
+ %C = icmp eq i32 %B, 8 ; <i1> [#uses=1]
+ ret i1 %C
}
-bool %test17(ubyte %A) {
- %B = or ubyte %A, 1
- %C = seteq ubyte %B, 2 ; Always false
- ret bool %C
+define i1 @test17(i8 %A) {
+ %B = or i8 %A, 1 ; <i8> [#uses=1]
+ ; Always false
+ %C = icmp eq i8 %B, 2 ; <i1> [#uses=1]
+ ret i1 %C
}
-bool %test18(bool %C, int %a) {
+define i1 @test18(i1 %C, i32 %a) {
entry:
- br bool %C, label %endif, label %else
+ br i1 %C, label %endif, label %else
-else:
+else: ; preds = %entry
br label %endif
-endif:
- %b.0 = phi int [ 0, %entry ], [ 1, %else ]
- %tmp.4 = setlt int %b.0, 123
- ret bool %tmp.4
+endif: ; preds = %else, %entry
+ %b.0 = phi i32 [ 0, %entry ], [ 1, %else ] ; <i32> [#uses=1]
+ %tmp.4 = icmp slt i32 %b.0, 123 ; <i1> [#uses=1]
+ ret i1 %tmp.4
}
-bool %test19(bool %A, bool %B) {
- %a = cast bool %A to int
- %b = cast bool %B to int
- %C = seteq int %a, %b
- ret bool %C
+define i1 @test19(i1 %A, i1 %B) {
+ %a = zext i1 %A to i32 ; <i32> [#uses=1]
+ %b = zext i1 %B to i32 ; <i32> [#uses=1]
+ %C = icmp eq i32 %a, %b ; <i1> [#uses=1]
+ ret i1 %C
}
-uint %test20(uint %A) {
- %B = and uint %A, 1
- %C = setne uint %B, 0
- %D = cast bool %C to uint
- ret uint %D
+define i32 @test20(i32 %A) {
+ %B = and i32 %A, 1 ; <i32> [#uses=1]
+ %C = icmp ne i32 %B, 0 ; <i1> [#uses=1]
+ %D = zext i1 %C to i32 ; <i32> [#uses=1]
+ ret i32 %D
}
-int %test21(int %a) {
- %tmp.6 = and int %a, 4
- %not.tmp.7 = setne int %tmp.6, 0
- %retval = cast bool %not.tmp.7 to int
- ret int %retval
+define i32 @test21(i32 %a) {
+ %tmp.6 = and i32 %a, 4 ; <i32> [#uses=1]
+ %not.tmp.7 = icmp ne i32 %tmp.6, 0 ; <i1> [#uses=1]
+ %retval = zext i1 %not.tmp.7 to i32 ; <i32> [#uses=1]
+ ret i32 %retval
}
-bool %test22(uint %A, int %X) {
- %B = and uint %A, 100663295
- %C = setlt uint %B, 268435456
- %Y = and int %X, 7
- %Z = setgt int %Y, -1
- %R = or bool %C, %Z
- ret bool %R
+define i1 @test22(i32 %A, i32 %X) {
+ %B = and i32 %A, 100663295 ; <i32> [#uses=1]
+ %C = icmp ult i32 %B, 268435456 ; <i1> [#uses=1]
+ %Y = and i32 %X, 7 ; <i32> [#uses=1]
+ %Z = icmp sgt i32 %Y, -1 ; <i1> [#uses=1]
+ %R = or i1 %C, %Z ; <i1> [#uses=1]
+ ret i1 %R
}
-int %test23(int %a) {
- %tmp.1 = and int %a, 1
- %tmp.2 = seteq int %tmp.1, 0
- %tmp.3 = cast bool %tmp.2 to int ;; xor tmp1, 1
- ret int %tmp.3
+define i32 @test23(i32 %a) {
+ %tmp.1 = and i32 %a, 1 ; <i32> [#uses=1]
+ %tmp.2 = icmp eq i32 %tmp.1, 0 ; <i1> [#uses=1]
+ %tmp.3 = zext i1 %tmp.2 to i32 ; <i32> [#uses=1]
+ ret i32 %tmp.3
}
-int %test24(uint %a) {
- %tmp1 = and uint %a, 4
- %tmp.1 = shr uint %tmp1, ubyte 2
- %tmp.2 = seteq uint %tmp.1, 0
- %tmp.3 = cast bool %tmp.2 to int ;; xor tmp1, 1
- ret int %tmp.3
+define i32 @test24(i32 %a) {
+ %tmp1 = and i32 %a, 4 ; <i32> [#uses=1]
+ %tmp.1 = lshr i32 %tmp1, 2 ; <i32> [#uses=1]
+ %tmp.2 = icmp eq i32 %tmp.1, 0 ; <i1> [#uses=1]
+ %tmp.3 = zext i1 %tmp.2 to i32 ; <i32> [#uses=1]
+ ret i32 %tmp.3
}
-bool %test25(uint %A) {
- %B = and uint %A, 2
- %C = setgt uint %B, 2
- ret bool %C
+define i1 @test25(i32 %A) {
+ %B = and i32 %A, 2 ; <i32> [#uses=1]
+ %C = icmp ugt i32 %B, 2 ; <i1> [#uses=1]
+ ret i1 %C
}
+
diff --git a/test/Transforms/InstCombine/setcc-cast-cast.ll b/test/Transforms/InstCombine/setcc-cast-cast.ll
index 903f0b4917..79f40aced5 100644
--- a/test/Transforms/InstCombine/setcc-cast-cast.ll
+++ b/test/Transforms/InstCombine/setcc-cast-cast.ll
@@ -1,45 +1,45 @@
; This test case was reduced from MultiSource/Applications/hbd. It makes sure
; that folding doesn't happen in case a zext is applied where a sext should have
; been when a setcc is used with two casts.
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | \
; RUN: not grep {br bool false}
-; END.
-int %bug(ubyte %inbuff) {
+define i32 @bug(i8 %inbuff) {
entry:
- %tmp = bitcast ubyte %inbuff to sbyte ; <sbyte> [#uses=1]
- %tmp = sext sbyte %tmp to int ; <int> [#uses=3]
- %tmp = seteq int %tmp, 1 ; <bool> [#uses=1]
- br bool %tmp, label %cond_true, label %cond_next
+ %tmp = bitcast i8 %inbuff to i8 ; <i8> [#uses=1]
+ %tmp.upgrd.1 = sext i8 %tmp to i32 ; <i32> [#uses=3]
+ %tmp.upgrd.2 = icmp eq i32 %tmp.upgrd.1, 1 ; <i1> [#uses=1]
+ br i1 %tmp.upgrd.2, label %cond_true, label %cond_next
-cond_true: ; preds = %entry
- br label %bb
+cond_true: ; preds = %entry
+ br label %bb
-cond_next: ; preds = %entry
- %tmp3 = seteq int %tmp, -1 ; <bool> [#uses=1]
- br bool %tmp3, label %cond_true4, label %cond_next5
+cond_next: ; preds = %entry
+ %tmp3 = icmp eq i32 %tmp.upgrd.1, -1 ; <i1> [#uses=1]
+ br i1 %tmp3, label %cond_true4, label %cond_next5
-cond_true4: ; preds = %cond_next
- br label %bb
+cond_true4: ; preds = %cond_next
+ br label %bb
-cond_next5: ; preds = %cond_next
- %tmp7 = setgt int %tmp, 1 ; <bool> [#uses=1]
- br bool %tmp7, label %cond_true8, label %cond_false
+cond_next5: ; preds = %cond_next
+ %tmp7 = icmp sgt i32 %tmp.upgrd.1, 1 ; <i1> [#uses=1]
+ br i1 %tmp7, label %cond_true8, label %cond_false
-cond_true8: ; preds = %cond_next5
- br label %cond_next9
+cond_true8: ; preds = %cond_next5
+ br label %cond_next9
-cond_false: ; preds = %cond_next5
- br label %cond_next9
+cond_false: ; preds = %cond_next5
+ br label %cond_next9
-cond_next9: ; preds = %cond_false, %cond_true8
- %iftmp.1.0 = phi int [ 42, %cond_true8 ], [ 23, %cond_false ] ; <int> [#uses=1]
- br label %return
+cond_next9: ; preds = %cond_false, %cond_true8
+ %iftmp.1.0 = phi i32 [ 42, %cond_true8 ], [ 23, %cond_false ] ; <i32> [#uses=1]
+ br label %return
-bb: ; preds = %cond_true4, %cond_true
- br label %return
+bb: ; preds = %cond_true4, %cond_true
+ br label %return
-return: ; preds = %bb, %cond_next9
- %retval.0 = phi int [ 17, %bb ], [ %iftmp.1.0, %cond_next9 ] ; <int> [#uses=1]
- ret int %retval.0
+return: ; preds = %bb, %cond_next9
+ %retval.0 = phi i32 [ 17, %bb ], [ %iftmp.1.0, %cond_next9 ] ; <i32> [#uses=1]
+ ret i32 %retval.0
}
+
diff --git a/test/Transforms/InstCombine/setcc-strength-reduce.ll b/test/Transforms/InstCombine/setcc-strength-reduce.ll
index b5ea83707d..4c420ab421 100644
--- a/test/Transforms/InstCombine/setcc-strength-reduce.ll
+++ b/test/Transforms/InstCombine/setcc-strength-reduce.ll
@@ -2,31 +2,36 @@
; working. Basically this boils down to converting setlt,gt,le,ge instructions
; into equivalent setne,eq instructions.
;
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | \
; RUN: grep -v {icmp eq} | grep -v {icmp ne} | not grep icmp
-; END.
-bool %test1(uint %A) {
- %B = setge uint %A, 1 ; setne %A, 0
- ret bool %B
+
+define i1 @test1(i32 %A) {
+ ; setne %A, 0
+ %B = icmp uge i32 %A, 1 ; <i1> [#uses=1]
+ ret i1 %B
}
-bool %test2(uint %A) {
- %B = setgt uint %A, 0 ; setne %A, 0
- ret bool %B
+define i1 @test2(i32 %A) {
+ ; setne %A, 0
+ %B = icmp ugt i32 %A, 0 ; <i1> [#uses=1]
+ ret i1 %B
}
-bool %test3(sbyte %A) {
- %B = setge sbyte %A, -127 ; setne %A, -128
- ret bool %B
+define i1 @test3(i8 %A) {
+ ; setne %A, -128
+ %B = icmp sge i8 %A, -127 ; <i1> [#uses=1]
+ ret i1 %B
}
-bool %test4(sbyte %A) {
- %B = setle sbyte %A, 126 ; setne %A, 127
- ret bool %B
+define i1 @test4(i8 %A) {
+ ; setne %A, 127
+ %B = icmp sle i8 %A, 126 ; <i1> [#uses=1]
+ ret i1 %B
}
-bool %test5(sbyte %A) {
- %B = setlt sbyte %A, 127 ; setne %A, 127
- ret bool %B
+define i1 @test5(i8 %A) {
+ ; setne %A, 127
+ %B = icmp slt i8 %A, 127 ; <i1> [#uses=1]
+ ret i1 %B
}
diff --git a/test/Transforms/InstCombine/shift-sra.ll b/test/Transforms/InstCombine/shift-sra.ll
index 1339eddc87..6058bd6dc7 100644
--- a/test/Transforms/InstCombine/shift-sra.ll
+++ b/test/Transforms/InstCombine/shift-sra.ll
@@ -1,17 +1,19 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | \
; RUN: grep {lshr i32} | count 2
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep ashr
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep ashr
-int %test1(int %X, ubyte %A) {
- %Y = shr int %X, ubyte %A ; can be logical shift.
- %Z = and int %Y, 1
- ret int %Z
-}
-int %test2(ubyte %tmp) {
- %tmp3 = cast ubyte %tmp to int
- %tmp4 = add int %tmp3, 7
- %tmp5 = ashr int %tmp4, ubyte 3 ; lshr
- ret int %tmp5
+define i32 @test1(i32 %X, i8 %A) {
+ %shift.upgrd.1 = zext i8 %A to i32 ; <i32> [#uses=1]
+ ; can be logical shift.
+ %Y = ashr i32 %X, %shift.upgrd.1 ; <i32> [#uses=1]
+ %Z = and i32 %Y, 1 ; <i32> [#uses=1]
+ ret i32 %Z
}
+define i32 @test2(i8 %tmp) {
+ %tmp3 = zext i8 %tmp to i32 ; <i32> [#uses=1]
+ %tmp4 = add i32 %tmp3, 7 ; <i32> [#uses=1]
+ %tmp5 = ashr i32 %tmp4, 3 ; <i32> [#uses=1]
+ ret i32 %tmp5
+}
diff --git a/test/Transforms/InstCombine/shift.ll b/test/Transforms/InstCombine/shift.ll
index 5ce807063d..feb7c64912 100644
--- a/test/Transforms/InstCombine/shift.ll
+++ b/test/Transforms/InstCombine/shift.ll
@@ -1,189 +1,208 @@
; This test makes sure that these instructions are properly eliminated.
;
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep sh
-; END.
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep sh
-implementation
-
-int %test1(int %A) {
- %B = shl int %A, ubyte 0
- ret int %B
+define i32 @test1(i32 %A) {
+ %B = shl i32 %A, 0 ; <i32> [#uses=1]
+ ret i32 %B
}
-int %test2(ubyte %A) {
- %B = shl int 0, ubyte %A
- ret int %B
+define i32 @test2(i8 %A) {
+ %shift.upgrd.1 = zext i8 %A to i32 ; <i32> [#uses=1]
+ %B = shl i32 0, %shift.upgrd.1 ; <i32> [#uses=1]
+ ret i32 %B
}
-int %test3(int %A) {
- %B = shr int %A, ubyte 0
- ret int %B
+define i32 @test3(i32 %A) {
+ %B = ashr i32 %A, 0 ; <i32> [#uses=1]
+ ret i32 %B
}
-int %test4(ubyte %A) {
- %B = shr int 0, ubyte %A
- ret int %B
+define i32 @test4(i8 %A) {
+ %shift.upgrd.2 = zext i8 %A to i32 ; <i32> [#uses=1]
+ %B = ashr i32 0, %shift.upgrd.2 ; <i32> [#uses=1]
+ ret i32 %B
}
-uint %test5(uint %A) {
- %B = shr uint %A, ubyte 32 ;; shift all bits out
- ret uint %B
+
+define i32 @test5(i32 %A) {
+ %B = lshr i32 %A, 32 ;; shift all bits out
+ ret i32 %B
}
-uint %test5a(uint %A) {
- %B = shl uint %A, ubyte 32 ;; shift all bits out
- ret uint %B
+define i32 @test5a(i32 %A) {
+ %B = shl i32 %A, 32 ;; shift all bits out
+ ret i32 %B
}
-uint %test6(uint %A) {
- %B = shl uint %A, ubyte 1 ;; convert to an mul instruction
- %C = mul uint %B, 3
- ret uint %C
+define i32 @test6(i32 %A) {
+ %B = shl i32 %A, 1 ;; convert to an mul instruction
+ %C = mul i32 %B, 3
+ ret i32 %C
}
-int %test7(ubyte %A) {
- %B = shr int -1, ubyte %A ;; Always equal to -1
- ret int %B
+define i32 @test7(i8 %A) {
+ %shift.upgrd.3 = zext i8 %A to i32
+ %B = ashr i32 -1, %shift.upgrd.3 ;; Always equal to -1
+ ret i32 %B
}
-ubyte %test8(ubyte %A) { ;; (A << 5) << 3 === A << 8 == 0
- %B = shl ubyte %A, ubyte 5
- %C = shl ubyte %B, ubyte 3
- ret ubyte %C
+;; (A << 5) << 3 === A << 8 == 0
+define i8 @test8(i8 %A) {
+ %B = shl i8 %A, 5 ; <i8> [#uses=1]
+ %C = shl i8 %B, 3 ; <i8> [#uses=1]
+ ret i8 %C
}
-ubyte %test9(ubyte %A) { ;; (A << 7) >> 7 === A & 1
- %B = shl ubyte %A, ubyte 7
- %C = shr ubyte %B, ubyte 7
- ret ubyte %C
+;; (A << 7) >> 7 === A & 1
+define i8 @test9(i8 %A) {
+ %B = shl i8 %A, 7 ; <i8> [#uses=1]
+ %C = lshr i8 %B, 7 ; <i8> [#uses=1]
+ ret i8 %C
}
-ubyte %test10(ubyte %A) { ;; (A >> 7) << 7 === A & 128
- %B = shr ubyte %A, ubyte 7
- %C = shl ubyte %B, ubyte 7
- ret ubyte %C
+;; (A >> 7) << 7 === A & 128
+define i8 @test10(i8 %A) {
+ %B = lshr i8 %A, 7 ; <i8> [#uses=1]
+ %C = shl i8 %B, 7 ; <i8> [#uses=1]
+ ret i8 %C
}
-ubyte %test11(ubyte %A) { ;; (A >> 3) << 4 === (A & 0x1F) << 1
- %a = mul ubyte %A, 3
- %B = shr ubyte %a, ubyte 3
- %C = shl ubyte %B, ubyte 4
- ret ubyte %C
+;; (A >> 3) << 4 === (A & 0x1F) << 1
+define i8 @test11(i8 %A) {
+ %a = mul i8 %A, 3 ; <i8> [#uses=1]
+ %B = lshr i8 %a, 3 ; <i8> [#uses=1]
+ %C = shl i8 %B, 4 ; <i8> [#uses=1]
+ ret i8 %C
}
-int %test12(int %A) {
- %B = shr int %A, ubyte 8 ;; (A >> 8) << 8 === A & -256
- %C = shl int %B, ubyte 8
- ret int %C
+;; (A >> 8) << 8 === A & -256
+define i32 @test12(i32 %A) {
+ %B = ashr i32 %A, 8 ; <i32> [#uses=1]
+ %C = shl i32 %B, 8 ; <i32> [#uses=1]
+ ret i32 %C
}
-sbyte %test13(sbyte %A) { ;; (A >> 3) << 4 === (A & -8) * 2
- %a = mul sbyte %A, 3
- %B = shr sbyte %a, ubyte 3
- %C = shl sbyte %B, ubyte 4
- ret sbyte %C
+;; (A >> 3) << 4 === (A & -8) * 2
+define i8 @test13(i8 %A) {
+ %a = mul i8 %A, 3 ; <i8> [#uses=1]
+ %B = ashr i8 %a, 3 ; <i8> [#uses=1]
+ %C = shl i8 %B, 4 ; <i8> [#uses=1]
+ ret i8 %C
}
-uint %test14(uint %A) {
- %B = shr uint %A, ubyte 4
- %C = or uint %B, 1234
- %D = shl uint %C, ubyte 4 ;; D = ((B | 1234) << 4) === ((B << 4)|(1234 << 4)
- ret uint %D
+;; D = ((B | 1234) << 4) === ((B << 4)|(1234 << 4)
+define i32 @test14(i32 %A) {
+ %B = lshr i32 %A, 4 ; <i32> [#uses=1]
+ %C = or i32 %B, 1234 ; <i32> [#uses=1]
+ %D = shl i32 %C, 4 ; <i32> [#uses=1]
+ ret i32 %D
}
-uint %test14a(uint %A) {
- %B = shl uint %A, ubyte 4
- %C = and uint %B, 1234
- %D = shr uint %C, ubyte 4 ;; D = ((B | 1234) << 4) === ((B << 4)|(1234 << 4)
- ret uint %D
+
+;; D = ((B | 1234) << 4) === ((B << 4)|(1234 << 4)
+define i32 @test14a(i32 %A) {
+ %B = shl i32 %A, 4 ; <i32> [#uses=1]
+ %C = and i32 %B, 1234 ; <i32> [#uses=1]
+ %D = lshr i32 %C, 4 ; <i32> [#uses=1]
+ ret i32 %D
}
-int %test15(bool %C) {
- %A = select bool %C, int 3, int 1
- %V = shl int %A, ubyte 2
- ret int %V
+define i32 @test15(i1 %C) {
+ %A = select i1 %C, i32 3, i32 1 ; <i32> [#uses=1]
+ %V = shl i32 %A, 2 ; <i32> [#uses=1]
+ ret i32 %V
}
-int %test15a(bool %C) {
- %A = select bool %C, ubyte 3, ubyte 1
- %V = shl int 64, ubyte %A
- ret int %V
+define i32 @test15a(i1 %C) {
+ %A = select i1 %C, i8 3, i8 1 ; <i8> [#uses=1]
+ %shift.upgrd.4 = zext i8 %A to i32 ; <i32> [#uses=1]
+ %V = shl i32 64, %shift.upgrd.4 ; <i32> [#uses=1]
+ ret i32 %V
}
-bool %test16(int %X) {
- %tmp.3 = shr int %X, ubyte 4
- %tmp.6 = and int %tmp.3, 1
- %tmp.7 = setne int %tmp.6, 0 ;; X & 16 != 0
- ret bool %tmp.7
+define i1 @test16(i32 %X) {
+ %tmp.3 = ashr i32 %X, 4 ; <i32> [#uses=1]
+ %tmp.6 = and i32 %tmp.3, 1 ; <i32> [#uses=1]
+ %tmp.7 = icmp ne i32 %tmp.6, 0 ; <i1> [#uses=1]
+ ret i1 %tmp.7
}
-bool %test17(uint %A) {
- %B = shr uint %A, ubyte 3
- %C = seteq uint %B, 1234
- ret bool %C
+define i1 @test17(i32 %A) {
+ %B = lshr i32 %A, 3 ; <i32> [#uses=1]
+ %C = icmp eq i32 %B, 1234 ; <i1> [#uses=1]
+ ret i1 %C
}
-bool %test18(ubyte %A) {
- %B = shr ubyte %A, ubyte 7
- %C = seteq ubyte %B, 123 ;; false
- ret bool %C
+
+define i1 @test18(i8 %A) {
+ %B = lshr i8 %A, 7 ; <i8> [#uses=1]
+ ;; false
+ %C = icmp eq i8 %B, 123 ; <i1> [#uses=1]
+ ret i1 %C
}
-bool %test19(int %A) {
- %B = shr int %A, ubyte 2
- %C = seteq int %B, 0 ;; (X & -4) == 0
- ret bool %C
+define i1 @test19(i32 %A) {
+ %B = ashr i32 %A, 2 ; <i32> [#uses=1]
+ ;; (X & -4) == 0
+ %C = icmp eq i32 %B, 0 ; <i1> [#uses=1]
+ ret i1 %C
}
-bool %test19a(int %A) {
- %B = shr int %A, ubyte 2
- %C = seteq int %B, -1 ;; (X & -4) == -4
- ret bool %C
+
+define i1 @test19a(i32 %A) {
+ %B = ashr i32 %A, 2 ; <i32> [#uses=1]
+ ;; (X & -4) == -4
+ %C = icmp eq i32 %B, -1 ; <i1> [#uses=1]
+ ret i1 %C
}
-bool %test20(sbyte %A) {
- %B = shr sbyte %A, ubyte 7
- %C = seteq sbyte %B, 123 ;; false
- ret bool %C
+define i1 @test20(i8 %A) {
+ %B = ashr i8 %A, 7 ; <i8> [#uses=1]
+ ;; false
+ %C = icmp eq i8 %B, 123 ; <i1> [#uses=1]
+ ret i1 %C
}
-bool %test21(ubyte %A) {
- %B = shl ubyte %A, ubyte 4
- %C = seteq ubyte %B, 128
- ret bool %C
+define i1 @test21(i8 %A) {
+ %B = shl i8 %A, 4 ; <i8> [#uses=1]
+ %C = icmp eq i8 %B, -128 ; <i1> [#uses=1]
+ ret i1 %C
}
-bool %test22(ubyte %A) {
- %B = shl ubyte %A, ubyte 4
- %C = seteq ubyte %B, 0
- ret bool %C
+define i1 @test22(i8 %A) {
+ %B = shl i8 %A, 4 ; <i8> [#uses=1]
+ %C = icmp eq i8 %B, 0 ; <i1> [#uses=1]
+ ret i1 %C
}
-sbyte %test23(int %A) {
- %B = shl int %A, ubyte 24 ;; casts not needed
- %C = shr int %B, ubyte 24
- %D = cast int %C to sbyte
- ret sbyte %D
+define i8 @test23(i32 %A) {
+ ;; casts not needed
+ %B = shl i32 %A, 24 ; <i32> [#uses=1]
+ %C = ashr i32 %B, 24 ; <i32> [#uses=1]
+ %D = trunc i32 %C to i8 ; <i8> [#uses=1]
+ ret i8 %D
}
-sbyte %test24(sbyte %X) {
- %Y = and sbyte %X, -5 ; ~4
- %Z = shl sbyte %Y, ubyte 5
- %Q = shr sbyte %Z, ubyte 5
- ret sbyte %Q
+define i8 @test24(i8 %X) {
+ %Y = and i8 %X, -5 ; <i8> [#uses=1]
+ %Z = shl i8 %Y, 5 ; <i8> [#uses=1]
+ %Q = ashr i8 %Z, 5 ; <i8> [#uses=1]
+ ret i8 %Q
}
-uint %test25(uint %tmp.2, uint %AA) {
- %x = shr uint %AA, ubyte 17
- %tmp.3 = shr uint %tmp.2, ubyte 17 ; <uint> [#uses=1]
- %tmp.5 = add uint %tmp.3, %x ; <uint> [#uses=1]
- %tmp.6 = shl uint %tmp.5, ubyte 17 ; <uint> [#uses=1]
- ret uint %tmp.6
+define i32 @test25(i32 %tmp.2, i32 %AA) {
+ %x = lshr i32 %AA, 17 ; <i32> [#uses=1]
+ %tmp.3 = lshr i32 %tmp.2, 17 ; <i32> [#uses=1]
+ %tmp.5 = add i32 %tmp.3, %x ; <i32> [#uses=1]
+ %tmp.6 = shl i32 %tmp.5, 17 ; <i32> [#uses=1]
+ ret i32 %tmp.6
}
-int %test26(uint %A) { ;; handle casts between shifts.
- %B = shr uint %A, ubyte 1
- %C = cast uint %B to int
- %D = shl int %C, ubyte 1
- ret int %D
+;; handle casts between shifts.
+define i32 @test26(i32 %A) {
+ %B = lshr i32 %A, 1 ; <i32> [#uses=1]
+ %C = bitcast i32 %B to i32 ; <i32> [#uses=1]
+ %D = shl i32 %C, 1 ; <i32> [#uses=1]
+ ret i32 %D
}
diff --git a/test/Transforms/InstCombine/shl-trunc.ll b/test/Transforms/InstCombine/shl-trunc.ll
index bfd41a87fc..ffef2984f5 100644
--- a/test/Transforms/InstCombine/shl-trunc.ll
+++ b/test/Transforms/InstCombine/shl-trunc.ll
@@ -1,7 +1,9 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep shl
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep shl
-bool %test(int %X, ubyte %A) {
- %B = lshr int %X, ubyte %A
- %D = trunc int %B to bool
- ret bool %D
+define i1 @test(i32 %X, i8 %A) {
+ %shift.upgrd.1 = zext i8 %A to i32 ; <i32> [#uses=1]
+ %B = lshr i32 %X, %shift.upgrd.1 ; <i32> [#uses=1]
+ %D = trunc i32 %B to i1 ; <i1> [#uses=1]
+ ret i1 %D
}
+
diff --git a/test/Transforms/InstCombine/signext.ll b/test/Transforms/InstCombine/signext.ll
index f69cbc0072..4828937e3e 100644
--- a/test/Transforms/InstCombine/signext.ll
+++ b/test/Transforms/InstCombine/signext.ll
@@ -1,44 +1,44 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | \
; RUN: not grep {(and\|xor\|add\|shl\|shr)}
-; END.
-int %test1(int %x) {
- %tmp.1 = and int %x, 65535 ; <int> [#uses=1]
- %tmp.2 = xor int %tmp.1, -32768 ; <int> [#uses=1]
- %tmp.3 = add int %tmp.2, 32768 ; <int> [#uses=1]
- ret int %tmp.3
+define i32 @test1(i32 %x) {
+ %tmp.1 = and i32 %x, 65535 ; <i32> [#uses=1]
+ %tmp.2 = xor i32 %tmp.1, -32768 ; <i32> [#uses=1]
+ %tmp.3 = add i32 %tmp.2, 32768 ; <i32> [#uses=1]
+ ret i32 %tmp.3
}
-int %test2(int %x) {
- %tmp.1 = and int %x, 65535 ; <int> [#uses=1]
- %tmp.2 = xor int %tmp.1, 32768 ; <int> [#uses=1]
- %tmp.3 = add int %tmp.2, -32768 ; <int> [#uses=1]
- ret int %tmp.3
+define i32 @test2(i32 %x) {
+ %tmp.1 = and i32 %x, 65535 ; <i32> [#uses=1]
+ %tmp.2 = xor i32 %tmp.1, 32768 ; <i32> [#uses=1]
+ %tmp.3 = add i32 %tmp.2, -32768 ; <i32> [#uses=1]
+ ret i32 %tmp.3
}
-int %test3(ushort %P) {
- %tmp.1 = cast ushort %P to int ; <int> [#uses=1]
- %tmp.4 = xor int %tmp.1, 32768 ; <int> [#uses=1]
- %tmp.5 = add int %tmp.4, -32768 ; <int> [#uses=1]
- ret int %tmp.5
+define i32 @test3(i16 %P) {
+ %tmp.1 = zext i16 %P to i32 ; <i32> [#uses=1]
+ %tmp.4 = xor i32 %tmp.1, 32768 ; <i32> [#uses=1]
+ %tmp.5 = add i32 %tmp.4, -32768 ; <i32> [#uses=1]
+ ret i32 %tmp.5
}
-uint %test4(ushort %P) {
- %tmp.1 = cast ushort %P to uint ; <uint> [#uses=1]
- %tmp.4 = xor uint %tmp.1, 32768 ; <uint> [#uses=1]
- %tmp.5 = add uint %tmp.4, 4294934528 ; <uint> [#uses=1]
- ret uint %tmp.5
+define i32 @test4(i16 %P) {
+ %tmp.1 = zext i16 %P to i32 ; <i32> [#uses=1]
+ %tmp.4 = xor i32 %tmp.1, 32768 ; <i32> [#uses=1]
+ %tmp.5 = add i32 %tmp.4, -32768 ; <i32> [#uses=1]
+ ret i32 %tmp.5
}
-int %test5(int %x) {
- %tmp.1 = and int %x, 254
- %tmp.2 = xor int %tmp.1, 128
- %tmp.3 = add int %tmp.2, -128
- ret int %tmp.3
+define i32 @test5(i32 %x) {
+ %tmp.1 = and i32 %x, 254 ; <i32> [#uses=1]
+ %tmp.2 = xor i32 %tmp.1, 128 ; <i32> [#uses=1]
+ %tmp.3 = add i32 %tmp.2, -128 ; <i32> [#uses=1]
+ ret i32 %tmp.3
}
-int %test6(int %x) {
- %tmp.2 = shl int %x, ubyte 16 ; <int> [#uses=1]
- %tmp.4 = shr int %tmp.2, ubyte 16 ; <int> [#uses=1]
- ret int %tmp.4
+define i32 @test6(i32 %x) {
+ %tmp.2 = shl i32 %x, 16 ; <i32> [#uses=1]
+ %tmp.4 = ashr i32 %tmp.2, 16 ; <i32> [#uses=1]
+ ret i32 %tmp.4
}
+
diff --git a/test/Transforms/InstCombine/sink_instruction.ll b/test/Transforms/InstCombine/sink_instruction.ll
index 93519ffdc0..cb8a090e5a 100644
--- a/test/Transforms/InstCombine/sink_instruction.ll
+++ b/test/Transforms/InstCombine/sink_instruction.ll
@@ -1,18 +1,19 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | \
; RUN: %prcontext div 1 | grep ret
;; This tests that the instructions in the entry blocks are sunk into each
;; arm of the 'if'.
-int %foo(bool %C, int %A, int %B) {
+define i32 @foo(i1 %C, i32 %A, i32 %B) {
entry:
- %tmp.2 = div int %A, %B
- %tmp.9 = add int %B, %A
- br bool %C, label %then, label %endif
+ %tmp.2 = sdiv i32 %A, %B ; <i32> [#uses=1]
+ %tmp.9 = add i32 %B, %A ; <i32> [#uses=1]
+ br i1 %C, label %then, label %endif
-then:
- ret int %tmp.9
+then: ; preds = %entry
+ ret i32 %tmp.9
-endif:
- ret int %tmp.2
+endif: ; preds = %entry
+ ret i32 %tmp.2
}
+
diff --git a/test/Transforms/InstCombine/store.ll b/test/Transforms/InstCombine/store.ll
index 0b7d12f547..337b2cce08 100644
--- a/test/Transforms/InstCombine/store.ll
+++ b/test/Transforms/InstCombine/store.ll
@@ -1,16 +1,17 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | \
; RUN: grep -v {store.*,.*null} | not grep store
-void %test1(int* %P) {
- store int undef, int* %P
- store int 123, int* undef
- store int 124, int* null
- ret void
+define void @test1(i32* %P) {
+ store i32 undef, i32* %P
+ store i32 123, i32* undef
+ store i32 124, i32* null
+ ret void
}
-void %test2(int* %P) {
- %X = load int* %P
- %Y = add int %X, 0
- store int %Y, int* %P
- ret void
+define void @test2(i32* %P) {
+ %X = load i32* %P ; <i32> [#uses=1]
+ %Y = add i32 %X, 0 ; <i32> [#uses=1]
+ store i32 %Y, i32* %P
+ ret void
}
+
diff --git a/test/Transforms/InstCombine/sub.ll b/test/Transforms/InstCombine/sub.ll
index dfee31253f..9ee8b06845 100644
--- a/test/Transforms/InstCombine/sub.ll
+++ b/test/Transforms/InstCombine/sub.ll
@@ -1,139 +1,136 @@
; This test makes sure that these instructions are properly eliminated.
;
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | \
; RUN: grep -v {sub i32 %Cok, %Bok} | not grep sub
-implementation
-
-int %test1(int %A) {
- %B = sub int %A, %A ; ISA constant 0
- ret int %B
+define i32 @test1(i32 %A) {
+ %B = sub i32 %A, %A ; <i32> [#uses=1]
+ ret i32 %B
}
-int %test2(int %A) {
- %B = sub int %A, 0
- ret int %B
+define i32 @test2(i32 %A) {
+ %B = sub i32 %A, 0 ; <i32> [#uses=1]
+ ret i32 %B
}
-int %test3(int %A) {
- %B = sub int 0, %A ; B = -A
- %C = sub int 0, %B ; C = -B = A
- ret int %C
+define i32 @test3(i32 %A) {
+ %B = sub i32 0, %A ; <i32> [#uses=1]
+ %C = sub i32 0, %B ; <i32> [#uses=1]
+ ret i32 %C
}
-int %test4(int %A, int %x) {
- %B = sub int 0, %A
- %C = sub int %x, %B
- ret int %C
+define i32 @test4(i32 %A, i32 %x) {
+ %B = sub i32 0, %A ; <i32> [#uses=1]
+ %C = sub i32 %x, %B ; <i32> [#uses=1]
+ ret i32 %C
}
-int %test5(int %A, int %Bok, int %Cok) {
- %D = sub int %Bok, %Cok
- %E = sub int %A, %D
- ret int %E
+define i32 @test5(i32 %A, i32 %Bok, i32 %Cok) {
+ %D = sub i32 %Bok, %Cok ; <i32> [#uses=1]
+ %E = sub i32 %A, %D ; <i32> [#uses=1]
+ ret i32 %E
}
-int %test6(int %A, int %B) {
- %C = and int %A, %B ; A - (A & B) => A & ~B
- %D = sub int %A, %C
- ret int %D
+define i32 @test6(i32 %A, i32 %B) {
+ %C = and i32 %A, %B ; <i32> [#uses=1]
+ %D = sub i32 %A, %C ; <i32> [#uses=1]
+ ret i32 %D
}
-int %test7(int %A) {
- %B = sub int -1, %A ; B = ~A
- ret int %B
+define i32 @test7(i32 %A) {
+ %B = sub i32 -1, %A ; <i32> [#uses=1]
+ ret i32 %B
}
-int %test8(int %A) {
- %B = mul int 9, %A
- %C = sub int %B, %A ; C = 9*A-A == A*8 == A << 3
- ret int %C
+define i32 @test8(i32 %A) {
+ %B = mul i32 9, %A ; <i32> [#uses=1]
+ %C = sub i32 %B, %A ; <i32> [#uses=1]
+ ret i32 %C
}
-int %test9(int %A) {
- %B = mul int 3, %A
- %C = sub int %A, %B ; C = A-3*A == A*-2
- ret int %C
+define i32 @test9(i32 %A) {
+ %B = mul i32 3, %A ; <i32> [#uses=1]
+ %C = sub i32 %A, %B ; <i32> [#uses=1]
+ ret i32 %C
}
-int %test10(int %A, int %B) { ; -A*-B == A*B
- %C = sub int 0, %A
- %D = sub int 0, %B
- %E = mul int %C, %D
- ret int %E
+define i32 @test10(i32 %A, i32 %B) {
+ %C = sub i32 0, %A ; <i32> [#uses=1]
+ %D = sub i32 0, %B ; <i32> [#uses=1]
+ %E = mul i32 %C, %D ; <i32> [#uses=1]
+ ret i32 %E
}
-int %test10(int %A) { ; -A *c1 == A * -c1
- %C = sub int 0, %A
- %E = mul int %C, 7
- ret int %E
+define i32 @test10.upgrd.1(i32 %A) {
+ %C = sub i32 0, %A ; <i32> [#uses=1]
+ %E = mul i32 %C, 7 ; <i32> [#uses=1]
+ ret i32 %E
}
-bool %test11(ubyte %A, ubyte %B) {
- %C = sub ubyte %A, %B
- %cD = setne ubyte %C, 0 ; == setne A, B
- ret bool %cD
+define i1 @test11(i8 %A, i8 %B) {
+ %C = sub i8 %A, %B ; <i8> [#uses=1]
+ %cD = icmp ne i8 %C, 0 ; <i1> [#uses=1]
+ ret i1 %cD
}
-int %test12(int %A) {
- %B = shr int %A, ubyte 31
- %C = sub int 0, %B ; == ushr A, 31
- ret int %C
+define i32 @test12(i32 %A) {
+ %B = ashr i32 %A, 31 ; <i32> [#uses=1]
+ %C = sub i32 0, %B ; <i32> [#uses=1]
+ ret i32 %C
}
-uint %test13(uint %A) {
- %B = shr uint %A, ubyte 31
- %C = sub uint 0, %B ; == sar A, 31
- ret uint %C
+define i32 @test13(i32 %A) {
+ %B = lshr i32 %A, 31 ; <i32> [#uses=1]
+ %C = sub i32 0, %B ; <i32> [#uses=1]
+ ret i32 %C
}
-int %test14(uint %A) {
- %B = shr uint %A, ubyte 31
- %C = cast uint %B to int
- %D = sub int 0, %C
- ret int %D
+define i32 @test14(i32 %A) {
+ %B = lshr i32 %A, 31 ; <i32> [#uses=1]
+ %C = bitcast i32 %B to i32 ; <i32> [#uses=1]
+ %D = sub i32 0, %C ; <i32> [#uses=1]
+ ret i32 %D
}
-int %test15(int %A, int %B) {
- %C = sub int 0, %A
- %D = rem int %B, %C ;; X % -Y === X % Y
- ret int %D
+define i32 @test15(i32 %A, i32 %B) {
+ %C = sub i32 0, %A ; <i32> [#uses=1]
+ %D = srem i32 %B, %C ; <i32> [#uses=1]
+ ret i32 %D
}
-int %test16(int %A) {
- %X = div int %A, 1123
- %Y = sub int 0, %X
- ret int %Y
+define i32 @test16(i32 %A) {
+ %X = sdiv i32 %A, 1123 ; <i32> [#uses=1]
+ %Y = sub i32 0, %X ; <i32> [#uses=1]
+ ret i32 %Y
}
-int %test17(int %A) {
- %B = sub int 0, %A
- %C = div int %B, 1234
- ret int %C
+define i32 @test17(i32 %A) {
+ %B = sub i32 0, %A ; <i32> [#uses=1]
+ %C = sdiv i32 %B, 1234 ; <i32> [#uses=1]
+ ret i32 %C
}
-long %test18(long %Y) {
- %tmp.4 = shl long %Y, ubyte 2
- %tmp.12 = shl long %Y, ubyte 2
- %tmp.8 = sub long %tmp.4, %tmp.12 ;; 0
- ret long %tmp.8
+define i64 @test18(i64 %Y) {
+ %tmp.4 = shl i64 %Y, 2 ; <i64> [#uses=1]
+ %tmp.12 = shl i64 %Y, 2 ; <i64> [#uses=1]
+ %tmp.8 = sub i64 %tmp.4, %tmp.12 ; <i64> [#uses=1]
+ ret i64 %tmp.8
}
-int %test19(int %X, int %Y) {
- %Z = sub int %X, %Y
- %Q = add int %Z, %Y
- ret int %Q
+define i32 @test19(i32 %X, i32 %Y) {
+ %Z = sub i32 %X, %Y ; <i32> [#uses=1]
+ %Q = add i32 %Z, %Y ; <i32> [#uses=1]
+ ret i32 %Q
}
-bool %test20(int %g, int %h) {
- %tmp.2 = sub int %g, %h
- %tmp.4 = setne int %tmp.2, %g
- ret bool %tmp.4
+define i1 @test20(i32 %g, i32 %h) {
+ %tmp.2 = sub i32 %g, %h ; <i32> [#uses=1]
+ %tmp.4 = icmp ne i32 %tmp.2, %g ; <i1> [#uses=1]
+ ret i1 %tmp.4
}
-bool %test21(int %g, int %h) {
- %tmp.2 = sub int %g, %h
- %tmp.4 = setne int %tmp.2, %g
- ret bool %tmp.4
+define i1 @test21(i32 %g, i32 %h) {
+ %tmp.2 = sub i32 %g, %h ; <i32> [#uses=1]
+ %tmp.4 = icmp ne i32 %tmp.2, %g ; <i1> [#uses=1]
+ ret i1 %tmp.4
}
-
diff --git a/test/Transforms/InstCombine/vec_insert_to_shuffle.ll b/test/Transforms/InstCombine/vec_insert_to_shuffle.ll
index 04d3ee56eb..5f0ce6566d 100644
--- a/test/Transforms/InstCombine/vec_insert_to_shuffle.ll
+++ b/test/Transforms/InstCombine/vec_insert_to_shuffle.ll
@@ -1,18 +1,18 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | \
; RUN: grep shufflevec | count 1
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | \
; RUN: not grep insertelement
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | \
; RUN: not grep extractelement
-; END.
-<4 x float> %test(<4 x float> %tmp, <4 x float> %tmp1) {
- %tmp4 = extractelement <4 x float> %tmp, uint 1 ; <float> [#uses=1]
- %tmp2 = extractelement <4 x float> %tmp, uint 3 ; <float> [#uses=1]
- %tmp1 = extractelement <4 x float> %tmp1, uint 0 ; <float> [#uses=1]
- %tmp128 = insertelement <4 x float> undef, float %tmp4, uint 0 ; <<4 x float>> [#uses=1]
- %tmp130 = insertelement <4 x float> %tmp128, float undef, uint 1 ; <<4 x float>> [#uses=1]
- %tmp132 = insertelement <4 x float> %tmp130, float %tmp2, uint 2 ; <<4 x float>> [#uses=1]
- %tmp134 = insertelement <4 x float> %tmp132, float %tmp1, uint 3 ; <<4 x float>> [#uses=1]
- ret <4 x float> %tmp134
+define <4 x float> @test(<4 x float> %tmp, <4 x float> %tmp1) {
+ %tmp4 = extractelement <4 x float> %tmp, i32 1 ; <float> [#uses=1]
+ %tmp2 = extractelement <4 x float> %tmp, i32 3 ; <float> [#uses=1]
+ %tmp1.upgrd.1 = extractelement <4 x float> %tmp1, i32 0 ; <float> [#uses=1]
+ %tmp128 = insertelement <4 x float> undef, float %tmp4, i32 0 ; <<4 x float>> [#uses=1]
+ %tmp130 = insertelement <4 x float> %tmp128, float undef, i32 1 ; <<4 x float>> [#uses=1]
+ %tmp132 = insertelement <4 x float> %tmp130, float %tmp2, i32 2 ; <<4 x float>> [#uses=1]
+ %tmp134 = insertelement <4 x float> %tmp132, float %tmp1.upgrd.1, i32 3 ; <<4 x float>> [#uses=1]
+ ret <4 x float> %tmp134
}
+
diff --git a/test/Transforms/InstCombine/vec_narrow.ll b/test/Transforms/InstCombine/vec_narrow.ll
index ca94b081d7..9063148424 100644
--- a/test/Transforms/InstCombine/vec_narrow.ll
+++ b/test/Transforms/InstCombine/vec_narrow.ll
@@ -1,12 +1,12 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | \
; RUN: grep {add float}
-%V = type <4 x float>
+ %V = type <4 x float>
-float %test(%V %A, %V %B, float %f) {
- %C = insertelement %V %A, float %f, uint 0
- %D = add %V %C, %B
- %E = extractelement %V %D, uint 0
+define float @test(%V %A, %V %B, float %f) {
+ %C = insertelement %V %A, float %f, i32 0 ; <%V> [#uses=1]
+ %D = add %V %C, %B ; <%V> [#uses=1]
+ %E = extractelement %V %D, i32 0 ; <float> [#uses=1]
ret float %E
}
diff --git a/test/Transforms/InstCombine/xor.ll b/test/Transforms/InstCombine/xor.ll
index e2011499cc..87e2cef3a1 100644
--- a/test/Transforms/InstCombine/xor.ll
+++ b/test/Transforms/InstCombine/xor.ll
@@ -1,198 +1,192 @@
; This test makes sure that these instructions are properly eliminated.
;
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | \
; RUN: not grep {xor }
-; END.
+@G1 = global i32 0 ; <i32*> [#uses=1]
+@G2 = global i32 0 ; <i32*> [#uses=1]
-%G1 = global uint 0
-%G2 = global uint 0
-
-implementation
+define i1 @test0(i1 %A) {
+ %B = xor i1 %A, false ; <i1> [#uses=1]
+ ret i1 %B
+}
-bool %test0(bool %A) {
- %B = xor bool %A, false
- ret bool %B
+define i32 @test1(i32 %A) {
+ %B = xor i32 %A, 0 ; <i32> [#uses=1]
+ ret i32 %B
}
-int %test1(int %A) {
- %B = xor int %A, 0
- ret int %B
+define i1 @test2(i1 %A) {
+ %B = xor i1 %A, %A ; <i1> [#uses=1]
+ ret i1 %B
}
-bool %test2(bool %A) {
- %B = xor bool %A, %A
- ret bool %B
+define i32 @test3(i32 %A) {
+ %B = xor i32 %A, %A ; <i32> [#uses=1]
+ ret i32 %B
}
-int %test3(int %A) {
- %B = xor int %A, %A
- ret int %B
+define i32 @test4(i32 %A) {
+ %NotA = xor i32 -1, %A ; <i32> [#uses=1]
+ %B = xor i32 %A, %NotA ; <i32> [#uses=1]
+ ret i32 %B
}
-int %test4(int %A) { ; A ^ ~A == -1
- %NotA = xor int -1, %A
- %B = xor int %A, %NotA
- ret int %B
+define i32 @test5(i32 %A) {
+ %t1 = or i32 %A, 123 ; <i32> [#uses=1]
+ %r = xor i32 %t1, 123 ; <i32> [#uses=1]
+ ret i32 %r
}
-uint %test5(uint %A) { ; (A|B)^B == A & (~B)
- %t1 = or uint %A, 123
- %r = xor uint %t1, 123
- ret uint %r
+define i8 @test6(i8 %A) {
+ %B = xor i8 %A, 17 ; <i8> [#uses=1]
+ %C = xor i8 %B, 17 ; <i8> [#uses=1]
+ ret i8 %C
}
-ubyte %test6(ubyte %A) {
- %B = xor ubyte %A, 17
- %C = xor ubyte %B, 17
- ret ubyte %C
+define i32 @test7(i32 %A, i32 %B) {
+ %A1 = and i32 %A, 7 ; <i32> [#uses=1]
+ %B1 = and i32 %B, 128 ; <i32> [#uses=1]
+ %C1 = xor i32 %A1, %B1 ; <i32> [#uses=1]
+ ret i32 %C1
}
-; (A & C1)^(B & C2) -> (A & C1)|(B & C2) iff C1&C2 == 0
-int %test7(int %A, int %B) {
+define i8 @test8(i1 %c) {
+ %d = xor i1 %c, true ; <i1> [#uses=1]
+ br i1 %d, label %True, label %False
- %A1 = and int %A, 7
- %B1 = and int %B, 128
- %C1 = xor int %A1, %B1
- ret int %C1
-}
+True: ; preds = %0
+ ret i8 1
-ubyte %test8(bool %c) {
- %d = xor bool %c, true ; invert the condition
- br bool %d, label %True, label %False
-True:
- ret ubyte 1
-False:
- ret ubyte 3
+False: ; preds = %0
+ ret i8 3
}
-bool %test9(ubyte %A) {
- %B = xor ubyte %A, 123 ; xor can be eliminated
- %C = seteq ubyte %B, 34
- ret bool %C
+define i1 @test9(i8 %A) {
+ %B = xor i8 %A, 123 ; <i8> [#uses=1]
+ %C = icmp eq i8 %B, 34 ; <i1> [#uses=1]
+ ret i1 %C
}
-ubyte %test10(ubyte %A) {
- %B = and ubyte %A, 3
- %C = xor ubyte %B, 4 ; transform into an OR
- ret ubyte %C
+define i8 @test10(i8 %A) {
+ %B = and i8 %A, 3 ; <i8> [#uses=1]
+ %C = xor i8 %B, 4 ; <i8> [#uses=1]
+ ret i8 %C
}
-ubyte %test11(ubyte %A) {
- %B = or ubyte %A, 12
- %C = xor ubyte %B, 4 ; transform into an AND
- ret ubyte %C
+define i8 @test11(i8 %A) {
+ %B = or i8 %A, 12 ; <i8> [#uses=1]
+ %C = xor i8 %B, 4 ; <i8> [#uses=1]
+ ret i8 %C
}
-bool %test12(ubyte %A) {
- %B = xor ubyte %A, 4
- %c = setne ubyte %B, 0
- ret bool %c
+define i1 @test12(i8 %A) {
+ %B = xor i8 %A, 4 ; <i8> [#uses=1]
+ %c = icmp ne i8 %B, 0 ; <i1> [#uses=1]
+ ret i1 %c
}
-bool %test13(ubyte %A, ubyte %B) {
- %C = setlt ubyte %A, %B
- %D = setgt ubyte %A, %B
- %E = xor bool %C, %D ; E = setne %A, %B
- ret bool %E
+define i1 @test13(i8 %A, i8 %B) {
+ %C = icmp ult i8 %A, %B ; <i1> [#uses=1]
+ %D = icmp ugt i8 %A, %B ; <i1> [#uses=1]
+ %E = xor i1 %C, %D ; <i1> [#uses=1]
+ ret i1 %E
}
-bool %test14(ubyte %A, ubyte %B) {
- %C = seteq ubyte %A, %B
- %D = setne ubyte %B, %A
- %E = xor bool %C, %D ; E = true
- ret bool %E
+define i1 @test14(i8 %A, i8 %B) {
+ %C = icmp eq i8 %A, %B ; <i1> [#uses=1]
+ %D = icmp ne i8 %B, %A ; <i1> [#uses=1]
+ %E = xor i1 %C, %D ; <i1> [#uses=1]
+ ret i1 %E
}
-uint %test15(uint %A) { ; ~(X-1) == -X
- %B = add uint %A, 4294967295
- %C = xor uint %B, 4294967295
- ret uint %C
+define i32 @test15(i32 %A) {
+ %B = add i32 %A, -1 ; <i32> [#uses=1]
+ %C = xor i32 %B, -1 ; <i32> [#uses=1]
+ ret i32 %C
}
-uint %test16(uint %A) { ; ~(X+c) == (-c-1)-X
- %B = add uint %A, 123 ; A generalization of the previous case
- %C = xor uint %B, 4294967295
- ret uint %C
+define i32 @test16(i32 %A) {
+ %B = add i32 %A, 123 ; <i32> [#uses=1]
+ %C = xor i32 %B, -1 ; <i32> [#uses=1]
+ ret i32 %C
}
-uint %test17(uint %A) { ; ~(c-X) == X-(c-1) == X+(-c+1)
- %B = sub uint 123, %A
- %C = xor uint %B, 4294967295
- ret uint %C
+define i32 @test17(i32 %A) {
+ %B = sub i32 123, %A ; <i32> [#uses=1]
+ %C = xor i32 %B, -1 ; <i32> [#uses=1]
+ ret i32 %C
}
-uint %test18(uint %A) { ; C - ~X == X + (1+C)
- %B = xor uint %A, 4294967295; -~X == 0 - ~X == X+1
- %C = sub uint 123, %B
- ret uint %C
+define i32 @test18(i32 %A) {
+ %B = xor i32 %A, -1 ; <i32> [#uses=1]
+ %C = sub i32 123, %B ; <i32> [#uses=1]
+ ret i32 %C
}
-uint %test19(uint %A, uint %B) {
- %C = xor uint %A, %B
- %D = xor uint %C, %A ; A terms cancel, D = B
- ret uint %D
+define i32 @test19(i32 %A, i32 %B) {
+ %C = xor i32 %A, %B ; <i32> [#uses=1]
+ %D = xor i32 %C, %A ; <i32> [#uses=1]
+ ret i32 %D
}
-void %test20(uint %A, uint %B) { ; The "swap idiom"
- %tmp.2 = xor uint %B, %A
- %tmp.5 = xor uint %tmp.2, %B
- %tmp.8 = xor uint %tmp.5, %tmp.2
- store uint %tmp.8, uint* %G1 ; tmp.8 = B
- store uint %tmp.5, uint* %G2 ; tmp.5 = A
- ret void
+define void @test20(i32 %A, i32 %B) {
+ %tmp.2 = xor i32 %B, %A ; <i32> [#uses=2]
+ %tmp.5 = xor i32 %tmp.2, %B ; <i32> [#uses=2]
+ %tmp.8 = xor i32 %tmp.5, %tmp.2 ; <i32> [#uses=1]
+ store i32 %tmp.8, i32* @G1
+ store i32 %tmp.5, i32* @G2
+ ret void
}
-int %test21(bool %C, int %A, int %B) {
- %C2 = xor bool %C, true
- %D = select bool %C2, int %A, int %B
- ret int %D
+define i32 @test21(i1 %C, i32 %A, i32 %B) {
+ %C2 = xor i1 %C, true ; <i1> [#uses=1]
+ %D = select i1 %C2, i32 %A, i32 %B ; <i32> [#uses=1]
+ ret i32 %D
}
-int %test22(bool %X) {
- %Y = xor bool %X, true
- %Z = cast bool %Y to int
- %Q = xor int %Z, 1
- ret int %Q
+define i32 @test22(i1 %X) {
+ %Y = xor i1 %X, true ; <i1> [#uses=1]
+ %Z = zext i1 %Y to i32 ; <i32> [#uses=1]
+ %Q = xor i32 %Z, 1 ; <i32> [#uses=1]
+ ret i32 %Q
}
-bool %test23(int %a, int %b) {
- %tmp.2 = xor int %b, %a
- %tmp.4 = seteq int %tmp.2, %a
- ret bool %tmp.4
+define i1 @test23(i32 %a, i32 %b) {
+ %tmp.2 = xor i32 %b, %a ; <i32> [#uses=1]
+ %tmp.4 = icmp eq i32 %tmp.2, %a ; <i1> [#uses=1]
+ ret i1 %tmp.4
}
-bool %test24(int %c, int %d) {
- %tmp.2 = xor int %d, %c
- %tmp.4 = setne int %tmp.2, %c
- ret bool %tmp.4
+define i1 @test24(i32 %c, i32 %d) {
+ %tmp.2 = xor i32 %d, %c ; <i32> [#uses=1]
+ %tmp.4 = icmp ne i32 %tmp.2, %c ; <i1> [#uses=1]
+ ret i1 %tmp.4
}
-int %test25(int %g, int %h) {
- %h2 = xor int %h, -1
- %tmp2 = and int %h2, %g
- %tmp4 = xor int %tmp2, %g ; (h2&g)^g -> ~h2 & g -> h & g
- ret int %tmp4
+define i32 @test25(i32 %g, i32 %h) {
+ %h2 = xor i32 %h, -1 ; <i32> [#uses=1]
+ %tmp2 = and i32 %h2, %g ; <i32> [#uses=1]
+ %tmp4 = xor i32 %tmp2, %g ; <i32> [#uses=1]
+ ret i32 %tmp4
}
-int %test26(int %a, int %b) {
- %b2 = xor int %b, -1
- %tmp2 = xor int %a, %b2
- %tmp4 = and int %tmp2, %a ; (a^b2)&a -> ~b2 & a -> b & a
- ret int %tmp4
+define i32 @test26(i32 %a, i32 %b) {
+ %b2 = xor i32 %b, -1 ; <i32> [#uses=1]
+ %tmp2 = xor i32 %a, %b2 ; <i32> [#uses=1]
+ %tmp4 = and i32 %tmp2, %a ; <i32> [#uses=1]
+ ret i32 %tmp4
}
-
-int %test27(int %b, int %c, int %d) {
- %tmp2 = xor int %d, %b
- %tmp5 = xor int %d, %c
- %tmp = icmp eq int %tmp2, %tmp5
- %tmp6 = zext bool %tmp to int
- ret int %tmp6
+define i32 @test27(i32 %b, i32 %c, i32 %d) {
+ %tmp2 = xor i32 %d, %b ; <i32> [#uses=1]
+ %tmp5 = xor i32 %d, %c ; <i32> [#uses=1]
+ %tmp = icmp eq i32 %tmp2, %tmp5 ; <i1> [#uses=1]
+ %tmp6 = zext i1 %tmp to i32 ; <i32> [#uses=1]
+ ret i32 %tmp6
}
-int %test28(int %indvar) {
- %tmp7 = add int %indvar, -2147483647
- %tmp214 = xor int %tmp7, -2147483648
- ret int %tmp214
+define i32 @test28(i32 %indvar) {
+ %tmp7 = add i32 %indvar, -2147483647 ; <i32> [#uses=1]
+ %tmp214 = xor i32 %tmp7, -2147483648 ; <i32> [#uses=1]
+ ret i32 %tmp214
}
-
diff --git a/test/Transforms/InstCombine/zeroext-and-reduce.ll b/test/Transforms/InstCombine/zeroext-and-reduce.ll
index aac8c3bd7f..2b4950aec9 100644
--- a/test/Transforms/InstCombine/zeroext-and-reduce.ll
+++ b/test/Transforms/InstCombine/zeroext-and-reduce.ll
@@ -1,9 +1,10 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | \
; RUN: grep {and i32 %Y, 8}
-int %test1(ubyte %X) {
- %Y = cast ubyte %X to int
- %Z = and int %Y, 65544 ;; Prune this to and Y, 8
- ret int %Z
+define i32 @test1(i8 %X) {
+ %Y = zext i8 %X to i32 ; <i32> [#uses=1]
+ %Z = and i32 %Y, 65544 ; <i32> [#uses=1]
+ ret i32 %Z
}
+
diff --git a/test/Transforms/InstCombine/zext.ll b/test/Transforms/InstCombine/zext.ll
index cd1f1f827b..ceb8deb677 100644
--- a/test/Transforms/InstCombine/zext.ll
+++ b/test/Transforms/InstCombine/zext.ll
@@ -1,9 +1,10 @@
; Tests to make sure elimination of casts is working correctly
-; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | \
; RUN: notcast {} {%c1.*}
-long %test_sext_zext(short %A) {
- %c1 = zext short %A to uint
- %c2 = sext uint %c1 to long
- ret long %c2
+define i64 @test_sext_zext(i16 %A) {
+ %c1 = zext i16 %A to i32 ; <i32> [#uses=1]
+ %c2 = sext i32 %c1 to i64 ; <i64> [#uses=1]
+ ret i64 %c2
}
+