1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-27 05:53:07 +01:00
llvm-mirror/lib/Transforms/Scalar
Chris Lattner 7925cc72c0 Reimplement the parameter attributes support, phase #1. hilights:
1. There is now a "PAListPtr" class, which is a smart pointer around
   the underlying uniqued parameter attribute list object, and manages
   its refcount.  It is now impossible to mess up the refcount.
2. PAListPtr is now the main interface to the underlying object, and
   the underlying object is now completely opaque.
3. Implementation details like SmallVector and FoldingSet are now no
   longer part of the interface.
4. You can create a PAListPtr with an arbitrary sequence of
   ParamAttrsWithIndex's, no need to make a SmallVector of a specific 
   size (you can just use an array or scalar or vector if you wish).
5. All the client code that had to check for a null pointer before
   dereferencing the pointer is simplified to just access the 
   PAListPtr directly.
6. The interfaces for adding attrs to a list and removing them is a
   bit simpler.

Phase #2 will rename some stuff (e.g. PAListPtr) and do other less 
invasive changes.

llvm-svn: 48289
2008-03-12 17:45:29 +00:00
..
ADCE.cpp Remove attribution from file headers, per discussion on llvmdev. 2007-12-29 20:36:04 +00:00
BasicBlockPlacement.cpp Remove attribution from file headers, per discussion on llvmdev. 2007-12-29 20:36:04 +00:00
CodeGenPrepare.cpp fix http://llvm.org/bugs/show_bug.cgi?id=2097 2008-02-26 19:13:21 +00:00
CondPropagate.cpp Remove attribution from file headers, per discussion on llvmdev. 2007-12-29 20:36:04 +00:00
ConstantProp.cpp Remove attribution from file headers, per discussion on llvmdev. 2007-12-29 20:36:04 +00:00
DCE.cpp Remove attribution from file headers, per discussion on llvmdev. 2007-12-29 20:36:04 +00:00
DeadStoreElimination.cpp Be more precise when eliminating pointers bue to memcpy's. This allows more 2008-02-04 04:53:00 +00:00
GCSE.cpp Remove attribution from file headers, per discussion on llvmdev. 2007-12-29 20:36:04 +00:00
GVN.cpp Improve the return slot optimization to be both more aggressive (not limited to sret parameters), and 2008-03-12 07:37:44 +00:00
GVNPRE.cpp Make Transforms to be 4.3 warnings-clean 2008-02-20 11:26:25 +00:00
IndVarSimplify.cpp Remove attribution from file headers, per discussion on llvmdev. 2007-12-29 20:36:04 +00:00
InstructionCombining.cpp Reimplement the parameter attributes support, phase #1. hilights: 2008-03-12 17:45:29 +00:00
LICM.cpp Use empty() instead of comparing size() with zero. 2008-01-29 13:02:09 +00:00
LoopIndexSplit.cpp If loop header is also loop exiting block then OrigPN is incoming value for B loop header. 2008-02-14 23:18:47 +00:00
LoopRotation.cpp Fix PR2028 2008-02-15 01:24:49 +00:00
LoopStrengthReduce.cpp Use empty() instead of comparing size() with zero. 2008-01-29 13:02:09 +00:00
LoopUnroll.cpp Update the block cloner which fixes bugpoint on code using unwind_to (phew!) 2008-03-09 05:24:34 +00:00
LoopUnswitch.cpp Update the block cloner which fixes bugpoint on code using unwind_to (phew!) 2008-03-09 05:24:34 +00:00
Makefile remove attribution from lib Makefiles. 2007-12-29 20:09:26 +00:00
PredicateSimplifier.cpp De-tabify. 2008-02-26 10:53:30 +00:00
Reassociate.cpp simplify some code, BreakUpSubtract always returns nonnull now. 2008-02-18 02:18:25 +00:00
Reg2Mem.cpp Remove attribution from file headers, per discussion on llvmdev. 2007-12-29 20:36:04 +00:00
ScalarReplAggregates.cpp fix a bug Anders ran into where scalarrepl would crash when promoting 2008-02-29 07:12:06 +00:00
SCCP.cpp Add TODO reminder. 2008-03-11 17:32:05 +00:00
SimplifyCFG.cpp simplify code, no functionality change. 2008-02-14 07:39:01 +00:00
TailDuplication.cpp Remove attribution from file headers, per discussion on llvmdev. 2007-12-29 20:36:04 +00:00
TailRecursionElimination.cpp Become multiple return value aware. 2008-03-11 17:33:32 +00:00