CXX_FAST_TLS calling convention: target independent portion.

Update supportSplitCSR's interface to take machine function instead of the
calling convention.

Review comments for http://reviews.llvm.org/D15341


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@255818 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Manman Ren 2015-12-16 20:45:48 +00:00
parent 9ad8cc389c
commit 8f2b4f1f9e
2 changed files with 4 additions and 4 deletions

View File

@ -2264,8 +2264,8 @@ public:
}
/// Return true if the target supports that a subset of CSRs for the given
/// calling convention is handled explicitly via copies.
virtual bool supportSplitCSR(CallingConv::ID CC) const {
/// machine function is handled explicitly via copies.
virtual bool supportSplitCSR(MachineFunction *MF) const {
return false;
}

View File

@ -470,9 +470,9 @@ bool SelectionDAGISel::runOnMachineFunction(MachineFunction &mf) {
FuncInfo->SplitCSR = false;
SmallVector<MachineBasicBlock*, 4> Returns;
// We split CSR if the target supports it for the given calling convention
// We split CSR if the target supports it for the given function
// and the function has only return exits.
if (TLI->supportSplitCSR(Fn.getCallingConv())) {
if (TLI->supportSplitCSR(MF)) {
FuncInfo->SplitCSR = true;
// Collect all the return blocks.