1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 03:23:01 +02:00
llvm-mirror/lib/Target/XCore
Rafael Espindola d39a573c72 Fix PR18743.
The IR
@foo = private constant i32 42

is valid, but before this patch we would produce an invalid MachO from it. It
was invalid because it would use an L label in a section where the liker needs
the labels in order to atomize it.

One way of fixing it would be to just reject this IR in the backend, but that
would not be very front end friendly.

What this patch does is use an 'l' prefix in sections that we know the linker
requires symbols for atomizing them. This allows frontends to just use
private and not worry about which sections they go to or how the linker handles
them.

One small issue with this strategy is that now a symbol name depends on the
section, which is not available before codegen. This is not a problem in
practice. The reason is that it only happens with private linkage, which will
be ignored by the non codegen users (llvm-nm and llvm-ar).

llvm-svn: 201608
2014-02-18 22:24:57 +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 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 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 target: Handle common linkage 2014-02-18 11:21:59 +00:00
XCoreCallingConv.td
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 target: Lower EH_RETURN 2014-01-06 14:21:07 +00:00
XCoreISelDAGToDAG.cpp
XCoreISelLowering.cpp XCore target: fix const section handling 2014-02-11 10:36:26 +00:00
XCoreISelLowering.h XCore target: Lower ATOMIC_LOAD & ATOMIC_STORE 2014-02-11 10:36:18 +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 target: Fix llvm.eh.return and EH info register handling 2014-02-18 11:21:48 +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
XCoreSelectionDAGInfo.h
XCoreSubtarget.cpp
XCoreSubtarget.h
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 Fix PR18743. 2014-02-18 22:24:57 +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