llvm-6502/lib
Matthijs Kooijman 477f5a2f11 Restructure ArgumentPromotion a bit. Instead of just having a single boolean
that says "unconditional loads from this argument are safe", we now keep track
of the safety per set of indices from which loads happen. This prevents
ArgPromotion from promoting loads that aren't really valid. As an added effect,
this will now disregard the the type of the indices passed to a GEP, so
"load GEP %A, i32 1" and "load GEP %A, i64 1" will result in a single argument,
not two.

This fixes PR2598, for which a testcase has been added as well.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54159 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-29 10:00:13 +00:00
..
Analysis Fix a subtle bug when removing instructions from memdep. In very specific 2008-07-28 16:00:58 +00:00
Archive Fold the useful features of alist and alist_node into ilist, and 2008-07-28 21:51:04 +00:00
AsmParser Update the generated .cvs files. 2008-07-23 00:54:54 +00:00
Bitcode Enable first-class aggregates support. 2008-07-23 00:34:11 +00:00
CodeGen Fold the useful features of alist and alist_node into ilist, and 2008-07-28 21:51:04 +00:00
Debugger
ExecutionEngine Fix for PR2578. Do not split off a block whose size is less than FreeRangeHeader::getMinBlockSize(). Patch by Damien. 2008-07-29 07:38:32 +00:00
Linker
Support Fold the useful features of alist and alist_node into ilist, and 2008-07-28 21:51:04 +00:00
System Create temp. file in current path. 2008-07-24 00:35:38 +00:00
Target Revert 54147. 2008-07-29 01:02:18 +00:00
Transforms Restructure ArgumentPromotion a bit. Instead of just having a single boolean 2008-07-29 10:00:13 +00:00
VMCore Add a GetElementPtrInst::getIndexedType that accepts uint64_t's instead of just Value*'s. 2008-07-29 08:46:11 +00:00
Makefile