llvm-project/llvm/lib/Target/XCore
Rafael Espindola b1f25f1b93 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.

llvm-svn: 203204
2014-03-07 06:08:31 +00:00
..
Disassembler [CMake] Let add_public_tablegen_target responsible to provide dependency to CommonTableGen. 2013-11-28 17:04:04 +00:00
InstPrinter [CMake] Let add_public_tablegen_target responsible to provide dependency to CommonTableGen. 2013-11-28 17:04:04 +00:00
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 Add instruction encodings and disassembly for 1r instructions. 2012-12-16 17:37:34 +00:00
README.txt test commit 2013-07-29 09:23:13 +00:00
XCore.h XCore target: Lower FRAME_TO_ARGS_OFFSET 2014-01-06 14:21:00 +00:00
XCore.td Change the default of AsmWriterClassName and isMCAsmWriter. 2013-12-02 04:55:42 +00:00
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
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
XCoreInstrFormats.td [XCore] Add missing 2r instructions. 2013-02-17 22:38:05 +00:00
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
XCoreLowerThreadLocal.cpp [Modules] Move the NoFolder into the IR library as it creates 2014-03-04 12:05:47 +00:00
XCoreMCInstLower.cpp Move the llvm mangler to lib/IR. 2014-01-07 21:19:40 +00:00
XCoreMCInstLower.h Update comments to match recommended doxygen style. 2012-12-17 12:13:41 +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
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 [XCore] The RRegs register class is a superset of GRRegs. 2013-04-04 19:57:46 +00:00
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 Sort includes for all of the .h files under the 'lib' tree. These were 2012-12-04 07:12:27 +00:00
XCoreTargetMachine.cpp XCore target: Lower FRAME_TO_ARGS_OFFSET 2014-01-06 14:21:00 +00:00
XCoreTargetMachine.h Prevent LoopVectorizer and SLPVectorizer running if the target has no vector registers. 2013-09-18 12:43:35 +00:00
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

README.txt

To-do
-----

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