llvm-6502/lib/Transforms/IPO
Nick Lewycky 287de607dc Add an "are types equivalent" operation that ignores the types that a pointer
points to while analyzing all other fields.

Use FoldingSetNodeID to produce a good hash. This dramatically decreases run
times.

Emit thunks. This means that it can look at all functions regardless of what
the linkage is or if the address is taken, but unfortunately some small
functions can be even shorter than the thunk because our backend doesn't yet
realize it can just turn these into jumps. This means that this pass will
pessimize code on average.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73222 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-12 08:04:51 +00:00
..
ArgumentPromotion.cpp Implement and use new method Function::hasAddressTaken(). 2009-06-10 08:41:11 +00:00
CMakeLists.txt
ConstantMerge.cpp
DeadArgumentElimination.cpp Implement and use new method Function::hasAddressTaken(). 2009-06-10 08:41:11 +00:00
DeadTypeElimination.cpp
ExtractGV.cpp
FunctionAttrs.cpp Fix PR3754: don't mark functions that wrap MallocInst with 2009-05-06 08:42:00 +00:00
GlobalDCE.cpp Remove an unused function SafeToDestroyConstant(). Rename an almost 2009-06-09 21:37:11 +00:00
GlobalOpt.cpp Implement and use new method Function::hasAddressTaken(). 2009-06-10 08:41:11 +00:00
IndMemRemoval.cpp
InlineAlways.cpp
Inliner.cpp available_externall linkage is not local, this was confusing the codegenerator, 2009-05-23 14:06:57 +00:00
InlineSimple.cpp
Internalize.cpp
IPConstantPropagation.cpp Use cast<> instead of dyn_cast<> for things that are known to be 2009-06-06 17:49:35 +00:00
IPO.cpp
LoopExtractor.cpp
LowerSetJmp.cpp
Makefile
MergeFunctions.cpp Add an "are types equivalent" operation that ignores the types that a pointer 2009-06-12 08:04:51 +00:00
PartialSpecialization.cpp
PruneEH.cpp
RaiseAllocations.cpp
StripDeadPrototypes.cpp
StripSymbols.cpp The second argument to RecursivelyDeleteTriviallyDeadInstructions has 2009-05-02 20:22:10 +00:00
StructRetPromotion.cpp