llvm-6502/lib
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
..
Analysis constant fold nasty constant expressions formed by llvm-gcc, 2010-01-02 01:22:23 +00:00
Archive Prune #includes from llvm/Linker.h and llvm/System/Path.h, 2009-08-23 22:45:37 +00:00
AsmParser remove some fixme's 2009-12-30 06:00:36 +00:00
Bitcode Remove derelict serialization code. 2009-12-31 23:40:17 +00:00
CodeGen Teach codegen to handle: 2010-01-02 00:00:03 +00:00
CompilerDriver Make Path use StringRef instead of std::string where possible. 2009-12-17 21:02:39 +00:00
ExecutionEngine Remove dead store and simplify code. 2009-12-28 01:53:00 +00:00
Linker rename "elements" of metadata to "operands". "Elements" are 2009-12-31 01:22:29 +00:00
MC Pass StringRef by value. 2009-11-06 10:58:06 +00:00
Support Document the edit-distance algorithm used in StringRef, switch it over 2009-12-31 04:24:34 +00:00
System Alternative fix to make sure that the extern declarations used by 2009-12-23 19:12:50 +00:00
Target Teach codegen to lower llvm.powi to an efficient (but not optimal) 2010-01-01 03:32:16 +00:00
Transforms generalize the previous transformation to handle indexing into 2010-01-03 03:03:27 +00:00
VMCore fix refactoro 2009-12-31 08:23:09 +00:00
Makefile remove llvm-db: it is completely broken and if anyone wants to do a debugger, 2009-10-05 02:29:51 +00:00