llvm-6502/lib/CodeGen/SelectionDAG
Evan Cheng 092e5e7566 Currently, codegen may spent some time in SDISel passes even if an entire
function is successfully handled by fast-isel. That's because function
arguments are *always* handled by SDISel. Introduce FastLowerArguments to
allow each target to provide hook to handle formal argument lowering.

As a proof-of-concept, add ARMFastIsel::FastLowerArguments to handle
functions with 4 or fewer scalar integer (i8, i16, or i32) arguments. It
completely eliminates the need for SDISel for trivial functions.

rdar://13163905


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174855 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-11 01:27:15 +00:00
..
CMakeLists.txt
DAGCombiner.cpp DAGCombiner: Constant folding around pre-increment loads/stores 2013-02-08 21:35:47 +00:00
FastISel.cpp Currently, codegen may spent some time in SDISel passes even if an entire 2013-02-11 01:27:15 +00:00
FunctionLoweringInfo.cpp Revert 172027 and 174336. Remove diagnostics about over-aligned stack objects. 2013-02-08 20:35:15 +00:00
InstrEmitter.cpp
InstrEmitter.h
LegalizeDAG.cpp
LegalizeFloatTypes.cpp
LegalizeIntegerTypes.cpp
LegalizeTypes.cpp
LegalizeTypes.h
LegalizeTypesGeneric.cpp
LegalizeVectorOps.cpp
LegalizeVectorTypes.cpp
LLVMBuild.txt
Makefile
ResourcePriorityQueue.cpp
ScheduleDAGFast.cpp
ScheduleDAGRRList.cpp
ScheduleDAGSDNodes.cpp
ScheduleDAGSDNodes.h
ScheduleDAGVLIW.cpp
SDNodeDbgValue.h
SDNodeOrdering.h
SelectionDAG.cpp SelectionDAG: Teach FoldConstantArithmetic how to deal with vectors. 2013-02-04 15:19:18 +00:00
SelectionDAGBuilder.cpp Remove unnecessary code. 2013-02-11 01:18:26 +00:00
SelectionDAGBuilder.h
SelectionDAGDumper.cpp
SelectionDAGISel.cpp Currently, codegen may spent some time in SDISel passes even if an entire 2013-02-11 01:27:15 +00:00
SelectionDAGPrinter.cpp
TargetLowering.cpp
TargetSelectionDAGInfo.cpp