llvm-new-pass-manager
authorDebian Haskell Group <pkg-haskell-maintainers@lists.alioth.debian.org>
Tue, 5 Nov 2024 23:21:23 +0000 (00:21 +0100)
committerGianfranco Costamagna <locutusofborg@debian.org>
Tue, 5 Nov 2024 23:21:23 +0000 (00:21 +0100)
commit 77db84aba1ba00f6d146e9107b24c6203798e796
Author: Ben Gamari <bgamari.foss@gmail.com>
Date:   Wed Jan 31 08:58:58 2024 -0500

    llvmGen: Adapt to allow use of new pass manager.

    We now must use `-passes` in place of `-O<n>` due to #21936.

    Closes #21936.

Gbp-Pq: Name llvm-new-pass-manager

compiler/GHC/Driver/Flags.hs
compiler/GHC/Driver/Pipeline/Execute.hs
compiler/GHC/Driver/Session.hs
llvm-passes

index 3f5be732d879b688ff480726afca76416053b445..b9f4131dc4400d1e2caeea533563684f41ee838c 100644 (file)
@@ -273,7 +273,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
@@ -508,7 +507,6 @@ optimisationFlags = EnumSet.fromList
    , Opt_EnableRewriteRules
    , Opt_RegsGraph
    , Opt_RegsIterative
-   , Opt_LlvmTBAA
    , Opt_IrrefutableTuples
    , Opt_CmmSink
    , Opt_CmmElimCommonBlocks
index fac2a595f22527087822cddfdd534d427828fbc6..d9b5f1813f7c262727b93b745ac55996e379e620 100644 (file)
@@ -989,8 +989,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)]
     ++ [("-stack-alignment=" ++ (show align)
         ,"-stack-alignment=" ++ (show align)) | align > 0 ]
index 3eb13076c1669c082a53aa38c1b020e99a1614c9..00404863f107b4c6cc9be8cb8da19c5f381c7b91 100644 (file)
@@ -3430,7 +3430,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,
@@ -3989,7 +3988,6 @@ optLevelFlags :: [([Int], GeneralFlag)]
 optLevelFlags -- see Note [Documenting optimisation flags]
   = [ ([0,1,2], Opt_DoLambdaEtaExpansion)
     , ([0,1,2], Opt_DoEtaReduction)       -- See Note [Eta-reduction in -O0]
-    , ([0,1,2], Opt_LlvmTBAA)
     , ([0,1,2], Opt_ProfManualCcs )
     , ([2], Opt_DictsStrict)
 
index 52d203e74501ee2f753c14218ea64aecb49931ce..0ee2889d32654acae483bd66d1868ef6656517eb 100644 (file)
@@ -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>")
 ]