llvm-6502/lib/CodeGen/SelectionDAG
Chris Lattner 0a9481f44f Enhance ComputeMaskedBits to know that aligned frameindexes
have their low bits set to zero.  This allows us to optimize
out explicit stack alignment code like in stack-align.ll:test4 when
it is redundant.

Doing this causes the code generator to start turning FI+cst into
FI|cst all over the place, which is general goodness (that is the
canonical form) except that various pieces of the code generator
don't handle OR aggressively.  Fix this by introducing a new
SelectionDAG::isBaseWithConstantOffset predicate, and using it
in places that are looking for ADD(X,CST).  The ARM backend in
particular was missing a lot of addressing mode folding opportunities
around OR.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125470 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-13 22:25:43 +00:00
..
CMakeLists.txt
DAGCombiner.cpp Revisit my fix for PR9028: the issue is that DAGCombine was 2011-02-13 19:09:16 +00:00
FastISel.cpp
FunctionLoweringInfo.cpp
InstrEmitter.cpp
InstrEmitter.h
LegalizeDAG.cpp Speculatively revert r124380. 2011-01-27 19:15:01 +00:00
LegalizeFloatTypes.cpp
LegalizeIntegerTypes.cpp Revisit my fix for PR9028: the issue is that DAGCombine was 2011-02-13 19:09:16 +00:00
LegalizeTypes.cpp
LegalizeTypes.h My editor's indent went crazy. Fix. 2011-01-20 08:56:34 +00:00
LegalizeTypesGeneric.cpp
LegalizeVectorOps.cpp
LegalizeVectorTypes.cpp [AVX] Support EXTRACT_SUBVECTOR on x86. This provides a default 2011-01-26 15:38:49 +00:00
Makefile
ScheduleDAGFast.cpp
ScheduleDAGList.cpp
ScheduleDAGRRList.cpp Introducing a new method of tracking register pressure. We can't 2011-02-04 03:18:17 +00:00
ScheduleDAGSDNodes.cpp Introducing a new method of tracking register pressure. We can't 2011-02-04 03:18:17 +00:00
ScheduleDAGSDNodes.h Introducing a new method of tracking register pressure. We can't 2011-02-04 03:18:17 +00:00
SDNodeDbgValue.h Provide an interface to transfer SDDbgValue from one SDNode to another. 2011-01-25 23:27:42 +00:00
SDNodeOrdering.h
SelectionDAG.cpp Enhance ComputeMaskedBits to know that aligned frameindexes 2011-02-13 22:25:43 +00:00
SelectionDAGBuilder.cpp Revisit my fix for PR9028: the issue is that DAGCombine was 2011-02-13 19:09:16 +00:00
SelectionDAGBuilder.h Keep track of incoming argument's location while emitting LiveIns. 2011-01-31 21:38:14 +00:00
SelectionDAGISel.cpp Keep track of incoming argument's location while emitting LiveIns. 2011-01-31 21:38:14 +00:00
SelectionDAGPrinter.cpp
TargetLowering.cpp Enhance ComputeMaskedBits to know that aligned frameindexes 2011-02-13 22:25:43 +00:00
TargetSelectionDAGInfo.cpp