llvm-6502/include/llvm/CodeGen
Nate Begeman f15485a8d0 SelectionDAGISel can now natively handle Switch instructions, in the same
manner that the LowerSwitch LLVM to LLVM pass does: emitting a binary
search tree of basic blocks.  The new approach has several advantages:
it is faster, it generates significantly smaller code in many cases, and
it paves the way for implementing dense switch tables as a jump table by
handling switches directly in the instruction selector.

This functionality is currently only enabled on x86, but should be safe for
every target.  In anticipation of making it the default, the cfg is now
properly updated in the x86, ppc, and sparc select lowering code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27156 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-27 01:32:24 +00:00
..
AsmPrinter.h Add a PrintAsmMemoryOperand method for printing addresses 2006-02-24 20:21:12 +00:00
DwarfWriter.h Make sure types are allocated in the scope of their use. 2006-03-23 23:02:34 +00:00
ELFWriter.h Make the LLVM headers "-ansi -pedantic -Wno-long-long" clean. 2006-02-22 16:23:43 +00:00
InstrScheduling.h Remove trailing whitespace 2005-04-21 20:39:54 +00:00
IntrinsicLowering.h remove ShouldEmitDebugFunctions, a hack to support llvm-db via the jit 2006-03-10 22:49:05 +00:00
LiveInterval.h Improve compatibility with VC2005, patch by Morten Ofstad! 2006-01-26 20:41:32 +00:00
LiveIntervalAnalysis.h Make the LLVM headers "-ansi -pedantic -Wno-long-long" clean. 2006-02-22 16:23:43 +00:00
LiveVariables.h add a comment that I should have written a long time ago 2006-01-04 07:29:33 +00:00
MachineBasicBlock.h Remove trailing whitespace 2005-04-21 20:39:54 +00:00
MachineCodeEmitter.h new is not a valid default anywhere, so make this pure virtual 2005-07-28 18:13:59 +00:00
MachineConstantPool.h instead of keeping track of Constant/alignment pairs, actually compute the 2006-02-09 04:44:32 +00:00
MachineDebugInfo.h How to be dumb on $5/day. Need a tri-state to track valid debug descriptors. 2006-03-26 22:45:20 +00:00
MachineFrameInfo.h Change a comment slightly 2005-11-06 17:40:18 +00:00
MachineFunction.h Move MachineDebugInfo to module level location. 2006-01-04 13:44:43 +00:00
MachineFunctionPass.h Remove trailing whitespace 2005-04-21 20:39:54 +00:00
MachineInstr.h Added an offset field to ConstantPoolSDNode. 2006-02-25 09:54:52 +00:00
MachineInstrBuilder.h Added an offset field to ConstantPoolSDNode. 2006-02-25 09:54:52 +00:00
MachineLocation.h Support for locating of debug items in frames. 2006-03-23 18:01:12 +00:00
MachineRelocation.h Eliminate tabs and trailing spaces. 2005-07-27 05:53:44 +00:00
Passes.h Remove a prototype 2005-10-24 04:13:21 +00:00
SchedGraphCommon.h Convert tabs to spaces 2005-04-22 03:46:24 +00:00
ScheduleDAG.h Move simple-selector-specific types to the simple selector. 2006-03-10 07:51:18 +00:00
SelectionDAG.h Added an offset field to ConstantPoolSDNode. 2006-02-25 09:54:52 +00:00
SelectionDAGISel.h SelectionDAGISel can now natively handle Switch instructions, in the same 2006-03-27 01:32:24 +00:00
SelectionDAGNodes.h Add ISD::isBuildVectorAllZeros predicate 2006-03-26 09:50:58 +00:00
SSARegMap.h add an assertion 2005-01-05 16:27:34 +00:00
ValueSet.h Remove trailing whitespace 2005-04-21 20:39:54 +00:00
ValueTypes.h Add another helper 2006-03-20 00:20:30 +00:00
ValueTypes.td Split this out of Target.td 2006-03-03 01:54:11 +00:00