mirror of
https://github.com/intel/llvm.git
synced 2026-01-15 04:17:17 +08:00
[AArch64] Pass subtarget feature "+reserve-x18" instead of passing backend
option "-aarch64-reserve-x18". This change is needed since backend options do not make it to the backend when doing LTO and are not capable of changing the behavior of code-gen passes on a per-function basis. rdar://problem/21529937 Differential Revision: http://reviews.llvm.org/D11462 llvm-svn: 243185
This commit is contained in:
@@ -919,11 +919,6 @@ void Clang::AddAArch64TargetArgs(const ArgList &Args,
|
||||
else
|
||||
CmdArgs.push_back("-aarch64-global-merge=true");
|
||||
}
|
||||
|
||||
if (Args.hasArg(options::OPT_ffixed_x18)) {
|
||||
CmdArgs.push_back("-backend-option");
|
||||
CmdArgs.push_back("-aarch64-reserve-x18");
|
||||
}
|
||||
}
|
||||
|
||||
// Get CPU and ABI names. They are not independent
|
||||
@@ -1971,6 +1966,9 @@ static void getAArch64TargetFeatures(const Driver &D, const ArgList &Args,
|
||||
else
|
||||
Features.push_back("-crc");
|
||||
}
|
||||
|
||||
if (Args.hasArg(options::OPT_ffixed_x18))
|
||||
Features.push_back("+reserve-x18");
|
||||
}
|
||||
|
||||
static void getTargetFeatures(const Driver &D, const llvm::Triple &Triple,
|
||||
|
||||
Reference in New Issue
Block a user