llvm-6502/lib/Target/XCore
Richard Osborne ad4ffce35f [XCore] Support functions returning more than 4 words.
Summary:
If a function returns a large struct by value return the first 4 words
in registers and the rest on the stack in a location reserved by the
caller. This is needed to support the xC language which supports
functions returning an arbitrary number of return values.

Reviewers: robertlytton

Reviewed By: robertlytton

CC: llvm-commits

Differential Revision: http://llvm-reviews.chandlerc.com/D2889

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@202397 91177308-0d34-0410-b5e6-96231b3b80d8
2014-02-27 14:00:40 +00:00
..
Disassembler
InstPrinter
MCTargetDesc Remove support for not using .loc directives. 2014-02-05 18:00:21 +00:00
TargetInfo Prune redundant dependencies in LLVMBuild.txt. 2013-12-11 00:30:57 +00:00
CMakeLists.txt XCore target: Lower FRAME_TO_ARGS_OFFSET 2014-01-06 14:21:00 +00:00
LLVMBuild.txt Add proper dependencies to LLVMBuild.txt in llvm/lib. 2013-12-10 05:39:34 +00:00
Makefile
README.txt
XCore.h XCore target: Lower FRAME_TO_ARGS_OFFSET 2014-01-06 14:21:00 +00:00
XCore.td
XCoreAsmPrinter.cpp XCore target: Handle common linkage 2014-02-18 11:21:59 +00:00
XCoreCallingConv.td [XCore] Support functions returning more than 4 words. 2014-02-27 14:00:40 +00:00
XCoreFrameLowering.cpp XCore target: addMemOperand as necessary 2014-02-18 11:21:53 +00:00
XCoreFrameLowering.h XCore target: Make handling of large frames not dependent upon an FP. 2013-12-02 11:05:28 +00:00
XCoreFrameToArgsOffsetElim.cpp Remove dead code. 2014-01-06 18:14:34 +00:00
XCoreInstrFormats.td
XCoreInstrInfo.cpp XCore target: addMemOperand as necessary 2014-02-18 11:21:53 +00:00
XCoreInstrInfo.h XCore target: Refactor the loading of constants into a register 2014-01-06 14:20:37 +00:00
XCoreInstrInfo.td [XCore] Support functions returning more than 4 words. 2014-02-27 14:00:40 +00:00
XCoreISelDAGToDAG.cpp
XCoreISelLowering.cpp [XCore] Support functions returning more than 4 words. 2014-02-27 14:00:40 +00:00
XCoreISelLowering.h [XCore] Support functions returning more than 4 words. 2014-02-27 14:00:40 +00:00
XCoreLowerThreadLocal.cpp Fix known typos 2014-01-24 17:20:08 +00:00
XCoreMachineFunctionInfo.cpp XCore target: Fix llvm.eh.return and EH info register handling 2014-02-18 11:21:48 +00:00
XCoreMachineFunctionInfo.h [XCore] Support functions returning more than 4 words. 2014-02-27 14:00:40 +00:00
XCoreMCInstLower.cpp Move the llvm mangler to lib/IR. 2014-01-07 21:19:40 +00:00
XCoreMCInstLower.h
XCoreRegisterInfo.cpp XCore target: addMemOperand as necessary 2014-02-18 11:21:53 +00:00
XCoreRegisterInfo.h XCore target: Make handling of large frames not dependent upon an FP. 2013-12-02 11:05:28 +00:00
XCoreRegisterInfo.td
XCoreSelectionDAGInfo.cpp [XCore] Target optimized library function __memcpy_4() 2014-02-27 13:39:07 +00:00
XCoreSelectionDAGInfo.h [XCore] Target optimized library function __memcpy_4() 2014-02-27 13:39:07 +00:00
XCoreSubtarget.cpp
XCoreSubtarget.h
XCoreTargetMachine.cpp XCore target: Lower FRAME_TO_ARGS_OFFSET 2014-01-06 14:21:00 +00:00
XCoreTargetMachine.h
XCoreTargetObjectFile.cpp Add back r201608, r201622, r201624 and r201625 2014-02-19 17:23:20 +00:00
XCoreTargetObjectFile.h XCore target: fix const section handling 2014-02-11 10:36:26 +00:00
XCoreTargetStreamer.h XCore: Fix typo in function name. 2014-01-27 11:50:13 +00:00
XCoreTargetTransformInfo.cpp Add final and owerride keywords to TargetTransformInfo's subclasses. 2014-01-24 18:22:59 +00:00

To-do
-----

* Instruction encodings
* Tailcalls
* Investigate loop alignment
* Add builtins