llvm-6502/test/Transforms
Chris Lattner 56ba7a74b9 generalize the previous transformation to handle indexing into
arrays of structs and other arrays, so long as all the subsequent
indexes are constants.  This triggers frequently for stuff like:

@divisions = internal constant [29 x [2 x i32]] [[2 x i32] zeroinitializer, [2 x i32] [i32 0, i32 1], [2 x i32] [i32 0, i32 2], [2 x i32] [i32 0, i32 1], [2 x i32] zeroinitializer, [2 x i32] [i32 0, i32 1], [2 x i32] [i32 0, i32 1], [2 x i32] [i32 0, i32 2], [2 x i32] [i32 0, i32 2], [2 x i32] zeroinitializer, [2 x i32] zeroinitializer, [2 x i32] zeroinitializer, [2 x i32] [i32 0, i32 2], [2 x i32] [i32 0, i32 1], [2 x i32] zeroinitializer, [2 x i32] [i32 1, i32 0], [2 x i32] [i32 1, i32 1], [2 x i32] [i32 1, i32 1], [2 x i32] [i32 1, i32 2], [2 x i32] [i32 1, i32 1], [2 x i32] [i32 1, i32 0], [2 x i32] [i32 1, i32 2], [2 x i32] [i32 1, i32 2], [2 x i32] [i32 1, i32 0], [2 x i32] [i32 1, i32 0], [2 x i32] [i32 1, i32 0], [2 x i32] [i32 1, i32 1], [2 x i32] [i32 1, i32 2], [2 x i32] [i32 1, i32 2]], align 32 ; <[29 x [2 x i32]]*> [#uses=50]

	  %623 = getelementptr inbounds [29 x [2 x i32]]* @divisions, i64 0, i64 %619, i64 0 ; <i32*> [#uses=1]
	   %684 = icmp eq i32 %683, 999 

also for the "my_defs" table in 'gs', etc.




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92444 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-03 03:03:27 +00:00
..
ABCD Revert my previous patch to ABCD and fix things the right way. There are two problems addressed 2009-11-09 00:44:44 +00:00
ADCE
ArgumentPromotion Make opt default to not adding a target data string and update tests that depend on target data to supply it within the test 2009-11-03 15:29:06 +00:00
BlockPlacement
BranchFolding
CodeExtractor
CodeGenPrepare
ConstantMerge
ConstProp Fix PR5551 by not ignoring the top level constantexpr when 2009-12-04 06:29:29 +00:00
DeadArgElim
DeadStoreElimination Fix some CHECK lines which were ignored by accident. 2009-12-12 09:25:50 +00:00
FunctionAttrs
GlobalDCE
GlobalOpt fix two bogus tests that the asmparser now rejects. 2009-12-30 05:54:51 +00:00
GVN fix an overly conservative caching issue that caused memdep to 2009-12-19 21:29:22 +00:00
IndVarSimplify Make getUniqueExitBlocks's precondition assert more precise, to 2009-12-11 20:05:23 +00:00
Inline implement a nice little efficiency hack in the inliner. Since we're now 2009-11-12 07:56:08 +00:00
InstCombine generalize the previous transformation to handle indexing into 2010-01-03 03:03:27 +00:00
Internalize
IPConstantProp Fix a use of an invalidated iterator in the case where there are multiple 2009-11-23 16:13:39 +00:00
JumpThreading fix PR5698 2009-12-06 17:17:23 +00:00
LCSSA Trim a bunch of unneeded code from this testcase. 2009-11-10 01:33:08 +00:00
LICM Add radar fixed in comment. 2009-12-14 19:07:25 +00:00
LoopDeletion Make LoopDeletion check the maximum backedge taken count, rather than the 2009-10-23 17:10:01 +00:00
LoopIndexSplit
LoopRotate fix PR5837 by having SSAUpdate reuse phi nodes for the 2009-12-21 07:16:11 +00:00
LoopSimplify Make Loop::getLoopLatch() work on loops which don't have preheaders, as 2009-11-20 20:51:18 +00:00
LoopStrengthReduce Generalize OptimizeLoopTermCond to optimize more loop terminating icmp to use postinc iv. 2009-11-17 18:10:11 +00:00
LoopUnroll Teach getSmallConstantTripMultiple about Shl operators. 2009-11-20 01:09:34 +00:00
LoopUnswitch Reverting patch in revision 89758, initial attempt at fixing PR5373 has proven to be bogus. 2009-11-25 05:38:41 +00:00
LowerInvoke
LowerSetJmp
LowerSwitch
Mem2Reg fix a bug exposed by moving SRoA earlier which caused a crash building kc++ 2009-11-02 04:37:17 +00:00
MemCpyOpt Make opt default to not adding a target data string and update tests that depend on target data to supply it within the test 2009-11-03 15:29:06 +00:00
MergeFunc
PruneEH
Reassociate When factoring multiply expressions across adds, factor both 2010-01-01 01:13:15 +00:00
ScalarRepl Generalize SROA to allow the first index of a GEP to be non-zero. Add a 2009-12-22 06:57:14 +00:00
SCCP fix a crash in SCCP handling extractvalue of an array, pointed out and 2009-11-10 22:02:09 +00:00
SimplifyCFG fix two bogus tests that the asmparser now rejects. 2009-12-30 05:54:51 +00:00
SimplifyLibCalls move an optimization for memcmp out of simplifylibcalls and into 2009-12-24 00:37:38 +00:00
SRETPromotion
SSI
StripSymbols
TailCallElim Improve tail call elimination to handle the switch statement. 2009-11-07 21:10:15 +00:00
TailDup