llvm-6502/lib/CodeGen/SelectionDAG
Stepan Dyatkovskiy 661afe75e8 Issue description:
SchedulerDAGInstrs::buildSchedGraph ignores dependencies between FixedStack
objects and byval parameters. So loading byval parameters from stack may be
inserted *before* it will be stored, since these operations are treated as
independent.

Fix:
Currently ARMTargetLowering::LowerFormalArguments saves byval registers with
FixedStack MachinePointerInfo. To fix the problem we need to store byval
registers with MachinePointerInfo referenced to first the "byval" parameter.

Also commit adds two new fields to the InputArg structure: Function's argument
index and InputArg's part offset in bytes relative to the start position of
Function's argument. E.g.: If function's argument is 128 bit width and it was
splitted onto 32 bit regs, then we got 4 InputArg structs with same arg index,
but different offset values. 



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165616 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-10 11:37:36 +00:00
..
CMakeLists.txt llvm/lib: [CMake] Add explicit dependency to intrinsics_gen. 2012-06-24 13:32:01 +00:00
DAGCombiner.cpp Refactor the AddrMode class out of TLI to its own header file. 2012-10-08 23:06:34 +00:00
FastISel.cpp Move TargetData to DataLayout. 2012-10-08 16:38:25 +00:00
FunctionLoweringInfo.cpp Move TargetData to DataLayout. 2012-10-08 16:38:25 +00:00
InstrEmitter.cpp Move TargetData to DataLayout. 2012-10-08 16:38:25 +00:00
InstrEmitter.h Allow trailing physreg RegisterSDNode operands on non-variadic instructions. 2012-07-04 23:53:23 +00:00
LegalizeDAG.cpp Move TargetData to DataLayout. 2012-10-08 16:38:25 +00:00
LegalizeFloatTypes.cpp Convert assert(0) to llvm_unreachable 2012-02-05 08:31:47 +00:00
LegalizeIntegerTypes.cpp Fix PR13991: legalizing an overflowing multiplication operation is harder than 2012-10-02 15:03:49 +00:00
LegalizeTypes.cpp Move TargetData to DataLayout. 2012-10-08 16:38:25 +00:00
LegalizeTypes.h Add support for FMA to WidenVectorResult. 2012-08-30 07:13:41 +00:00
LegalizeTypesGeneric.cpp Move TargetData to DataLayout. 2012-10-08 16:38:25 +00:00
LegalizeVectorOps.cpp Fix a typo. 2012-09-02 12:21:50 +00:00
LegalizeVectorTypes.cpp Move TargetData to DataLayout. 2012-10-08 16:38:25 +00:00
LLVMBuild.txt LLVMBuild: Remove trailing newline, which irked me. 2011-12-12 19:48:00 +00:00
Makefile
ResourcePriorityQueue.cpp I'm introducing a new machine model to simultaneously allow simple 2012-07-07 04:00:00 +00:00
ScheduleDAGFast.cpp Move TargetData to DataLayout. 2012-10-08 16:38:25 +00:00
ScheduleDAGRRList.cpp Move TargetData to DataLayout. 2012-10-08 16:38:25 +00:00
ScheduleDAGSDNodes.cpp Release build: guard dump functions with 2012-09-11 22:23:19 +00:00
ScheduleDAGSDNodes.h misched: remove forceUnitLatencies. Defaults are handled by the default SchedModel 2012-10-08 18:53:57 +00:00
ScheduleDAGVLIW.cpp Move TargetData to DataLayout. 2012-10-08 16:38:25 +00:00
SDNodeDbgValue.h Do not lose debug info of an inlined function argument even if the argument is only used through GEPs. 2011-02-18 22:43:42 +00:00
SDNodeOrdering.h Mark unimplemented copy constructors and copy assignment operators as LLVM_DELETED_FUNCTION. 2012-09-18 02:01:41 +00:00
SelectionDAG.cpp Create enums for the different attributes. 2012-10-09 07:45:08 +00:00
SelectionDAGBuilder.cpp Issue description: 2012-10-10 11:37:36 +00:00
SelectionDAGBuilder.h Move TargetData to DataLayout. 2012-10-08 16:38:25 +00:00
SelectionDAGDumper.cpp Fix PR11985 2012-09-12 21:43:09 +00:00
SelectionDAGISel.cpp Fix bad comment. No functional change. 2012-09-16 16:48:25 +00:00
SelectionDAGPrinter.cpp Constify SDNodeIterator an stop its only non-const user being cast stripped 2012-09-05 22:03:34 +00:00
TargetLowering.cpp Add in the first step of the multiple pointer support. This adds in support to the data layout for specifying a per address space pointer size. 2012-10-09 16:06:12 +00:00
TargetSelectionDAGInfo.cpp Move TargetData to DataLayout. 2012-10-08 16:38:25 +00:00