llvm-6502/include/llvm/CodeGen
Jakob Stoklund Olesen 33242fd3ed Add an experimental early if-conversion pass, off by default.
This pass performs if-conversion on SSA form machine code by
speculatively executing both sides of the branch and using a cmov
instruction to select the result. This can help lower the number of
branch mispredictions on architectures like x86 that don't have
predicable instructions.

The current implementation is very aggressive, and causes regressions on
mosts tests. It needs good heuristics that have yet to be implemented.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159694 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-04 00:09:54 +00:00
..
PBQP Matrix simplification in PBQP may push infinite costs onto register options. 2012-04-03 16:27:16 +00:00
Analysis.h Fix a long standing tail call optimization bug. When a libcall is emitted 2012-04-10 01:51:00 +00:00
AsmPrinter.h Emit relocations for DW_AT_location entries on systems which need it. This is 2012-06-22 01:25:12 +00:00
CalcSpillWeights.h
CallingConvLower.h Convert more static tables of registers used by calling convention to uint16_t to reduce space. 2012-03-11 07:57:25 +00:00
DFAPacketizer.h Revert r158679 - use case is unclear (and it increases the memory footprint). 2012-06-22 20:27:13 +00:00
EdgeBundles.h Give a small negative bias to giant edge bundles. 2012-05-21 03:11:23 +00:00
FastISel.h ARM: properly handle alignment for struct byval. 2012-06-01 19:33:18 +00:00
FunctionLoweringInfo.h Replace a DenseSet with SmallPtrSet. 2012-02-23 20:53:02 +00:00
GCMetadata.h Change comment into proper Doxygen member comment. 2012-06-22 16:00:48 +00:00
GCMetadataPrinter.h
GCs.h
GCStrategy.h Convert comments to proper Doxygen comments. 2012-06-09 00:01:45 +00:00
IntrinsicLowering.h
ISDOpcodes.h Typo. Patch by Cameron McInally <cameron.mcinally@nyu.edu>. 2012-06-19 22:28:18 +00:00
JITCodeEmitter.h
LatencyPriorityQueue.h misched preparation: rename core scheduler methods for consistency. 2012-03-07 23:00:49 +00:00
LexicalScopes.h Guard private fields that are unused in Release builds with #ifndef NDEBUG. 2012-06-16 21:48:13 +00:00
LinkAllAsmWriterComponents.h
LinkAllCodegenComponents.h Codegen pass definition cleanup. No functionality. 2012-02-08 21:23:13 +00:00
LiveInterval.h Simplify LiveInterval::print(). 2012-06-05 22:51:54 +00:00
LiveIntervalAnalysis.h Delete a boring statistic. 2012-06-22 20:40:15 +00:00
LiveRangeEdit.h Allow LiveRangeEdit to be created with a NULL parent. 2012-05-19 05:25:46 +00:00
LiveStackAnalysis.h
LiveVariables.h
MachineBasicBlock.h Fix a problem with the reverse bundle iterators. 2012-06-11 15:11:12 +00:00
MachineBlockFrequencyInfo.h
MachineBranchProbabilityInfo.h
MachineCodeEmitter.h
MachineCodeInfo.h
MachineConstantPool.h
MachineDominators.h Silence the new -Wempty-body warning. It appeared because the next statement 2012-02-14 22:17:14 +00:00
MachineFrameInfo.h Add an ensureMaxAlignment() function to MachineFrameInfo (analogous to 2012-06-19 22:59:12 +00:00
MachineFunction.h Teach CodeGen's version of computeMaskedBits to understand the range metadata. 2012-03-31 18:14:00 +00:00
MachineFunctionAnalysis.h
MachineFunctionPass.h
MachineInstr.h MachineInstr: Inline the fast path (non-bundle instruction) of hasProperty. 2012-03-17 17:03:45 +00:00
MachineInstrBuilder.h Add internal read flags to MachineInstrBuilder and hook them into the MachineOperand flag of the same name 2012-06-07 04:43:52 +00:00
MachineInstrBundle.h Remove 'static' from inline functions defined in header files. 2012-06-20 08:39:33 +00:00
MachineJumpTableInfo.h Tidy up. Whitespace. 2012-05-07 02:25:53 +00:00
MachineLoopInfo.h Add "extern template" declarations now that we use explicit instantiation. 2012-06-20 20:17:20 +00:00
MachineLoopRanges.h
MachineMemOperand.h Teach CodeGen's version of computeMaskedBits to understand the range metadata. 2012-03-31 18:14:00 +00:00
MachineModuleInfo.h Properly emit _fltused with FastISel. Refactor to share code with SDAG. 2012-02-22 19:06:13 +00:00
MachineModuleInfoImpls.h
MachineOperand.h Add internal read flags to MachineInstrBuilder and hook them into the MachineOperand flag of the same name 2012-06-07 04:43:52 +00:00
MachinePassRegistry.h Allow targets to select the default scheduler by name. 2012-04-19 01:34:10 +00:00
MachineRegisterInfo.h Add getUniqueVRegDef to MachineRegisterInfo. 2012-06-29 19:16:05 +00:00
MachineRelocation.h
MachineScheduler.h Consistently use AnalysisID types in TargetPassConfig. 2012-07-02 19:48:37 +00:00
MachineSSAUpdater.h
MachORelocation.h
Passes.h Add an experimental early if-conversion pass, off by default. 2012-07-04 00:09:54 +00:00
PseudoSourceValue.h
RegAllocPBQP.h
RegAllocRegistry.h
RegisterClassInfo.h Move RegisterClassInfo.h. 2012-06-06 20:29:31 +00:00
RegisterPressure.h misched: When querying RegisterPressureTracker, always save current and max pressure. 2012-06-11 23:42:23 +00:00
RegisterScavenging.h Track reserved registers separately from RegsAvailable. 2012-02-23 01:13:32 +00:00
ResourcePriorityQueue.h misched preparation: rename core scheduler methods for consistency. 2012-03-07 23:00:49 +00:00
RuntimeLibcalls.h
ScheduleDAG.h sched: Avoid trivially redundant DAG edges. Take the one with higher latency. 2012-06-13 02:39:00 +00:00
ScheduleDAGInstrs.h Remove unused private fields found by clang's new -Wunused-private-field. 2012-06-06 18:25:08 +00:00
ScheduleHazardRecognizer.h misched: Allow disabling scoreboard hazard checking for subtargets with a 2012-06-05 03:44:32 +00:00
SchedulerRegistry.h VLIW specific scheduler framework that utilizes deterministic finite automaton (DFA). 2012-02-01 22:13:57 +00:00
ScoreboardHazardRecognizer.h Revert r158679 - use case is unclear (and it increases the memory footprint). 2012-06-22 20:27:13 +00:00
SelectionDAG.h Register DAGUpdateListeners with SelectionDAG. 2012-04-20 22:08:46 +00:00
SelectionDAGISel.h Make ISelPosition a local variable. 2012-04-20 22:08:50 +00:00
SelectionDAGNodes.h Teach CodeGen's version of computeMaskedBits to understand the range metadata. 2012-03-31 18:14:00 +00:00
SlotIndexes.h Fix typos found by http://github.com/lyda/misspell-check 2012-06-02 10:20:22 +00:00
TargetLoweringObjectFileImpl.h Move the support for using .init_array from ARM to the generic 2012-06-19 00:48:28 +00:00
ValueTypes.h Remove superfluous 'inline' 2012-04-29 20:27:47 +00:00
ValueTypes.td