From a41b729738e103d93ddaaadb8f1e3234ee1775c1 Mon Sep 17 00:00:00 2001
From: Simon Schuster <git@rationality.eu>
Date: Tue, 11 Apr 2017 14:49:11 +0200
Subject: [PATCH] Revert "ARM: Disable optimizations that are disabled for
 patmos"

This reverts commit c6069fb26fe63d1a8f4218a7e0bbc31b8c9b5d11.
---
 lib/Driver/Tools.cpp | 22 ----------------------
 1 file changed, 22 deletions(-)

diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp
index 9109519412..36400db33e 100644
--- a/lib/Driver/Tools.cpp
+++ b/lib/Driver/Tools.cpp
@@ -4095,28 +4095,6 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
   case llvm::Triple::thumbeb:
     // Use the effective triple, which takes into account the deployment target.
     AddARMTargetArgs(Triple, Args, CmdArgs, KernelOrKext);
-
-    // disable additional optimizations to make CFRGs work properly
-    // TODO: This is a hack ;)
-    // Disable nested loop separation for loops with multiple backedges
-    // during Natural Loop Canonicalization (-simplifycfg)
-    // This eases manual annotation of loop bounds as the appearance of
-    // additional nested loops is prohibited by this flag.
-    // When we manage to get rid of loop bound annotations by translating
-    // them to markers and constraints, we can enable this transformation
-    // again.
-    // @see patmos::PatmosBaseTool::ConstructOptJob
-    CmdArgs.push_back("-mllvm");
-    CmdArgs.push_back("-disable-separate-nested-loops");
-
-    // Perform most llvm-opt optimizations at link time (but prepare bitcode with
-    // baseline optimizations)
-    if (Arg *A = Args.getLastArg(options::OPT_O_Group))
-      if (!A->getOption().matches(options::OPT_O0)) {
-        CmdArgs.push_back("-disable-llvm-optzns");
-        CmdArgs.push_back("-enable-llvm-baseline-optzns");
-      }
-
     break;
 
   case llvm::Triple::aarch64:
-- 
GitLab