llvm-6502/lib/Target/XCore
Rafael Espindola 7d7d99622f Replace PROLOG_LABEL with a new CFI_INSTRUCTION.
The old system was fairly convoluted:
* A temporary label was created.
* A single PROLOG_LABEL was created with it.
* A few MCCFIInstructions were created with the same label.

The semantics were that the cfi instructions were mapped to the PROLOG_LABEL
via the temporary label. The output position was that of the PROLOG_LABEL.
The temporary label itself was used only for doing the mapping.

The new CFI_INSTRUCTION has a 1:1 mapping to MCCFIInstructions and points to
one by holding an index into the CFI instructions of this function.

I did consider removing MMI.getFrameInstructions completelly and having
CFI_INSTRUCTION own a MCCFIInstruction, but MCCFIInstructions have non
trivial constructors and destructors and are somewhat big, so the this setup
is probably better.

The net result is that we don't create temporary labels that are never used.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203204 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-07 06:08:31 +00:00
..
Disassembler
InstPrinter
MCTargetDesc Switch all uses of LLVM_OVERRIDE to just use 'override' directly. 2014-03-02 09:09:27 +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] Add support for the "m" inline asm constraint. 2014-03-06 16:37:48 +00:00
XCoreCallingConv.td [XCore] Support functions returning more than 4 words. 2014-02-27 17:47:54 +00:00
XCoreFrameLowering.cpp Replace PROLOG_LABEL with a new CFI_INSTRUCTION. 2014-03-07 06:08:31 +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] Fix call of absolute address. 2014-03-04 16:50:30 +00:00
XCoreISelDAGToDAG.cpp [XCore] Add support for the "m" inline asm constraint. 2014-03-06 16:37:48 +00:00
XCoreISelLowering.cpp [C++11] Replace llvm::next and llvm::prior with std::next and std::prev. 2014-03-02 12:27:27 +00:00
XCoreISelLowering.h [XCore] Support functions returning more than 4 words. 2014-02-27 17:47:54 +00:00
XCoreLowerThreadLocal.cpp [Modules] Move the NoFolder into the IR library as it creates 2014-03-04 12:05:47 +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 Replace PROLOG_LABEL with a new CFI_INSTRUCTION. 2014-03-07 06:08:31 +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 Switch all uses of LLVM_OVERRIDE to just use 'override' directly. 2014-03-02 09:09:27 +00:00
XCoreTargetStreamer.h XCore: Fix typo in function name. 2014-01-27 11:50:13 +00:00
XCoreTargetTransformInfo.cpp Switch all uses of LLVM_OVERRIDE to just use 'override' directly. 2014-03-02 09:09:27 +00:00

To-do
-----

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