llvm-6502/lib/CodeGen/SelectionDAG
Chris Lattner 04b091a782 handle equality memcmp of 8 bytes on x86-64 with two unaligned loads and a
compare.  On other targets we end up with a call to memcmp because we don't
want 16 individual byte loads.  We should be able to use movups as well, but
we're failing to select the generated icmp.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92107 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-24 01:07:17 +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 Make TargetSelectInstruction protected and called from FastISel.cpp 2009-12-05 01:27:58 +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 move a few more symbols to .rodata 2009-12-23 17:48:10 +00:00
LegalizeFloatTypes.cpp Add contexts to some of the MVT APIs. No functionality change yet, just the infrastructure work needed to get the contexts to where they need to be first. 2009-08-12 00:36:31 +00:00
LegalizeIntegerTypes.cpp Truncate the arguments of llvm.frameaddress / llvm.returnaddress intrinsics from i32 to platform's largest native type 2009-12-07 02:28:26 +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 -Revert parts of 84326 and 84411. Distinquishing between fixed and non-fixed 2009-10-18 18:16:27 +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 handle equality memcmp of 8 bytes on x86-64 with two unaligned loads and a 2009-12-24 01:07:17 +00:00
SelectionDAGBuilder.h move an optimization for memcmp out of simplifylibcalls and into 2009-12-24 00:37:38 +00:00
SelectionDAGISel.cpp Use more sensible type for flags in asms. PR 5570. 2009-12-23 07:32:51 +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 Implement vector widening, splitting, and scalarizing for SIGN_EXTEND_INREG. 2009-12-11 21:31:27 +00:00