[all-commits] [llvm/llvm-project] 6c4b40: [PowerPC][Future] Add Support For Functions That D...
Kamau Bridgeman via All-commits
all-commits at lists.llvm.org
Wed Apr 8 06:08:21 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 6c4b40def77622a5cf62a219ef4af63dc876e144
https://github.com/llvm/llvm-project/commit/6c4b40def77622a5cf62a219ef4af63dc876e144
Author: Stefan Pintilie <stefanp at ca.ibm.com>
Date: 2020-04-08 (Wed, 08 Apr 2020)
Changed paths:
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/include/llvm/BinaryFormat/ELFRelocs/PowerPC64.def
M llvm/include/llvm/MC/MCExpr.h
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCFixupKinds.h
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.h
M llvm/lib/Target/PowerPC/PPCInstr64Bit.td
M llvm/lib/Target/PowerPC/PPCInstrInfo.td
M llvm/lib/Target/PowerPC/PPCMCInstLower.cpp
M llvm/lib/Target/PowerPC/PPCMIPeephole.cpp
M llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
M llvm/lib/Target/PowerPC/PPCScheduleP9.td
M llvm/lib/Target/PowerPC/PPCSubtarget.cpp
M llvm/lib/Target/PowerPC/PPCSubtarget.h
A llvm/test/CodeGen/PowerPC/pcrel-call-linkage-leaf.ll
A llvm/test/CodeGen/PowerPC/pcrel-call-linkage-simple.ll
A llvm/test/CodeGen/PowerPC/pcrel-call-linkage-with-calls.ll
M llvm/test/MC/PowerPC/ppc64-localentry-error1.s
M llvm/test/MC/PowerPC/ppc64-localentry-error2.s
Log Message:
-----------
[PowerPC][Future] Add Support For Functions That Do Not Use A TOC.
On PowerPC most functions require a valid TOC pointer.
This is the case because either the function itself needs to use this
pointer to access the TOC or because other functions that are called
from that function expect a valid TOC pointer in the register R2.
The main exception to this is leaf functions that do not access the TOC
since they are guaranteed not to need a valid TOC pointer.
This patch introduces a feature that will allow more functions to not
require a valid TOC pointer in R2.
Differential Revision: https://reviews.llvm.org/D73664
More information about the All-commits
mailing list