llvm-6502/lib/CodeGen/SelectionDAG
Duncan Sands 69300a2f47 When passing a parameter using the 'byval' mechanism, inline code needs to be used
to perform the copy, which may be of lots of memory [*].  It would be good if the
fall-back code generated something reasonable, i.e. did the copy in a loop, rather
than vast numbers of loads and stores.  Add a note about this.  Currently target
specific code seems to always kick in so this is more of a theoretical issue rather
than a practical one now that X86 has been fixed.
[*] It's amazing how often people pass mega-byte long arrays by copy...


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118275 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-05 15:20:29 +00:00
..
CMakeLists.txt Removed a bunch of unnecessary target_link_libraries. 2010-09-28 22:39:14 +00:00
DAGCombiner.cpp Just return undef for invalid masks or elts, and since we're doing that, 2010-11-03 20:44:42 +00:00
FastISel.cpp Use frame index, if available for byval argument while lowering dbg_declare. Otherwise let getRegForValue() find register for this argument. 2010-09-14 20:29:31 +00:00
FunctionLoweringInfo.cpp Reapply r112623. Included additional check for unused byval argument. 2010-08-31 22:22:42 +00:00
InstrEmitter.cpp Revert r112461. It was failing on PPC... 2010-08-30 04:36:50 +00:00
InstrEmitter.h
LegalizeDAG.cpp Add a pre-dispatch SjLj EH hook on the unwind edge for targets to do any 2010-10-19 23:27:08 +00:00
LegalizeFloatTypes.cpp update a bunch of code to use the MachinePointerInfo version of getStore. 2010-09-21 18:41:36 +00:00
LegalizeIntegerTypes.cpp propagate MachinePointerInfo through various uses of the old 2010-09-21 17:04:51 +00:00
LegalizeTypes.cpp continue MachinePointerInfo'izing, eliminating use of one of the old 2010-09-21 16:36:31 +00:00
LegalizeTypes.h implement SplitVecOp_CONCAT_VECTORS, fixing the included testcase with SSE1. 2010-08-26 05:51:22 +00:00
LegalizeTypesGeneric.cpp update a bunch of code to use the MachinePointerInfo version of getStore. 2010-09-21 18:41:36 +00:00
LegalizeVectorOps.cpp
LegalizeVectorTypes.cpp Remove Synthesizable from the Type system; as MMX vector 2010-10-20 21:32:10 +00:00
Makefile
ScheduleDAGFast.cpp Make fast scheduler handle asm clobbers correctly. 2010-08-17 22:17:24 +00:00
ScheduleDAGList.cpp
ScheduleDAGRRList.cpp Two sets of changes. Sorry they are intermingled. 2010-11-03 00:45:17 +00:00
ScheduleDAGSDNodes.cpp Two sets of changes. Sorry they are intermingled. 2010-11-03 00:45:17 +00:00
ScheduleDAGSDNodes.h Teach if-converter to be more careful with predicating instructions that would 2010-09-10 01:29:16 +00:00
SDNodeDbgValue.h
SDNodeOrdering.h
SelectionDAG.cpp When passing a parameter using the 'byval' mechanism, inline code needs to be used 2010-11-05 15:20:29 +00:00
SelectionDAGBuilder.cpp Inside the calling convention logic LocVT is always a simple 2010-11-03 11:35:31 +00:00
SelectionDAGBuilder.h When isel is emitting instructions for an x86 target without CMOV, the CFG is 2010-09-30 19:44:31 +00:00
SelectionDAGISel.cpp Simplify uses of MVT and EVT. An MVT can be compared directly 2010-11-03 12:17:33 +00:00
SelectionDAGPrinter.cpp Eliminate unnecessary empty string literals. 2010-08-04 01:39:08 +00:00
TargetLowering.cpp Inline asm multiple alternative constraints development phase 2 - improved basic logic, added initial platform support. 2010-10-29 17:29:13 +00:00
TargetSelectionDAGInfo.cpp