mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-28 15:33:16 +00:00
86765fbe17
We currently have a duplicated set of call instruction patterns depending on the ABI to be followed (Darwin vs. Linux). This is a bit odd; while the different ABIs will result in different instruction sequences, the actual instructions themselves ought to be independent of the ABI. And in fact it turns out that the only nontrivial difference between the two sets of patterns is that in the PPC64 Linux ABI, the instruction used for indirect calls is marked to take X11 as extra input register (which is indeed used only with that ABI to hold an incoming environment pointer for nested functions). However, this does not need to be hard-coded at the .td pattern level; instead, the C++ code expanding calls can simply add that use, just like it adds uses for argument registers anyway. No change in generated code expected. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177735 91177308-0d34-0410-b5e6-96231b3b80d8 |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
LLVMBuild.txt | ||
Makefile | ||
PPCAsmBackend.cpp | ||
PPCBaseInfo.h | ||
PPCELFObjectWriter.cpp | ||
PPCFixupKinds.h | ||
PPCMCAsmInfo.cpp | ||
PPCMCAsmInfo.h | ||
PPCMCCodeEmitter.cpp | ||
PPCMCTargetDesc.cpp | ||
PPCMCTargetDesc.h | ||
PPCPredicates.cpp | ||
PPCPredicates.h |