llvm-6502/lib/CodeGen/SelectionDAG
Chris Lattner 3990b121cf This is a major cleanup of the instruction metadata interfaces that
I asked Devang to do back on Sep 27.  Instead of going through the
MetadataContext class with methods like getMD() and getMDs(), just
ask the instruction directly for its metadata with getMetadata()
and getAllMetadata().

This includes a variety of other fixes and improvements: previously
all Value*'s were bloated because the HasMetadata bit was thrown into
value, adding a 9th bit to a byte.  Now this is properly sunk down to
the Instruction class (the only place where it makes sense) and it
will be folded away somewhere soon.

This also fixes some confusion in getMDs and its clients about 
whether the returned list is indexed by the MDID or densely packed.
This is now returned sorted and densely packed and the comments make
this clear.

This introduces a number of fixme's which I'll follow up on.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92235 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-28 23:41:32 +00:00
..
CallingConvLower.cpp Add code to check at SelectionDAGISel::LowerArguments time to see if return values can be lowered to registers. Coming soon, code to perform sret-demotion if return values cannot be lowered to registers 2009-11-07 02:11:54 +00:00
CMakeLists.txt Rename SelectionDAGLowering to SelectionDAGBuilder, and rename 2009-11-23 18:04:58 +00:00
DAGCombiner.cpp Increase opportunities to optimize (brcond (srl (and c1), c2)). 2009-12-18 21:31:31 +00:00
FastISel.cpp This is a major cleanup of the instruction metadata interfaces that 2009-12-28 23:41:32 +00:00
FunctionLoweringInfo.cpp Move CopyCatchInfo into FunctionLoweringInfo.cpp too, for consistency. 2009-11-23 18:12:11 +00:00
FunctionLoweringInfo.h Move CopyCatchInfo into FunctionLoweringInfo.cpp too, for consistency. 2009-11-23 18:12:11 +00:00
InstrEmitter.cpp Target-independent support for TargetFlags on BlockAddress operands, 2009-11-20 23:18:13 +00:00
InstrEmitter.h Fix a typo in a comment. 2009-11-16 20:35:59 +00:00
LegalizeDAG.cpp Remove dead variable. 2009-12-28 01:47:48 +00:00
LegalizeFloatTypes.cpp Allow targets to specify the return type of libcalls that are generated for floating point comparisons, rather than hard-coding them as i32. 2009-12-28 02:40:33 +00:00
LegalizeIntegerTypes.cpp Remove dead variable. 2009-12-28 01:48:56 +00:00
LegalizeTypes.cpp Add more plumbing. This time in the LowerArguments and "get" functions which 2009-12-22 02:10:19 +00:00
LegalizeTypes.h Implement vector widening, splitting, and scalarizing for SIGN_EXTEND_INREG. 2009-12-11 21:31:27 +00:00
LegalizeTypesGeneric.cpp Remove dead variable. 2009-12-28 01:00:12 +00:00
LegalizeVectorOps.cpp Implement vector widening, splitting, and scalarizing for SIGN_EXTEND_INREG. 2009-12-11 21:31:27 +00:00
LegalizeVectorTypes.cpp Implement vector widening, splitting, and scalarizing for SIGN_EXTEND_INREG. 2009-12-11 21:31:27 +00:00
Makefile remove dead makefile flags. 2009-06-24 05:29:56 +00:00
ScheduleDAGFast.cpp Remove includes of Support/Compiler.h that are no longer needed after the 2009-10-25 06:57:41 +00:00
ScheduleDAGList.cpp Remove includes of Support/Compiler.h that are no longer needed after the 2009-10-25 06:57:41 +00:00
ScheduleDAGRRList.cpp Remove includes of Support/Compiler.h that are no longer needed after the 2009-10-25 06:57:41 +00:00
ScheduleDAGSDNodes.cpp Changes from review: 2009-12-18 23:32:53 +00:00
ScheduleDAGSDNodes.h Initial target-independent CodeGen support for BlockAddresses. 2009-10-30 01:27:03 +00:00
SDNodeOrdering.h Allow 0 as an order number. Don't assign an order to formal arguments. 2009-12-22 21:35:02 +00:00
SelectionDAG.cpp Add more plumbing. This time in the LowerArguments and "get" functions which 2009-12-22 02:10:19 +00:00
SelectionDAGBuilder.cpp This is a major cleanup of the instruction metadata interfaces that 2009-12-28 23:41:32 +00:00
SelectionDAGBuilder.h move an optimization for memcmp out of simplifylibcalls and into 2009-12-24 00:37:38 +00:00
SelectionDAGISel.cpp This is a major cleanup of the instruction metadata interfaces that 2009-12-28 23:41:32 +00:00
SelectionDAGPrinter.cpp Add edge source labels to SelectionDAG graphs, now that the graph printing 2009-12-01 19:20:00 +00:00
TargetLowering.cpp Allow targets to specify the return type of libcalls that are generated for floating point comparisons, rather than hard-coding them as i32. 2009-12-28 02:40:33 +00:00