llvm-6502/test/Transforms
Duncan Sands f413cdfb0b When simplifying a call to a bitcast function, tighten up
the conditions for performing the transform when only the
function declaration is available: no longer allow turning
i32 into i64 for example.  Only allow changing between
pointer types, and between pointer types and integers of
the same size.  For return values ptr -> intptr was already
allowed; I added ptr -> ptr and intptr -> ptr while there.
As shown by a recent objc testcase, changing the way
parameters/return values are passed can be fatal when calling
code written in assembler that directly manipulates call
arguments and return values unless the transform has no
impact on the way they are passed at the codegen level.
While it is possible to imagine an ABI that treats integers
of pointer size differently to pointers, I don't think LLVM
supports any so the transform should now be safe while still
being useful.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51834 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-01 07:38:42 +00:00
..
ADCE Replace the old ADCE implementation with a new one that more simply solves 2008-05-29 08:45:13 +00:00
ArgumentPromotion sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
BlockPlacement sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
BranchFolding Don't branch fold inline asm statements. 2007-10-19 21:09:55 +00:00
CodeExtractor sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
CondProp Remove llvm-upgrade and update test cases. 2008-03-01 09:15:35 +00:00
ConstantMerge sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
ConstProp sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
DeadArgElim sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
DeadStoreElimination sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
GCSE sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
GlobalDCE sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
GlobalOpt sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
GVN sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
GVNPRE sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
IndVarsSimplify Remove lingering references to .llx and .tr in the tests. 2008-05-23 21:15:35 +00:00
Inline Eliminate questionable syntax for stdin redirection. This probably also speeds things up a bit. 2008-05-20 22:07:21 +00:00
InstCombine When simplifying a call to a bitcast function, tighten up 2008-06-01 07:38:42 +00:00
Internalize sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
IPConstantProp sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
JumpThreading Fix a crash when threading a block that includes a MRV call result. 2008-05-05 20:21:22 +00:00
LCSSA sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
LICM Fix PR2346 by marking vaarg as volatile so that licm doesn't try to 2008-05-20 22:05:28 +00:00
LoopDeletion sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
LoopIndexSplit sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
LoopRotate sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
LoopSimplify sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
LoopStrengthReduce sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
LoopUnroll sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
LoopUnswitch sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
LowerInvoke sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
LowerSetJmp sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
LowerSwitch sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
Mem2Reg sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
MemCpyOpt sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
PredicateSimplifier sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
PruneEH sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
RaiseAllocations sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
Reassociate sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
ScalarRepl sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
SCCP Fix PR2358 by resolving calls with undef arguments to overdefined. 2008-05-24 03:59:33 +00:00
SimplifyCFG Restucture a part of the SimplifyCFG pass and include a testcase. 2008-05-23 09:09:41 +00:00
SimplifyLibCalls sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
SRETPromotion sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
StripSymbols sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
TailCallElim sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
TailDup sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00