llvm-6502/test/Transforms/ArgumentPromotion
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
..
2008-02-01-ReturnAttrs.ll Don't drop function/call return attributes like 'nounwind'. 2008-02-01 20:37:16 +00:00
2008-07-02-array-indexing.ll Restructure ArgumentPromotion a bit. Instead of just having a single boolean 2008-07-29 10:00:13 +00:00
aggregate-promote.ll Fix two more not-grep tests that were missing llvm-dis. 2008-06-09 22:36:45 +00:00
attrs.ll Fix arg promotion to propagate the correct attrs on the calls to 2008-01-17 01:17:03 +00:00
basictest.ll Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +00:00
byval-2.ll add a test to ensure that argpromote of one argument doesn't 2008-01-15 22:38:12 +00:00
byval.ll Teach argpromote to ruthlessly hack small byval structs when it can 2008-01-11 22:31:41 +00:00
chained.ll Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +00:00
control-flow2.ll Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +00:00
control-flow.ll Update old-style syntax in some "not grep" tests. 2008-05-01 23:50:07 +00:00
dg.exp sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00