Skip to content
  • sheaf's avatar
    cd31acad
    Hadrian: fix ghcDebugAssertions off-by-one error · cd31acad
    sheaf authored and Marge Bot's avatar Marge Bot committed
    Commit 6b2f7ffe changed the logic that decided whether to enable debug
    assertions. However, it had an off-by-one error, as the stage parameter
    to the function inconsistently referred to the stage of the compiler
    being used to build or the stage of the compiler we are building.
    
    This patch makes it consistent. Now the parameter always refers to the
    the compiler which is being built.
    
    In particular, this patch re-enables
    assertions in the stage 2 compiler when building with devel2 flavour,
    and disables assertions in the stage 2 compiler when building with
    validate flavour.
    
    Some extra performance tests are now run in the "validate" jobs because
    the stage2 compiler no longer contains assertions.
    
    -------------------------
    Metric Decrease:
        CoOpt_Singletons
        MultiComponentModules
        MultiComponentModulesRecomp
        MultiLayerModulesTH_OneShot
        T11374
        T12227
        T12234
        T13253-spj
        T13701
        T14683
        T14697
        T15703
        T17096
        T17516
        T18304
        T18478
        T18923
        T5030
        T9872b
        TcPlugin_RewritePerf
    Metric Increase:
        MultiComponentModules
        MultiComponentModulesRecomp
        MultiLayerModules
        MultiLayerModulesRecomp
        MultiLayerModulesTH_Make
        T13386
        T13719
        T3294
        T9233
        T9675
        parsing001
    -------------------------
    cd31acad
    Hadrian: fix ghcDebugAssertions off-by-one error
    sheaf authored and Marge Bot's avatar Marge Bot committed
    Commit 6b2f7ffe changed the logic that decided whether to enable debug
    assertions. However, it had an off-by-one error, as the stage parameter
    to the function inconsistently referred to the stage of the compiler
    being used to build or the stage of the compiler we are building.
    
    This patch makes it consistent. Now the parameter always refers to the
    the compiler which is being built.
    
    In particular, this patch re-enables
    assertions in the stage 2 compiler when building with devel2 flavour,
    and disables assertions in the stage 2 compiler when building with
    validate flavour.
    
    Some extra performance tests are now run in the "validate" jobs because
    the stage2 compiler no longer contains assertions.
    
    -------------------------
    Metric Decrease:
        CoOpt_Singletons
        MultiComponentModules
        MultiComponentModulesRecomp
        MultiLayerModulesTH_OneShot
        T11374
        T12227
        T12234
        T13253-spj
        T13701
        T14683
        T14697
        T15703
        T17096
        T17516
        T18304
        T18478
        T18923
        T5030
        T9872b
        TcPlugin_RewritePerf
    Metric Increase:
        MultiComponentModules
        MultiComponentModulesRecomp
        MultiLayerModules
        MultiLayerModulesRecomp
        MultiLayerModulesTH_Make
        T13386
        T13719
        T3294
        T9233
        T9675
        parsing001
    -------------------------
Loading