llvm-6502/lib/Transforms/IPO
Reid Spencer 43e0baece3 Incorporate feedback from Chris:
* Change signatures of OptimizeCall and ValidateCalledFunction so they are
  non-const, allowing the optimization object to be modified. This is in
  support of caching things used across multiple calls.
* Provide two functions for constructing and caching function types
* Modify the StrCatOptimization to cache Function objects for strlen and
  llvm.memcpy so it doesn't regenerate them on each call site. Make sure
  these are invalidated each time we start the pass.
* Handle both a GEP Instruction and a GEP ConstantExpr
* Add additional checks to make sure we really are dealing with an arary of
  sbyte and that all the element initializers are ConstantInt or
  ConstantExpr that reduce to ConstantInt.
* Make sure the GlobalVariable is constant!
* Don't use ConstantArray::getString as it can fail and it doesn't give us
  the right thing. We must check for null bytes in the middle of the array.
* Use llvm.memcpy instead of memcpy so we can factor alignment into it.
* Don't use void* types in signatures, replace with sbyte* instead.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21555 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-26 03:26:15 +00:00
..
ArgumentPromotion.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
ConstantMerge.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
DeadArgumentElimination.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
DeadTypeElimination.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
ExtractFunction.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
FunctionResolution.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
GlobalDCE.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
GlobalOpt.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
Inliner.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
Inliner.h Remove trailing whitespace 2005-04-21 23:48:37 +00:00
InlineSimple.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
Internalize.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
IPConstantPropagation.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
LoopExtractor.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
LowerSetJmp.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
Makefile Change Library Names Not To Conflict With Others When Installed 2004-10-27 23:18:45 +00:00
PruneEH.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
RaiseAllocations.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
SimplifyLibCalls.cpp Incorporate feedback from Chris: 2005-04-26 03:26:15 +00:00
StripSymbols.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00