Hmm yeah, you’re right, especially considering D45916. It would be nice to have the desired behaviour just “fall out” of that patch. I’ll write a patch adding the flag.
- Jessica > On May 2, 2018, at 2:48 PM, Friedman, Eli <efrie...@codeaurora.org> wrote: > > On 5/2/2018 9:42 AM, Jessica Paquette via cfe-commits wrote: >> Author: paquette >> Date: Wed May 2 09:42:51 2018 >> New Revision: 331370 >> >> URL: http://llvm.org/viewvc/llvm-project?rev=331370&view=rev >> Log: >> Add -foutline option to enable the MachineOutliner in AArch64 > > It probably makes sense to also have a -fno-outline option. > > -Eli > >> >> Since we've been working on productizing the MachineOutliner in AArch64, it >> makes sense to provide a more user-friendly way to enable it. >> >> This allows users of AArch64 to enable the outliner using -foutline instead >> of -mllvm -enable-machine-outliner. Other, less mature implementations (e.g, >> x86-64) can still enable the pass using the -mllvm option. >> >> Also add a test to make sure it works. >> >> Added: >> cfe/trunk/test/Driver/aarch64-outliner.c >> Modified: >> cfe/trunk/include/clang/Driver/Options.td >> cfe/trunk/lib/Driver/ToolChains/Clang.cpp >> >> Modified: cfe/trunk/include/clang/Driver/Options.td >> URL: >> http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Driver/Options.td?rev=331370&r1=331369&r2=331370&view=diff >> ============================================================================== >> --- cfe/trunk/include/clang/Driver/Options.td (original) >> +++ cfe/trunk/include/clang/Driver/Options.td Wed May 2 09:42:51 2018 >> @@ -1317,6 +1317,8 @@ def fno_exceptions : Flag<["-"], "fno-ex >> def fno_gnu_keywords : Flag<["-"], "fno-gnu-keywords">, Group<f_Group>, >> Flags<[CC1Option]>; >> def fno_inline_functions : Flag<["-"], "fno-inline-functions">, >> Group<f_clang_Group>, Flags<[CC1Option]>; >> def fno_inline : Flag<["-"], "fno-inline">, Group<f_clang_Group>, >> Flags<[CC1Option]>; >> +def foutline : Flag<["-"], "foutline">, Group<f_clang_Group>, >> Flags<[CC1Option]>, >> + HelpText<"Enable function outlining (AArch64 only)">; >> def fno_experimental_isel : Flag<["-"], "fno-experimental-isel">, >> Group<f_clang_Group>, >> HelpText<"Disables the experimental global instruction selector">; >> def fno_experimental_new_pass_manager : Flag<["-"], >> "fno-experimental-new-pass-manager">, >> >> Modified: cfe/trunk/lib/Driver/ToolChains/Clang.cpp >> URL: >> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains/Clang.cpp?rev=331370&r1=331369&r2=331370&view=diff >> ============================================================================== >> --- cfe/trunk/lib/Driver/ToolChains/Clang.cpp (original) >> +++ cfe/trunk/lib/Driver/ToolChains/Clang.cpp Wed May 2 09:42:51 2018 >> @@ -1484,6 +1484,11 @@ void Clang::AddAArch64TargetArgs(const A >> else >> CmdArgs.push_back("-aarch64-enable-global-merge=true"); >> } >> + >> + if (Arg *A = Args.getLastArg(options::OPT_foutline)) { >> + CmdArgs.push_back("-mllvm"); >> + CmdArgs.push_back("-enable-machine-outliner"); >> + } >> } >> void Clang::AddMIPSTargetArgs(const ArgList &Args, >> >> Added: cfe/trunk/test/Driver/aarch64-outliner.c >> URL: >> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/aarch64-outliner.c?rev=331370&view=auto >> ============================================================================== >> --- cfe/trunk/test/Driver/aarch64-outliner.c (added) >> +++ cfe/trunk/test/Driver/aarch64-outliner.c Wed May 2 09:42:51 2018 >> @@ -0,0 +1,4 @@ >> +// REQUIRES: aarch64-registered-target >> + >> +// RUN: %clang -target aarch64 -foutline -S %s -### 2>&1 | FileCheck %s >> +// CHECK: "-mllvm" "-enable-machine-outliner" >> >> >> _______________________________________________ >> cfe-commits mailing list >> cfe-commits@lists.llvm.org >> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits > > > -- > Employee of Qualcomm Innovation Center, Inc. > Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux > Foundation Collaborative Project > _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits