diff --git a/compiler/GHC/Driver/DynFlags.hs b/compiler/GHC/Driver/DynFlags.hs index 55a11df38b877732c6b923b22877b26e125984b8..83f7e2ab649c353771ec7548c64ca0c1af8f47b6 100644 --- a/compiler/GHC/Driver/DynFlags.hs +++ b/compiler/GHC/Driver/DynFlags.hs @@ -1250,7 +1250,6 @@ optLevelFlags -- see Note [Documenting optimisation flags] = [ ([0,1,2], Opt_DoLambdaEtaExpansion) , ([1,2], Opt_DoCleverArgEtaExpansion) -- See Note [Eta expansion of arguments in CorePrep] , ([0,1,2], Opt_DoEtaReduction) -- See Note [Eta-reduction in -O0] - , ([0,1,2], Opt_LlvmTBAA) , ([0,1,2], Opt_ProfManualCcs ) , ([2], Opt_DictsStrict) diff --git a/compiler/GHC/Driver/Flags.hs b/compiler/GHC/Driver/Flags.hs index 860e26d0c171b1bfad841c30b6d9b7353f51db94..823700678b514ff749d93934966cbed655ff11ca 100644 --- a/compiler/GHC/Driver/Flags.hs +++ b/compiler/GHC/Driver/Flags.hs @@ -286,7 +286,6 @@ data GeneralFlag | Opt_RegsGraph -- do graph coloring register allocation | Opt_RegsIterative -- do iterative coalescing graph coloring register allocation | Opt_PedanticBottoms -- Be picky about how we treat bottom - | Opt_LlvmTBAA -- Use LLVM TBAA infrastructure for improving AA (hidden flag) | Opt_LlvmFillUndefWithGarbage -- Testing for undef bugs (hidden flag) | Opt_IrrefutableTuples | Opt_CmmSink @@ -529,7 +528,6 @@ optimisationFlags = EnumSet.fromList , Opt_EnableRewriteRules , Opt_RegsGraph , Opt_RegsIterative - , Opt_LlvmTBAA , Opt_IrrefutableTuples , Opt_CmmSink , Opt_CmmElimCommonBlocks diff --git a/compiler/GHC/Driver/Pipeline/Execute.hs b/compiler/GHC/Driver/Pipeline/Execute.hs index 450e70d97baabec92d53c8ff2f2957a29d6b6b83..6718235af6d7b2a3183d044aaed7fecbb14ceeae 100644 --- a/compiler/GHC/Driver/Pipeline/Execute.hs +++ b/compiler/GHC/Driver/Pipeline/Execute.hs @@ -930,8 +930,7 @@ llvmOptions :: LlvmConfig -> DynFlags -> [(String, String)] -- ^ pairs of (opt, llc) arguments llvmOptions llvm_config dflags = - [("-enable-tbaa -tbaa", "-enable-tbaa") | gopt Opt_LlvmTBAA dflags ] - ++ [("-relocation-model=" ++ rmodel + [("-relocation-model=" ++ rmodel ,"-relocation-model=" ++ rmodel) | not (null rmodel)] -- Additional llc flags diff --git a/compiler/GHC/Driver/Session.hs b/compiler/GHC/Driver/Session.hs index e6fa37a5f3b70ad510d2c83e55962405cda49ca9..4eaa32657fc19c63025a8323cae150c7384d2efb 100644 --- a/compiler/GHC/Driver/Session.hs +++ b/compiler/GHC/Driver/Session.hs @@ -2411,7 +2411,6 @@ fFlagsDeps = [ flagSpec "late-dmd-anal" Opt_LateDmdAnal, flagSpec "late-specialise" Opt_LateSpecialise, flagSpec "liberate-case" Opt_LiberateCase, - flagHiddenSpec "llvm-tbaa" Opt_LlvmTBAA, flagHiddenSpec "llvm-fill-undef-with-garbage" Opt_LlvmFillUndefWithGarbage, flagSpec "loopification" Opt_Loopification, flagSpec "block-layout-cfg" Opt_CfgBlocklayout, diff --git a/llvm-passes b/llvm-passes index 52d203e74501ee2f753c14218ea64aecb49931ce..0ee2889d32654acae483bd66d1868ef6656517eb 100644 --- a/llvm-passes +++ b/llvm-passes @@ -1,5 +1,5 @@ [ -(0, "-enable-new-pm=0 -mem2reg -globalopt -lower-expect"), -(1, "-enable-new-pm=0 -O1 -globalopt"), -(2, "-enable-new-pm=0 -O2") +(0, "-passes=function(require<tbaa>),function(mem2reg),globalopt,function(lower-expect)"), +(1, "-passes=default<O1>"), +(2, "-passes=default<O2>") ]