Magnus pushed to branch wip/ci-note-treeless at Glasgow Haskell Compiler / GHC

Commits:

3 changed files:

Changes:

  • .gitlab/test-metrics.sh
    ... ... @@ -17,12 +17,14 @@ fail() {
    17 17
     
    
    18 18
     function pull() {
    
    19 19
       local ref="refs/notes/$REF"
    
    20
    -  # 2023-10-04: `git fetch` started failing, first on Darwin in CI and then on
    
    21
    -  # Linux locally, both using git version 2.40.1. See #24055. One workaround is
    
    22
    -  # to set a larger http.postBuffer, although this is definitely a workaround.
    
    23
    -  # The default should work just fine. The error could be in git, GitLab, or
    
    24
    -  # perhaps the networking tube (including all proxies etc) between the two.
    
    25
    -  run git -c http.postBuffer=2097152 fetch -f "$NOTES_ORIGIN" "$ref:$ref"
    
    20
    +
    
    21
    +  # Fetch performance notes from a dedicated promisor remote using a
    
    22
    +  # treeless filter, so that individual note blobs are fetched lazily
    
    23
    +  # as needed.
    
    24
    +  git remote add perf-notes "$NOTES_ORIGIN" || true
    
    25
    +  git config fetch.recurseSubmodules false
    
    26
    +  git config remote.perf-notes.partialclonefilter tree:0
    
    27
    +  run git fetch --force perf-notes "$ref:$ref"
    
    26 28
       echo "perf notes ref $ref is $(git rev-parse $ref)"
    
    27 29
     }
    
    28 30
     
    
    ... ... @@ -81,4 +83,3 @@ case $1 in
    81 83
       pull) pull ;;
    
    82 84
       *) fail "Invalid mode $1" ;;
    
    83 85
     esac
    84
    -

  • compiler/GHC/Driver/CodeOutput.hs
    ... ... @@ -329,15 +329,8 @@ outputForeignStubs logger tmpfs dflags unit_state mod location stubs
    329 329
     
    
    330 330
             stub_c_file_exists
    
    331 331
                <- outputForeignStubs_help stub_c stub_c_output_w
    
    332
    -                ("#define IN_STG_CODE 0\n" ++
    
    333
    -                 "#include <Rts.h>\n" ++
    
    334
    -                 rts_includes ++
    
    335
    -                 ffi_includes ++
    
    336
    -                 cplusplus_hdr)
    
    337
    -                 cplusplus_ftr
    
    338
    -           -- We're adding the default hc_header to the stub file, but this
    
    339
    -           -- isn't really HC code, so we need to define IN_STG_CODE==0 to
    
    340
    -           -- avoid the register variables etc. being enabled.
    
    332
    +                (rts_includes ++
    
    333
    +                 ffi_includes) ""
    
    341 334
     
    
    342 335
             return (stub_h_file_exists, if stub_c_file_exists
    
    343 336
                                            then Just stub_c
    

  • configure.ac
    ... ... @@ -526,7 +526,7 @@ AC_SUBST(InstallNameToolCmd)
    526 526
     # versions of LLVM simultaneously, but that stopped working around
    
    527 527
     # 3.5/3.6 release of LLVM.
    
    528 528
     LlvmMinVersion=13  # inclusive
    
    529
    -LlvmMaxVersion=21  # not inclusive
    
    529
    +LlvmMaxVersion=22  # not inclusive
    
    530 530
     AC_SUBST([LlvmMinVersion])
    
    531 531
     AC_SUBST([LlvmMaxVersion])
    
    532 532