llvm/lib/Transforms/IPO
Nick Lewycky 3ba974a1c5 When removing a function from the function set and adding it to deferred, we
could end up removing a different function than we intended because it was
functionally equivalent, then end up with a comparison of a function against
itself in the next round of comparisons (the one in the function set and the
one on the deferred list). To fix this, I introduce a choice in the form of
comparison for ComparableFunctions, either normal or "pointer only" used to
find exact Function*'s in lookups.

Also add some debugging statements.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125180 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-09 06:32:02 +00:00
..
ArgumentPromotion.cpp fix PR8932, a case where arg promotion could infinitely promote. 2011-01-16 08:09:24 +00:00
CMakeLists.txt remove the partial specialization pass. It is unmaintained and has bugs. 2011-01-16 00:27:10 +00:00
ConstantMerge.cpp Don't merge two constants if we care about the address of both. 2011-01-16 17:05:09 +00:00
DeadArgumentElimination.cpp Teach DAE to look for functions whose arguments are unused, and change all callers to pass in an undefvalue instead. 2011-01-16 21:25:33 +00:00
DeadTypeElimination.cpp Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which 2010-10-19 17:21:58 +00:00
ExtractGV.cpp Fix llvm-extract so that it changes the linkage of all GlobalValues to 2010-09-23 17:25:06 +00:00
FunctionAttrs.cpp Add helper functions for computing the Location of load, store, 2010-11-11 21:50:19 +00:00
GlobalDCE.cpp Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which 2010-10-19 17:21:58 +00:00
GlobalOpt.cpp Add unnamed_addr when we can show that address of a global is not used. 2011-01-19 16:32:21 +00:00
InlineAlways.cpp Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which 2010-10-19 17:21:58 +00:00
Inliner.cpp Improve the accuracy of the inlining heuristic looking for the 2011-01-04 19:01:54 +00:00
InlineSimple.cpp Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which 2010-10-19 17:21:58 +00:00
Internalize.cpp Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which 2010-10-19 17:21:58 +00:00
IPConstantPropagation.cpp Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which 2010-10-19 17:21:58 +00:00
IPO.cpp remove the partial specialization pass. It is unmaintained and has bugs. 2011-01-16 00:27:10 +00:00
LoopExtractor.cpp Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which 2010-10-19 17:21:58 +00:00
LowerSetJmp.cpp Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which 2010-10-19 17:21:58 +00:00
Makefile make -fno-rtti the default unless a directory builds with REQUIRES_RTTI. 2010-01-24 20:43:08 +00:00
MergeFunctions.cpp When removing a function from the function set and adding it to deferred, we 2011-02-09 06:32:02 +00:00
PartialInlining.cpp Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which 2010-10-19 17:21:58 +00:00
PruneEH.cpp Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which 2010-10-19 17:21:58 +00:00
StripDeadPrototypes.cpp Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which 2010-10-19 17:21:58 +00:00
StripSymbols.cpp Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which 2010-10-19 17:21:58 +00:00
StructRetPromotion.cpp Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which 2010-10-19 17:21:58 +00:00