[MachineOutliner] NFC - simplify -moutline/-mno-outline logic
authorJessica Paquette <jpaquette@apple.com>
Mon, 25 Jun 2018 23:20:18 +0000 (23:20 +0000)
committerJessica Paquette <jpaquette@apple.com>
Mon, 25 Jun 2018 23:20:18 +0000 (23:20 +0000)
It's a bit cleaner to use `hasFlag` instead of nested ifs. This
just refactors the -moutline/-mno-outline logic to use that.

llvm-svn: 335549

clang/lib/Driver/ToolChains/Clang.cpp

index 5cb3796..327fa6b 100644 (file)
@@ -1477,19 +1477,16 @@ void Clang::AddAArch64TargetArgs(const ArgList &Args,
       CmdArgs.push_back("-aarch64-enable-global-merge=true");
   }
 
-  if (Arg *A = Args.getLastArg(options::OPT_moutline,
-                               options::OPT_mno_outline)) {
-    if (A->getOption().matches(options::OPT_moutline)) {
-      CmdArgs.push_back("-mllvm");
-      CmdArgs.push_back("-enable-machine-outliner");
+  if (Args.hasFlag(options::OPT_moutline, options::OPT_mno_outline, false)) {
+    CmdArgs.push_back("-mllvm");
+    CmdArgs.push_back("-enable-machine-outliner");
 
-      // The outliner shouldn't compete with linkers that dedupe linkonceodr
-      // functions in LTO. Enable that behaviour by default when compiling with
-      // LTO.
-      if (getToolChain().getDriver().isUsingLTO()) {
-        CmdArgs.push_back("-mllvm");
-        CmdArgs.push_back("-enable-linkonceodr-outlining");
-      }
+    // The outliner shouldn't compete with linkers that dedupe linkonceodr
+    // functions in LTO. Enable that behaviour by default when compiling with
+    // LTO.
+    if (getToolChain().getDriver().isUsingLTO()) {
+      CmdArgs.push_back("-mllvm");
+      CmdArgs.push_back("-enable-linkonceodr-outlining");
     }
   }
 }