[PowerPC] Remove support for SplitCSR.
commitce4ebc14a8963e58f08a6ab6c5ce4096469d570d
authorSean Fertile <sd.fertile@gmail.com>
Thu, 14 May 2020 14:31:01 +0000 (14 10:31 -0400)
committerSean Fertile <sd.fertile@gmail.com>
Thu, 14 May 2020 14:32:17 +0000 (14 10:32 -0400)
treeea6981ab8cf9ab72b01f6f447a170bf71453e375
parent5f1f4a5d0157c11e0a88d9a273f49c8f866b01ef
[PowerPC] Remove support for SplitCSR.

SplitCSR was only suppored for functions with CXX_FAST_TLS calling
convention. Clang only emits that calling convention for Darwin which is
no longer supported by the PowerPC backend. Another IR producer could
use the calling convention, but considering the calling convention is
meant to be an optimization and the codegen for SplitCSR can be
attrocious on Power (see the modifed lit test) it is best to remove it
and codegen CXX_FAST_TLS same as the C calling convention.

Differential Revision: https://reviews.llvm.org/D79018
llvm/lib/Target/PowerPC/PPCCallingConv.td
llvm/lib/Target/PowerPC/PPCFastISel.cpp
llvm/lib/Target/PowerPC/PPCISelLowering.cpp
llvm/lib/Target/PowerPC/PPCISelLowering.h
llvm/lib/Target/PowerPC/PPCMachineFunctionInfo.h
llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
llvm/lib/Target/PowerPC/PPCRegisterInfo.h
llvm/test/CodeGen/PowerPC/cxx_tlscc64.ll