llvm-6502/lib/Target/XCore
Richard Osborne 9bd913c4c1 [XCore] Fix handling of functions where only the LR is spilled.
Previously we only checked if the LR required saving if the frame size was
non zero. However because the caller reserves 1 word for the callee to use
that doesn't count towards our frame size it is possible for the LR to need
saving and for the frame size to be 0.

We didn't hit when the LR needed saving because of a function calls because
the 1 word of stack we must allocate for our callee means the frame size
is always non zero in this case. However we can hit this case if the LR is
clobbered in inline asm.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181520 91177308-0d34-0410-b5e6-96231b3b80d8
2013-05-09 16:43:42 +00:00
..
Disassembler [XCore] Remove '-' from back branch asm syntax. 2013-05-05 13:20:22 +00:00
InstPrinter [XCore] Make use of the target independent global address offset folding. 2013-05-04 17:24:33 +00:00
MCTargetDesc [XCore] Use static relocation model by default. 2013-05-04 16:40:58 +00:00
TargetInfo Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
CMakeLists.txt [XCore] Move lowering of thread local storage to a separate pass. 2013-05-04 17:01:55 +00:00
LLVMBuild.txt Add XCore disassembler. 2012-12-16 17:29:14 +00:00
Makefile Add instruction encodings and disassembly for 1r instructions. 2012-12-16 17:37:34 +00:00
README.txt
XCore.h [XCore] Move lowering of thread local storage to a separate pass. 2013-05-04 17:01:55 +00:00
XCore.td Change XCoreAsmPrinter to lower MachineInstrs to MCInsts before emission. 2012-12-16 16:20:48 +00:00
XCoreAsmPrinter.cpp [XCore] Move lowering of thread local storage to a separate pass. 2013-05-04 17:01:55 +00:00
XCoreCallingConv.td
XCoreFrameLowering.cpp [XCore] Fix handling of functions where only the LR is spilled. 2013-05-09 16:43:42 +00:00
XCoreFrameLowering.h Move the eliminateCallFramePseudoInstr method from TargetRegisterInfo 2013-02-21 20:05:00 +00:00
XCoreInstrFormats.td [XCore] Add missing 2r instructions. 2013-02-17 22:38:05 +00:00
XCoreInstrInfo.cpp
XCoreInstrInfo.h
XCoreInstrInfo.td [XCore] Add LDAPB instructions. 2013-05-05 13:36:53 +00:00
XCoreISelDAGToDAG.cpp [XCore] Make use of the target independent global address offset folding. 2013-05-04 17:24:33 +00:00
XCoreISelLowering.cpp Fix buildbot failure on 64 bit linux due to std::max() having different 2013-05-04 17:41:01 +00:00
XCoreISelLowering.h [XCore] Make use of the target independent global address offset folding. 2013-05-04 17:24:33 +00:00
XCoreLowerThreadLocal.cpp [XCore] Move lowering of thread local storage to a separate pass. 2013-05-04 17:01:55 +00:00
XCoreMachineFunctionInfo.cpp
XCoreMachineFunctionInfo.h
XCoreMCInstLower.cpp Update comments to match recommended doxygen style. 2012-12-17 12:13:41 +00:00
XCoreMCInstLower.h Update comments to match recommended doxygen style. 2012-12-17 12:13:41 +00:00
XCoreRegisterInfo.cpp Move the eliminateCallFramePseudoInstr method from TargetRegisterInfo 2013-02-21 20:05:00 +00:00
XCoreRegisterInfo.h Move the eliminateCallFramePseudoInstr method from TargetRegisterInfo 2013-02-21 20:05:00 +00:00
XCoreRegisterInfo.td [XCore] The RRegs register class is a superset of GRRegs. 2013-04-04 19:57:46 +00:00
XCoreSelectionDAGInfo.cpp
XCoreSelectionDAGInfo.h
XCoreSubtarget.cpp
XCoreSubtarget.h
XCoreTargetMachine.cpp [XCore] Move lowering of thread local storage to a separate pass. 2013-05-04 17:01:55 +00:00
XCoreTargetMachine.h Switch TargetTransformInfo from an immutable analysis pass that requires 2013-01-07 01:37:14 +00:00
XCoreTargetObjectFile.cpp [XCore] Use static relocation model by default. 2013-05-04 16:40:58 +00:00
XCoreTargetObjectFile.h

To-do
-----

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