llvm-6502/lib/CodeGen/SelectionDAG
Andrew Trick d1dace8aea Enable support for precise scheduling of the instruction selection
DAG. Disable using "-disable-sched-cycles".

For ARM, this enables a framework for modeling the cpu pipeline and
counting stalls. It also activates several heuristics to drive
scheduling based on the model. Scheduling is inherently imprecise at
this stage, and until spilling is improved it may defeat attempts to
schedule. However, this framework provides greater control over
tuning codegen.

Although the flag is not target-specific, it should have very little
affect on the default scheduler used by x86. The only two changes that
affect x86 are:
- scheduling a high-latency operation bumps the current cycle so independent
  operations can have their latency covered. i.e. two independent 4
  cycle operations can produce results in 4 cycles, not 8 cycles.
- Two operations with equal register pressure impact and no
  latency-based stalls on their uses will be prioritized by depth before height
  (height is irrelevant if no stalls occur in the schedule below this point).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123971 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-21 06:19:05 +00:00
..
CMakeLists.txt
DAGCombiner.cpp Rename TargetFrameInfo into TargetFrameLowering. Also, put couple of FIXMEs and fixes here and there. 2011-01-10 12:39:04 +00:00
FastISel.cpp If dbg_declare() or dbg_value() is not lowered by isel then emit DEBUG message instead of creating DBG_VALUE for undefined value in reg0. 2010-12-06 22:39:26 +00:00
FunctionLoweringInfo.cpp Rename TargetFrameInfo into TargetFrameLowering. Also, put couple of FIXMEs and fixes here and there. 2011-01-10 12:39:04 +00:00
InstrEmitter.cpp Simplify a bunch of isVirtualRegister() and isPhysicalRegister() logic. 2011-01-10 02:58:51 +00:00
InstrEmitter.h
LegalizeDAG.cpp Use only one API at a time. 2011-01-20 01:29:23 +00:00
LegalizeFloatTypes.cpp
LegalizeIntegerTypes.cpp Expand invalid return values for umulo and smulo. Handle these similarly 2011-01-20 08:54:28 +00:00
LegalizeTypes.cpp Move ExpandAtomic into the integer expansion routines - it's only used there. 2011-01-11 00:36:08 +00:00
LegalizeTypes.h My editor's indent went crazy. Fix. 2011-01-20 08:56:34 +00:00
LegalizeTypesGeneric.cpp
LegalizeVectorOps.cpp
LegalizeVectorTypes.cpp Change EXTRACT_SUBVECTOR to require a constant index. 2011-01-07 04:58:56 +00:00
Makefile
ScheduleDAGFast.cpp flags -> glue for selectiondag 2010-12-23 17:24:32 +00:00
ScheduleDAGList.cpp Various bits of framework needed for precise machine-level selection 2010-12-24 05:03:26 +00:00
ScheduleDAGRRList.cpp Enable support for precise scheduling of the instruction selection 2011-01-21 06:19:05 +00:00
ScheduleDAGSDNodes.cpp flags -> glue for selectiondag 2010-12-23 17:24:32 +00:00
ScheduleDAGSDNodes.h rename MVT::Flag to MVT::Glue. "Flag" is a terrible name for 2010-12-21 02:38:05 +00:00
SDNodeDbgValue.h
SDNodeOrdering.h
SelectionDAG.cpp Rename TargetFrameInfo into TargetFrameLowering. Also, put couple of FIXMEs and fixes here and there. 2011-01-10 12:39:04 +00:00
SelectionDAGBuilder.cpp Rename TargetFrameInfo into TargetFrameLowering. Also, put couple of FIXMEs and fixes here and there. 2011-01-10 12:39:04 +00:00
SelectionDAGBuilder.h Avoid zero extend bit test operands to pointer type if all the masks fit in 2011-01-06 01:02:44 +00:00
SelectionDAGISel.cpp reapply my fix for PR8961 with a tweak to properly handle 2011-01-16 02:27:38 +00:00
SelectionDAGPrinter.cpp flags -> glue for selectiondag 2010-12-23 17:24:32 +00:00
TargetLowering.cpp Fix an off-by-one error in ctpop combining. 2011-01-17 18:00:28 +00:00
TargetSelectionDAGInfo.cpp