forked from OSchip/llvm-project
Add a mno-outline flag to disable the MachineOutliner
Since we're working on turning the MachineOutliner by default under -Oz for AArch64, it makes sense to have an -mno-outline flag available. This currently doesn't do much (it basically just undoes -moutline). When the MachineOutliner is on by default under AArch64, this flag should set -mllvm -enable-machine-outliner=never. llvm-svn: 331810
This commit is contained in:
parent
966d34563f
commit
544bb55a3e
|
@ -1908,6 +1908,8 @@ def mms_bitfields : Flag<["-"], "mms-bitfields">, Group<m_Group>, Flags<[CC1Opti
|
|||
HelpText<"Set the default structure layout to be compatible with the Microsoft compiler standard">;
|
||||
def moutline : Flag<["-"], "moutline">, Group<f_clang_Group>, Flags<[CC1Option]>,
|
||||
HelpText<"Enable function outlining (AArch64 only)">;
|
||||
def mno_outline : Flag<["-"], "mno-outline">, Group<f_clang_Group>, Flags<[CC1Option]>,
|
||||
HelpText<"Disable function outlining (AArch64 only)">;
|
||||
def mno_ms_bitfields : Flag<["-"], "mno-ms-bitfields">, Group<m_Group>,
|
||||
HelpText<"Do not set the default structure layout to be compatible with the Microsoft compiler standard">;
|
||||
def mstackrealign : Flag<["-"], "mstackrealign">, Group<m_Group>, Flags<[CC1Option]>,
|
||||
|
|
|
@ -1485,7 +1485,8 @@ void Clang::AddAArch64TargetArgs(const ArgList &Args,
|
|||
CmdArgs.push_back("-aarch64-enable-global-merge=true");
|
||||
}
|
||||
|
||||
if (Args.getLastArg(options::OPT_moutline)) {
|
||||
if (!Args.hasArg(options::OPT_mno_outline) &&
|
||||
Args.getLastArg(options::OPT_moutline)) {
|
||||
CmdArgs.push_back("-mllvm");
|
||||
CmdArgs.push_back("-enable-machine-outliner");
|
||||
}
|
||||
|
|
|
@ -1,4 +1,9 @@
|
|||
// REQUIRES: aarch64-registered-target
|
||||
|
||||
// RUN: %clang -target aarch64 -moutline -S %s -### 2>&1 | FileCheck %s
|
||||
// CHECK: "-mllvm" "-enable-machine-outliner"
|
||||
// RUN: %clang -target aarch64 -moutline -S %s -### 2>&1 | FileCheck %s -check-prefix=ON
|
||||
// ON: "-mllvm" "-enable-machine-outliner"
|
||||
|
||||
// RUN: %clang -target aarch64 -moutline -mno-outline -S %s -### 2>&1 | FileCheck %s -check-prefix=OFF1
|
||||
// RUN: %clang -target aarch64 -mno-outline -moutline -S %s -### 2>&1 | FileCheck %s -check-prefix=OFF2
|
||||
// OFF1-NOT: "-mllvm" "-enable-machine-outliner"
|
||||
// OFF2-NOT: "-mllvm" "-enable-machine-outliner"
|
||||
|
|
Loading…
Reference in New Issue