llvm/test/CodeGen/Generic
Manman Ren 1a710fdde1 BranchProb: modify the definition of an edge in BranchProbabilityInfo to handle
the case of multiple edges from one block to another.

A simple example is a switch statement with multiple values to the same
destination. The definition of an edge is modified from a pair of blocks to
a pair of PredBlock and an index into the successors.

Also set the weight correctly when building SelectionDAG from LLVM IR,
especially when converting a Switch.
IntegersSubsetMapping is updated to calculate the weight for each cluster.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162572 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-24 18:14:27 +00:00
..
2002-04-14-UnexpectedUnsignedType.ll Convert more tests to avoid llvm-as. 2009-09-11 18:36:27 +00:00
2002-04-16-StackFrameSizeAlignment.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2003-05-27-phifcmpd.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2003-05-27-useboolinotherbb.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2003-05-27-usefsubasbool.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2003-05-28-ManyArgs.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2003-05-30-BadFoldGEP.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2003-05-30-BadPreselectPhi.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2003-07-06-BadIntCmp.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2003-07-07-BadLongConst.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2003-07-08-BadCastToBool.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2003-07-29-BadConstSbyte.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2004-05-09-LiveVarPartialRegister.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2005-01-18-SetUO-InfLoop.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2005-04-09-GlobalInPHI.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2005-10-18-ZeroSizeStackObject.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2005-10-21-longlonggtu.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2005-12-01-Crash.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2005-12-12-ExpandSextInreg.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2006-01-12-BadSetCCFold.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2006-01-18-InvalidBranchOpcodeAssert.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2006-02-12-InsertLibcall.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2006-03-01-dagcombineinfloop.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2006-04-26-SetCCAnd.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2006-04-28-Sign-extend-bool.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2006-05-06-GEP-Cast-Sink-Crash.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2006-06-12-LowerSwitchCrash.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2006-06-13-ComputeMaskedBitsCrash.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2006-06-28-SimplifySetCCCrash.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2006-07-03-schedulers.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2006-08-30-CoalescerCrash.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2006-09-02-LocalAllocCrash.ll Don't run RAFast in the optimizing regalloc pipeline. 2012-06-08 23:15:12 +00:00
2006-09-06-SwitchLowering.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2006-10-27-CondFolding.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2006-10-29-Crash.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2006-11-20-DAGCombineCrash.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2007-01-15-LoadSelectCycle.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2007-02-25-invoke.ll Update to the new EH scheme. 2011-08-25 23:48:37 +00:00
2007-04-08-MultipleFrameIndices.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2007-04-13-SwitchLowerBadPhi.ll don't have i386-specific tests in CodeGen/Generic, PR6601. 2010-03-14 18:51:18 +00:00
2007-04-17-lsr-crash.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2007-04-27-InlineAsm-X-Dest.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2007-04-27-LargeMemObject.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2007-04-30-LandingPadBranchFolding.ll Update to the new EH scheme. 2011-08-25 23:48:37 +00:00
2007-05-03-EHTypeInfo.ll Remove the -enable-sjlj-eh option, which doesn't do anything. 2010-05-02 15:36:26 +00:00
2007-05-15-InfiniteRecursion.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2007-12-17-InvokeAsm.ll Try to eliminate the use of the 'unwind' instruction. 2011-09-02 22:41:11 +00:00
2007-12-31-UnusedSelector.ll Remove all references to the old EH. 2012-01-31 02:09:07 +00:00
2008-01-25-dag-combine-mul.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2008-01-30-LoadCrash.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2008-02-04-Ctlz.ll Manually upgrade the test suite to specify the flag to cttz and ctlz. 2011-12-12 11:59:10 +00:00
2008-02-04-ExtractSubvector.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2008-02-20-MatchingMem.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2008-02-25-NegateZero.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2008-02-26-NegatableCrash.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2008-08-07-PtrToInt-SmallerInt.ll don't have i386-specific tests in CodeGen/Generic, PR6601. 2010-03-14 18:51:18 +00:00
2009-03-17-LSR-APInt.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2009-03-29-SoftFloatVectorExtract.ll Delete useless trailing semicolons. 2010-01-05 17:55:26 +00:00
2009-04-10-SinkCrash.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2009-04-28-i128-cmp-crash.ll APInt'fy TargetLowering::SimplifySetCC to fix PR5963. 2010-01-07 20:58:44 +00:00
2009-11-16-BadKillsCrash.ll Remove all references to the old EH. 2012-01-31 02:09:07 +00:00
2010-07-27-DAGCombineCrash.ll Fix a crash in the dag combiner caused by ConstantFoldBIT_CONVERTofBUILD_VECTOR calling itself 2010-07-27 18:02:18 +00:00
2010-11-04-BigByval.ll PR11004: Inline memcpy to avoid generating nested call sequence. Un-XFAIL 2011-06-09-TailCallByVal and 2010-11-04-BigByval 2011-09-26 06:13:20 +00:00
2010-ZeroSizedArg.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
2011-01-06-BigNumberCrash.ll Add a testcase for PR8582, which mysteriously fixed itself, in case the problem 2011-01-06 23:04:29 +00:00
2011-07-07-ScheduleDAGCrash.ll XFAIL this test on arm until the backend is fixed. 2011-09-01 18:40:03 +00:00
2012-06-08-APIntCrash.ll Fix test case to work on ARM. 2012-06-11 16:01:14 +00:00
2012-07-15-BuildVectorPromote.ll Fix a bug in the scalarization of BUILD_VECTOR. BUILD_VECTOR elements may be wider than the output element type. Make sure to trunc them if needed. 2012-07-15 20:39:08 +00:00
add-with-overflow-24.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
add-with-overflow-128.ll Fixes PR8823: add-with-overflow-128.ll 2010-12-23 03:15:51 +00:00
add-with-overflow.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
addr-label.ll Fix PR6673: updating the callback should not clear the map. 2010-03-22 23:15:57 +00:00
APIntLoadStore.ll Revert r158209, "test/CodeGen/Generic/APIntLoadStore.ll: Mark as XFAIL:ppc since r157911." 2012-06-21 13:43:06 +00:00
APIntParam.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
APIntSextParam.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
APIntZextParam.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
asm-large-immediate.ll There are a number of generic inline asm operand modifiers that 2012-06-26 13:49:27 +00:00
badarg6.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
badCallArgLRLLVM.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
badFoldGEP.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
BasicInstrs.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
bool-to-double.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
builtin-expect.ll Introduce "expect" intrinsic instructions. 2011-07-06 18:22:43 +00:00
call2-ret0.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
call-ret0.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
call-ret42.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
call-void.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
cast-fp.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
ConstantExprLowering.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
constindices.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
crash.ll revert my previous patches that introduced an additional parameter to the objectsize intrinsic. 2012-05-22 15:25:31 +00:00
dbg_value.ll Fix liveintervals handling of dbg_value instructions. 2010-03-16 21:51:27 +00:00
div-neg-power-2.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
donothing.ll Fix broken check lines. 2012-08-17 12:28:26 +00:00
edge-bundles-blockIDs.ll Don't run RAFast in the optimizing regalloc pipeline. 2012-06-08 23:15:12 +00:00
empty-load-store.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
exception-handling.ll LSR wants to split the landing pad's critical edge. Let it do it, but use the 2011-08-25 05:55:40 +00:00
externally_available.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
fastcall.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
fneg-fabs.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
fp_to_int.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
fp-to-int-invalid.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
fpowi-promote.ll make target independent. 2010-02-09 06:36:30 +00:00
fwdtwice.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
global-ret0.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
hello.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
i128-addsub.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
i128-arith.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
inline-asm-special-strings.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
intrinsics.ll Declare sin & cos as readonly so they match the code in SelectionDAGBuild 2009-11-03 02:19:31 +00:00
invalid-memcpy.ll rip out a ton of intrinsic modernization logic from AutoUpgrade.cpp, which is 2011-06-18 06:05:24 +00:00
isunord.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
lit.local.cfg Replace all instances of dg.exp file with lit.local.cfg, since all tests are run with LIT now and now Dejagnu. dg.exp is no longer needed. 2012-02-16 06:28:33 +00:00
llvm-ct-intrinsics.ll Manually upgrade the test suite to specify the flag to cttz and ctlz. 2011-12-12 11:59:10 +00:00
MachineBranchProb.ll BranchProb: modify the definition of an edge in BranchProbabilityInfo to handle 2012-08-24 18:14:27 +00:00
Makefile Remove obsolete -f flags. 2009-08-25 15:38:29 +00:00
multiple-return-values-cross-block-with-invoke.ll Update to the new EH scheme. 2011-08-25 23:48:37 +00:00
negintconst.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
nested-select.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
overflow.ll add a general coverage test for overflow intrinsics. 2010-12-19 20:01:13 +00:00
pr2625.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
pr3288.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
pr12507.ll Don't try to zExt just to check if an integer constant is zero, it might 2012-04-10 00:16:22 +00:00
print-add.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
print-after.ll Convert the uses of '|&' to use '2>&1 |' instead, which works on old 2012-07-02 18:37:59 +00:00
print-arith-fp.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
print-arith-int.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
print-int.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
print-machineinstrs.ll Convert the uses of '|&' to use '2>&1 |' instead, which works on old 2012-07-02 18:37:59 +00:00
print-mul-exp.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
print-mul.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
print-shift.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
ret0.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
ret42.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
select-cc.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
select.ll Add VSELECT to LegalizeVectorTypes::ScalariseVectorResult. Previously it would crash if it encountered a 1 element VSELECT. Solution is slightly more complicated than just creating a SELET as we have to mask or sign extend the vector condition if it had different boolean contents from the scalar condition. Fixes <rdar://problem/11178095> 2012-04-03 22:57:55 +00:00
shift-int64.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
stacksave-restore.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
stop-after.ll Extend TargetPassConfig to allow running only a subset of the normal passes. 2012-07-02 19:48:45 +00:00
storetrunc-fp.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
switch-lower-feature.ll merge two tests, make target independent. 2010-02-09 06:19:20 +00:00
switch-lower.ll Fix PR5421 by APInt'izing switch lowering. 2009-11-07 07:50:34 +00:00
trap.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
undef-phi.ll Enforce stricter liveness rules for PHIs. 2012-06-25 18:18:27 +00:00
v-split.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
vector-casts.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
vector-constantexpr.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
vector-identity-shuffle.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
vector.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
zero-sized-array.ll Make codegen able to handle values of empty types. This is one way 2011-05-13 15:18:06 +00:00