Marge Bot pushed to branch wip/marge_bot_batch_merge_job at Glasgow Haskell Compiler / GHC
Commits:
-
6b694590
by Bryan Richter at 2025-06-05T03:49:45-04:00
-
1b3c1560
by Bryan Richter at 2025-06-05T03:49:45-04:00
-
ab12e581
by Bryan Richter at 2025-06-05T03:49:45-04:00
-
9d0272d4
by Ben Gamari at 2025-06-05T03:49:46-04:00
-
b1a315c5
by Ryan Hendrickson at 2025-06-05T03:49:50-04:00
-
5ed1298e
by ARATA Mizuki at 2025-06-05T03:49:54-04:00
-
847fd785
by Simon Hengel at 2025-06-05T03:49:58-04:00
-
4de53bb4
by ARATA Mizuki at 2025-06-05T03:50:02-04:00
20 changed files:
- .gitlab-ci.yml
- .gitlab/ci.sh
- .gitlab/common.sh
- .gitlab/generate-ci/gen_ci.hs
- .gitlab/jobs.yaml
- compiler/GHC/CmmToAsm/AArch64/CodeGen.hs
- compiler/GHC/CmmToAsm/X86/CodeGen.hs
- compiler/GHC/Types/Error.hs
- hadrian/src/Settings.hs
- + testsuite/tests/cmm/should_run/T25601.hs
- + testsuite/tests/cmm/should_run/T25601.stdout
- + testsuite/tests/cmm/should_run/T25601a.cmm
- testsuite/tests/cmm/should_run/all.T
- + testsuite/tests/codeGen/should_run/T26061.hs
- + testsuite/tests/codeGen/should_run/T26061.stdout
- testsuite/tests/codeGen/should_run/all.T
- testsuite/tests/driver/json.stderr
- testsuite/tests/driver/json_warn.stderr
- utils/haddock/haddock-library/src/Documentation/Haddock/Parser.hs
- utils/haddock/haddock-library/test/Documentation/Haddock/ParserSpec.hs
Changes:
... | ... | @@ -367,7 +367,7 @@ lint-submods-branch: |
367 | 367 | - .gitlab/ci.sh setup
|
368 | 368 | after_script:
|
369 | 369 | - .gitlab/ci.sh save_cache
|
370 | - - cat ci-timings
|
|
370 | + - cat ci_timings.txt
|
|
371 | 371 | variables:
|
372 | 372 | GHC_FLAGS: -Werror
|
373 | 373 | cache:
|
... | ... | @@ -419,7 +419,7 @@ hadrian-ghc-in-ghci: |
419 | 419 | - echo ":q" | HADRIAN_ARGS=-j$CORES hadrian/ghci -j$CORES | tail -n2 | grep "Ok,"
|
420 | 420 | after_script:
|
421 | 421 | - .gitlab/ci.sh save_cache
|
422 | - - cat ci-timings
|
|
422 | + - cat ci_timings.txt
|
|
423 | 423 | cache:
|
424 | 424 | key: hadrian-ghci-$CACHE_REV
|
425 | 425 | paths:
|
... | ... | @@ -34,7 +34,11 @@ function time_it() { |
34 | 34 | local delta=$(expr $end - $start)
|
35 | 35 | |
36 | 36 | echo "$name took $delta seconds"
|
37 | - printf "%15s | $delta" > ci-timings
|
|
37 | + if [[ ! -e ci_timings.txt ]]; then
|
|
38 | + echo "=== TIMINGS ===" > ci_timings.txt
|
|
39 | + fi
|
|
40 | + |
|
41 | + printf "%15s | $delta\n" $name >> ci_timings.txt
|
|
38 | 42 | return $res
|
39 | 43 | }
|
40 | 44 | |
... | ... | @@ -239,8 +243,6 @@ function cabal_update() { |
239 | 243 | |
240 | 244 | # Extract GHC toolchain
|
241 | 245 | function setup() {
|
242 | - echo "=== TIMINGS ===" > ci-timings
|
|
243 | - |
|
244 | 246 | if [ -d "$CABAL_CACHE" ]; then
|
245 | 247 | info "Extracting cabal cache from $CABAL_CACHE to $CABAL_DIR..."
|
246 | 248 | mkdir -p "$CABAL_DIR"
|
... | ... | @@ -279,7 +281,7 @@ function fetch_ghc() { |
279 | 281 | fail "neither GHC nor GHC_VERSION are not set"
|
280 | 282 | fi
|
281 | 283 | |
282 | - start_section "fetch GHC"
|
|
284 | + start_section fetch-ghc "Fetch GHC"
|
|
283 | 285 | url="https://downloads.haskell.org/~ghc/${GHC_VERSION}/ghc-${GHC_VERSION}-${boot_triple}.tar.xz"
|
284 | 286 | info "Fetching GHC binary distribution from $url..."
|
285 | 287 | curl "$url" > ghc.tar.xz || fail "failed to fetch GHC binary distribution"
|
... | ... | @@ -296,7 +298,7 @@ function fetch_ghc() { |
296 | 298 | ;;
|
297 | 299 | esac
|
298 | 300 | rm -Rf "ghc-${GHC_VERSION}" ghc.tar.xz
|
299 | - end_section "fetch GHC"
|
|
301 | + end_section fetch-ghc
|
|
300 | 302 | fi
|
301 | 303 | |
302 | 304 | }
|
... | ... | @@ -308,7 +310,7 @@ function fetch_cabal() { |
308 | 310 | fail "neither CABAL nor CABAL_INSTALL_VERSION are not set"
|
309 | 311 | fi
|
310 | 312 | |
311 | - start_section "fetch cabal"
|
|
313 | + start_section fetch-cabal "Fetch Cabal"
|
|
312 | 314 | case "$(uname)" in
|
313 | 315 | # N.B. Windows uses zip whereas all others use .tar.xz
|
314 | 316 | MSYS_*|MINGW*)
|
... | ... | @@ -341,7 +343,7 @@ function fetch_cabal() { |
341 | 343 | fi
|
342 | 344 | ;;
|
343 | 345 | esac
|
344 | - end_section "fetch cabal"
|
|
346 | + end_section fetch-cabal
|
|
345 | 347 | fi
|
346 | 348 | }
|
347 | 349 | |
... | ... | @@ -349,6 +351,7 @@ function fetch_cabal() { |
349 | 351 | # here. For Docker platforms this is done in the Docker image
|
350 | 352 | # build.
|
351 | 353 | function setup_toolchain() {
|
354 | + start_section setup-toolchain "Setup toolchain"
|
|
352 | 355 | fetch_ghc
|
353 | 356 | fetch_cabal
|
354 | 357 | cabal_update
|
... | ... | @@ -371,10 +374,11 @@ function setup_toolchain() { |
371 | 374 | |
372 | 375 | info "Building alex..."
|
373 | 376 | $cabal_install alex --constraint="alex>=$MIN_ALEX_VERSION"
|
377 | + end_section setup-toolchain
|
|
374 | 378 | }
|
375 | 379 | |
376 | 380 | function cleanup_submodules() {
|
377 | - start_section "clean submodules"
|
|
381 | + start_section clean-submodules "Clean submodules"
|
|
378 | 382 | if [ -d .git ]; then
|
379 | 383 | info "Cleaning submodules..."
|
380 | 384 | # On Windows submodules can inexplicably get into funky states where git
|
... | ... | @@ -386,7 +390,7 @@ function cleanup_submodules() { |
386 | 390 | else
|
387 | 391 | info "Not cleaning submodules, not in a git repo"
|
388 | 392 | fi;
|
389 | - end_section "clean submodules"
|
|
393 | + end_section clean-submodules
|
|
390 | 394 | }
|
391 | 395 | |
392 | 396 | function configure() {
|
... | ... | @@ -486,6 +490,8 @@ function check_release_build() { |
486 | 490 | }
|
487 | 491 | |
488 | 492 | function build_hadrian() {
|
493 | + start_section build-hadrian "Build via Hadrian"
|
|
494 | + |
|
489 | 495 | if [ -z "${BIN_DIST_NAME:-}" ]; then
|
490 | 496 | fail "BIN_DIST_NAME not set"
|
491 | 497 | fi
|
... | ... | @@ -519,7 +525,7 @@ function build_hadrian() { |
519 | 525 | ;;
|
520 | 526 | esac
|
521 | 527 | fi
|
522 | - |
|
528 | + end_section build-hadrian
|
|
523 | 529 | }
|
524 | 530 | |
525 | 531 | # run's `make DESTDIR=$1 install` and then
|
... | ... | @@ -545,6 +551,7 @@ function make_install_destdir() { |
545 | 551 | |
546 | 552 | # install the binary distribution in directory $1 to $2.
|
547 | 553 | function install_bindist() {
|
554 | + start_section install-bindist "Install bindist"
|
|
548 | 555 | case "${CONFIGURE_WRAPPER:-}" in
|
549 | 556 | emconfigure) source "$EMSDK/emsdk_env.sh" ;;
|
550 | 557 | *) ;;
|
... | ... | @@ -584,9 +591,11 @@ function install_bindist() { |
584 | 591 | ;;
|
585 | 592 | esac
|
586 | 593 | popd
|
594 | + end_section install-bindist
|
|
587 | 595 | }
|
588 | 596 | |
589 | 597 | function test_hadrian() {
|
598 | + start_section test-hadrian "Test via Hadrian"
|
|
590 | 599 | check_msys2_deps _build/stage1/bin/ghc --version
|
591 | 600 | check_release_build
|
592 | 601 | |
... | ... | @@ -708,6 +717,7 @@ function test_hadrian() { |
708 | 717 | info "STAGE2_TEST=$?"
|
709 | 718 | |
710 | 719 | fi
|
720 | + end_section test-hadrian
|
|
711 | 721 | }
|
712 | 722 | |
713 | 723 | function summarise_hi_files() {
|
... | ... | @@ -742,7 +752,7 @@ function cabal_abi_test() { |
742 | 752 | pushd $DIR
|
743 | 753 | echo $PWD
|
744 | 754 | |
745 | - start_section "Cabal test: $OUT"
|
|
755 | + start_section cabal-abi-test "Cabal ABI test: $OUT"
|
|
746 | 756 | mkdir -p "$OUT"
|
747 | 757 | "$HC" \
|
748 | 758 | -hidir tmp -odir tmp -fforce-recomp -haddock \
|
... | ... | @@ -752,7 +762,7 @@ function cabal_abi_test() { |
752 | 762 | summarise_hi_files
|
753 | 763 | summarise_o_files
|
754 | 764 | popd
|
755 | - end_section "Cabal test: $OUT"
|
|
765 | + end_section cabal-abi-test
|
|
756 | 766 | }
|
757 | 767 | |
758 | 768 | function cabal_test() {
|
... | ... | @@ -760,7 +770,7 @@ function cabal_test() { |
760 | 770 | fail "OUT not set"
|
761 | 771 | fi
|
762 | 772 | |
763 | - start_section "Cabal test: $OUT"
|
|
773 | + start_section cabal-test "Cabal test: $OUT"
|
|
764 | 774 | mkdir -p "$OUT"
|
765 | 775 | run "$HC" \
|
766 | 776 | -hidir tmp -odir tmp -fforce-recomp \
|
... | ... | @@ -769,7 +779,7 @@ function cabal_test() { |
769 | 779 | -ilibraries/Cabal/Cabal/src -XNoPolyKinds Distribution.Simple \
|
770 | 780 | "$@" 2>&1 | tee $OUT/log
|
771 | 781 | rm -Rf tmp
|
772 | - end_section "Cabal test: $OUT"
|
|
782 | + end_section cabal-test
|
|
773 | 783 | }
|
774 | 784 | |
775 | 785 | function run_perf_test() {
|
... | ... | @@ -20,15 +20,18 @@ WHITE="1;37" |
20 | 20 | LT_GRAY="0;37"
|
21 | 21 | |
22 | 22 | # GitLab Pipelines log section delimiters
|
23 | -# https://gitlab.com/gitlab-org/gitlab-foss/issues/14664
|
|
24 | -start_section() {
|
|
25 | - name="$1"
|
|
26 | - echo -e "section_start:$(date +%s):$name\015\033[0K"
|
|
23 | +# https://docs.gitlab.com/ci/jobs/job_logs/#custom-collapsible-sections
|
|
24 | +function start_section () {
|
|
25 | + local section_title="${1}"
|
|
26 | + local section_description="${2:-$section_title}"
|
|
27 | + |
|
28 | + echo -e "section_start:$(date +%s):${section_title}[collapsed=true]\r\e[0K${section_description}"
|
|
27 | 29 | }
|
28 | 30 | |
29 | -end_section() {
|
|
30 | - name="$1"
|
|
31 | - echo -e "section_end:$(date +%s):$name\015\033[0K"
|
|
31 | +function end_section () {
|
|
32 | + local section_title="${1}"
|
|
33 | + |
|
34 | + echo -e "section_end:$(date +%s):${section_title}\r\e[0K"
|
|
32 | 35 | }
|
33 | 36 | |
34 | 37 | echo_color() {
|
... | ... | @@ -870,7 +870,7 @@ job arch opsys buildConfig = NamedJob { name = jobName, jobInfo = Job {..} } |
870 | 870 | [ ".gitlab/ci.sh save_cache"
|
871 | 871 | , ".gitlab/ci.sh save_test_output"
|
872 | 872 | , ".gitlab/ci.sh clean"
|
873 | - , "cat ci_timings"
|
|
873 | + , "cat ci_timings.txt"
|
|
874 | 874 | ]
|
875 | 875 | |
876 | 876 | jobFlavour = mkJobFlavour buildConfig
|
... | ... | @@ -5,7 +5,7 @@ |
5 | 5 | ".gitlab/ci.sh save_cache",
|
6 | 6 | ".gitlab/ci.sh save_test_output",
|
7 | 7 | ".gitlab/ci.sh clean",
|
8 | - "cat ci_timings"
|
|
8 | + "cat ci_timings.txt"
|
|
9 | 9 | ],
|
10 | 10 | "allow_failure": false,
|
11 | 11 | "artifacts": {
|
... | ... | @@ -71,7 +71,7 @@ |
71 | 71 | ".gitlab/ci.sh save_cache",
|
72 | 72 | ".gitlab/ci.sh save_test_output",
|
73 | 73 | ".gitlab/ci.sh clean",
|
74 | - "cat ci_timings"
|
|
74 | + "cat ci_timings.txt"
|
|
75 | 75 | ],
|
76 | 76 | "allow_failure": false,
|
77 | 77 | "artifacts": {
|
... | ... | @@ -134,7 +134,7 @@ |
134 | 134 | ".gitlab/ci.sh save_cache",
|
135 | 135 | ".gitlab/ci.sh save_test_output",
|
136 | 136 | ".gitlab/ci.sh clean",
|
137 | - "cat ci_timings"
|
|
137 | + "cat ci_timings.txt"
|
|
138 | 138 | ],
|
139 | 139 | "allow_failure": false,
|
140 | 140 | "artifacts": {
|
... | ... | @@ -196,7 +196,7 @@ |
196 | 196 | ".gitlab/ci.sh save_cache",
|
197 | 197 | ".gitlab/ci.sh save_test_output",
|
198 | 198 | ".gitlab/ci.sh clean",
|
199 | - "cat ci_timings"
|
|
199 | + "cat ci_timings.txt"
|
|
200 | 200 | ],
|
201 | 201 | "allow_failure": false,
|
202 | 202 | "artifacts": {
|
... | ... | @@ -258,7 +258,7 @@ |
258 | 258 | ".gitlab/ci.sh save_cache",
|
259 | 259 | ".gitlab/ci.sh save_test_output",
|
260 | 260 | ".gitlab/ci.sh clean",
|
261 | - "cat ci_timings"
|
|
261 | + "cat ci_timings.txt"
|
|
262 | 262 | ],
|
263 | 263 | "allow_failure": false,
|
264 | 264 | "artifacts": {
|
... | ... | @@ -482,7 +482,7 @@ |
482 | 482 | ".gitlab/ci.sh save_cache",
|
483 | 483 | ".gitlab/ci.sh save_test_output",
|
484 | 484 | ".gitlab/ci.sh clean",
|
485 | - "cat ci_timings"
|
|
485 | + "cat ci_timings.txt"
|
|
486 | 486 | ],
|
487 | 487 | "allow_failure": true,
|
488 | 488 | "artifacts": {
|
... | ... | @@ -545,7 +545,7 @@ |
545 | 545 | ".gitlab/ci.sh save_cache",
|
546 | 546 | ".gitlab/ci.sh save_test_output",
|
547 | 547 | ".gitlab/ci.sh clean",
|
548 | - "cat ci_timings"
|
|
548 | + "cat ci_timings.txt"
|
|
549 | 549 | ],
|
550 | 550 | "allow_failure": false,
|
551 | 551 | "artifacts": {
|
... | ... | @@ -607,7 +607,7 @@ |
607 | 607 | ".gitlab/ci.sh save_cache",
|
608 | 608 | ".gitlab/ci.sh save_test_output",
|
609 | 609 | ".gitlab/ci.sh clean",
|
610 | - "cat ci_timings"
|
|
610 | + "cat ci_timings.txt"
|
|
611 | 611 | ],
|
612 | 612 | "allow_failure": false,
|
613 | 613 | "artifacts": {
|
... | ... | @@ -669,7 +669,7 @@ |
669 | 669 | ".gitlab/ci.sh save_cache",
|
670 | 670 | ".gitlab/ci.sh save_test_output",
|
671 | 671 | ".gitlab/ci.sh clean",
|
672 | - "cat ci_timings"
|
|
672 | + "cat ci_timings.txt"
|
|
673 | 673 | ],
|
674 | 674 | "allow_failure": false,
|
675 | 675 | "artifacts": {
|
... | ... | @@ -736,7 +736,7 @@ |
736 | 736 | ".gitlab/ci.sh save_cache",
|
737 | 737 | ".gitlab/ci.sh save_test_output",
|
738 | 738 | ".gitlab/ci.sh clean",
|
739 | - "cat ci_timings"
|
|
739 | + "cat ci_timings.txt"
|
|
740 | 740 | ],
|
741 | 741 | "allow_failure": false,
|
742 | 742 | "artifacts": {
|
... | ... | @@ -800,7 +800,7 @@ |
800 | 800 | ".gitlab/ci.sh save_cache",
|
801 | 801 | ".gitlab/ci.sh save_test_output",
|
802 | 802 | ".gitlab/ci.sh clean",
|
803 | - "cat ci_timings"
|
|
803 | + "cat ci_timings.txt"
|
|
804 | 804 | ],
|
805 | 805 | "allow_failure": false,
|
806 | 806 | "artifacts": {
|
... | ... | @@ -863,7 +863,7 @@ |
863 | 863 | ".gitlab/ci.sh save_cache",
|
864 | 864 | ".gitlab/ci.sh save_test_output",
|
865 | 865 | ".gitlab/ci.sh clean",
|
866 | - "cat ci_timings"
|
|
866 | + "cat ci_timings.txt"
|
|
867 | 867 | ],
|
868 | 868 | "allow_failure": false,
|
869 | 869 | "artifacts": {
|
... | ... | @@ -926,7 +926,7 @@ |
926 | 926 | ".gitlab/ci.sh save_cache",
|
927 | 927 | ".gitlab/ci.sh save_test_output",
|
928 | 928 | ".gitlab/ci.sh clean",
|
929 | - "cat ci_timings"
|
|
929 | + "cat ci_timings.txt"
|
|
930 | 930 | ],
|
931 | 931 | "allow_failure": false,
|
932 | 932 | "artifacts": {
|
... | ... | @@ -1153,7 +1153,7 @@ |
1153 | 1153 | ".gitlab/ci.sh save_cache",
|
1154 | 1154 | ".gitlab/ci.sh save_test_output",
|
1155 | 1155 | ".gitlab/ci.sh clean",
|
1156 | - "cat ci_timings"
|
|
1156 | + "cat ci_timings.txt"
|
|
1157 | 1157 | ],
|
1158 | 1158 | "allow_failure": true,
|
1159 | 1159 | "artifacts": {
|
... | ... | @@ -1217,7 +1217,7 @@ |
1217 | 1217 | ".gitlab/ci.sh save_cache",
|
1218 | 1218 | ".gitlab/ci.sh save_test_output",
|
1219 | 1219 | ".gitlab/ci.sh clean",
|
1220 | - "cat ci_timings"
|
|
1220 | + "cat ci_timings.txt"
|
|
1221 | 1221 | ],
|
1222 | 1222 | "allow_failure": false,
|
1223 | 1223 | "artifacts": {
|
... | ... | @@ -1280,7 +1280,7 @@ |
1280 | 1280 | ".gitlab/ci.sh save_cache",
|
1281 | 1281 | ".gitlab/ci.sh save_test_output",
|
1282 | 1282 | ".gitlab/ci.sh clean",
|
1283 | - "cat ci_timings"
|
|
1283 | + "cat ci_timings.txt"
|
|
1284 | 1284 | ],
|
1285 | 1285 | "allow_failure": false,
|
1286 | 1286 | "artifacts": {
|
... | ... | @@ -1343,7 +1343,7 @@ |
1343 | 1343 | ".gitlab/ci.sh save_cache",
|
1344 | 1344 | ".gitlab/ci.sh save_test_output",
|
1345 | 1345 | ".gitlab/ci.sh clean",
|
1346 | - "cat ci_timings"
|
|
1346 | + "cat ci_timings.txt"
|
|
1347 | 1347 | ],
|
1348 | 1348 | "allow_failure": false,
|
1349 | 1349 | "artifacts": {
|
... | ... | @@ -1413,7 +1413,7 @@ |
1413 | 1413 | ".gitlab/ci.sh save_cache",
|
1414 | 1414 | ".gitlab/ci.sh save_test_output",
|
1415 | 1415 | ".gitlab/ci.sh clean",
|
1416 | - "cat ci_timings"
|
|
1416 | + "cat ci_timings.txt"
|
|
1417 | 1417 | ],
|
1418 | 1418 | "allow_failure": false,
|
1419 | 1419 | "artifacts": {
|
... | ... | @@ -1479,7 +1479,7 @@ |
1479 | 1479 | ".gitlab/ci.sh save_cache",
|
1480 | 1480 | ".gitlab/ci.sh save_test_output",
|
1481 | 1481 | ".gitlab/ci.sh clean",
|
1482 | - "cat ci_timings"
|
|
1482 | + "cat ci_timings.txt"
|
|
1483 | 1483 | ],
|
1484 | 1484 | "allow_failure": true,
|
1485 | 1485 | "artifacts": {
|
... | ... | @@ -1543,7 +1543,7 @@ |
1543 | 1543 | ".gitlab/ci.sh save_cache",
|
1544 | 1544 | ".gitlab/ci.sh save_test_output",
|
1545 | 1545 | ".gitlab/ci.sh clean",
|
1546 | - "cat ci_timings"
|
|
1546 | + "cat ci_timings.txt"
|
|
1547 | 1547 | ],
|
1548 | 1548 | "allow_failure": false,
|
1549 | 1549 | "artifacts": {
|
... | ... | @@ -1607,7 +1607,7 @@ |
1607 | 1607 | ".gitlab/ci.sh save_cache",
|
1608 | 1608 | ".gitlab/ci.sh save_test_output",
|
1609 | 1609 | ".gitlab/ci.sh clean",
|
1610 | - "cat ci_timings"
|
|
1610 | + "cat ci_timings.txt"
|
|
1611 | 1611 | ],
|
1612 | 1612 | "allow_failure": false,
|
1613 | 1613 | "artifacts": {
|
... | ... | @@ -1671,7 +1671,7 @@ |
1671 | 1671 | ".gitlab/ci.sh save_cache",
|
1672 | 1672 | ".gitlab/ci.sh save_test_output",
|
1673 | 1673 | ".gitlab/ci.sh clean",
|
1674 | - "cat ci_timings"
|
|
1674 | + "cat ci_timings.txt"
|
|
1675 | 1675 | ],
|
1676 | 1676 | "allow_failure": false,
|
1677 | 1677 | "artifacts": {
|
... | ... | @@ -1735,7 +1735,7 @@ |
1735 | 1735 | ".gitlab/ci.sh save_cache",
|
1736 | 1736 | ".gitlab/ci.sh save_test_output",
|
1737 | 1737 | ".gitlab/ci.sh clean",
|
1738 | - "cat ci_timings"
|
|
1738 | + "cat ci_timings.txt"
|
|
1739 | 1739 | ],
|
1740 | 1740 | "allow_failure": false,
|
1741 | 1741 | "artifacts": {
|
... | ... | @@ -1800,7 +1800,7 @@ |
1800 | 1800 | ".gitlab/ci.sh save_cache",
|
1801 | 1801 | ".gitlab/ci.sh save_test_output",
|
1802 | 1802 | ".gitlab/ci.sh clean",
|
1803 | - "cat ci_timings"
|
|
1803 | + "cat ci_timings.txt"
|
|
1804 | 1804 | ],
|
1805 | 1805 | "allow_failure": false,
|
1806 | 1806 | "artifacts": {
|
... | ... | @@ -1865,7 +1865,7 @@ |
1865 | 1865 | ".gitlab/ci.sh save_cache",
|
1866 | 1866 | ".gitlab/ci.sh save_test_output",
|
1867 | 1867 | ".gitlab/ci.sh clean",
|
1868 | - "cat ci_timings"
|
|
1868 | + "cat ci_timings.txt"
|
|
1869 | 1869 | ],
|
1870 | 1870 | "allow_failure": false,
|
1871 | 1871 | "artifacts": {
|
... | ... | @@ -1930,7 +1930,7 @@ |
1930 | 1930 | ".gitlab/ci.sh save_cache",
|
1931 | 1931 | ".gitlab/ci.sh save_test_output",
|
1932 | 1932 | ".gitlab/ci.sh clean",
|
1933 | - "cat ci_timings"
|
|
1933 | + "cat ci_timings.txt"
|
|
1934 | 1934 | ],
|
1935 | 1935 | "allow_failure": false,
|
1936 | 1936 | "artifacts": {
|
... | ... | @@ -1993,7 +1993,7 @@ |
1993 | 1993 | ".gitlab/ci.sh save_cache",
|
1994 | 1994 | ".gitlab/ci.sh save_test_output",
|
1995 | 1995 | ".gitlab/ci.sh clean",
|
1996 | - "cat ci_timings"
|
|
1996 | + "cat ci_timings.txt"
|
|
1997 | 1997 | ],
|
1998 | 1998 | "allow_failure": false,
|
1999 | 1999 | "artifacts": {
|
... | ... | @@ -2056,7 +2056,7 @@ |
2056 | 2056 | ".gitlab/ci.sh save_cache",
|
2057 | 2057 | ".gitlab/ci.sh save_test_output",
|
2058 | 2058 | ".gitlab/ci.sh clean",
|
2059 | - "cat ci_timings"
|
|
2059 | + "cat ci_timings.txt"
|
|
2060 | 2060 | ],
|
2061 | 2061 | "allow_failure": false,
|
2062 | 2062 | "artifacts": {
|
... | ... | @@ -2121,7 +2121,7 @@ |
2121 | 2121 | ".gitlab/ci.sh save_cache",
|
2122 | 2122 | ".gitlab/ci.sh save_test_output",
|
2123 | 2123 | ".gitlab/ci.sh clean",
|
2124 | - "cat ci_timings"
|
|
2124 | + "cat ci_timings.txt"
|
|
2125 | 2125 | ],
|
2126 | 2126 | "allow_failure": false,
|
2127 | 2127 | "artifacts": {
|
... | ... | @@ -2187,7 +2187,7 @@ |
2187 | 2187 | ".gitlab/ci.sh save_cache",
|
2188 | 2188 | ".gitlab/ci.sh save_test_output",
|
2189 | 2189 | ".gitlab/ci.sh clean",
|
2190 | - "cat ci_timings"
|
|
2190 | + "cat ci_timings.txt"
|
|
2191 | 2191 | ],
|
2192 | 2192 | "allow_failure": false,
|
2193 | 2193 | "artifacts": {
|
... | ... | @@ -2250,7 +2250,7 @@ |
2250 | 2250 | ".gitlab/ci.sh save_cache",
|
2251 | 2251 | ".gitlab/ci.sh save_test_output",
|
2252 | 2252 | ".gitlab/ci.sh clean",
|
2253 | - "cat ci_timings"
|
|
2253 | + "cat ci_timings.txt"
|
|
2254 | 2254 | ],
|
2255 | 2255 | "allow_failure": false,
|
2256 | 2256 | "artifacts": {
|
... | ... | @@ -2313,7 +2313,7 @@ |
2313 | 2313 | ".gitlab/ci.sh save_cache",
|
2314 | 2314 | ".gitlab/ci.sh save_test_output",
|
2315 | 2315 | ".gitlab/ci.sh clean",
|
2316 | - "cat ci_timings"
|
|
2316 | + "cat ci_timings.txt"
|
|
2317 | 2317 | ],
|
2318 | 2318 | "allow_failure": true,
|
2319 | 2319 | "artifacts": {
|
... | ... | @@ -2376,7 +2376,7 @@ |
2376 | 2376 | ".gitlab/ci.sh save_cache",
|
2377 | 2377 | ".gitlab/ci.sh save_test_output",
|
2378 | 2378 | ".gitlab/ci.sh clean",
|
2379 | - "cat ci_timings"
|
|
2379 | + "cat ci_timings.txt"
|
|
2380 | 2380 | ],
|
2381 | 2381 | "allow_failure": false,
|
2382 | 2382 | "artifacts": {
|
... | ... | @@ -2440,7 +2440,7 @@ |
2440 | 2440 | ".gitlab/ci.sh save_cache",
|
2441 | 2441 | ".gitlab/ci.sh save_test_output",
|
2442 | 2442 | ".gitlab/ci.sh clean",
|
2443 | - "cat ci_timings"
|
|
2443 | + "cat ci_timings.txt"
|
|
2444 | 2444 | ],
|
2445 | 2445 | "allow_failure": false,
|
2446 | 2446 | "artifacts": {
|
... | ... | @@ -2503,7 +2503,7 @@ |
2503 | 2503 | ".gitlab/ci.sh save_cache",
|
2504 | 2504 | ".gitlab/ci.sh save_test_output",
|
2505 | 2505 | ".gitlab/ci.sh clean",
|
2506 | - "cat ci_timings"
|
|
2506 | + "cat ci_timings.txt"
|
|
2507 | 2507 | ],
|
2508 | 2508 | "allow_failure": false,
|
2509 | 2509 | "artifacts": {
|
... | ... | @@ -2568,7 +2568,7 @@ |
2568 | 2568 | ".gitlab/ci.sh save_cache",
|
2569 | 2569 | ".gitlab/ci.sh save_test_output",
|
2570 | 2570 | ".gitlab/ci.sh clean",
|
2571 | - "cat ci_timings"
|
|
2571 | + "cat ci_timings.txt"
|
|
2572 | 2572 | ],
|
2573 | 2573 | "allow_failure": false,
|
2574 | 2574 | "artifacts": {
|
... | ... | @@ -2631,7 +2631,7 @@ |
2631 | 2631 | ".gitlab/ci.sh save_cache",
|
2632 | 2632 | ".gitlab/ci.sh save_test_output",
|
2633 | 2633 | ".gitlab/ci.sh clean",
|
2634 | - "cat ci_timings"
|
|
2634 | + "cat ci_timings.txt"
|
|
2635 | 2635 | ],
|
2636 | 2636 | "allow_failure": false,
|
2637 | 2637 | "artifacts": {
|
... | ... | @@ -2694,7 +2694,7 @@ |
2694 | 2694 | ".gitlab/ci.sh save_cache",
|
2695 | 2695 | ".gitlab/ci.sh save_test_output",
|
2696 | 2696 | ".gitlab/ci.sh clean",
|
2697 | - "cat ci_timings"
|
|
2697 | + "cat ci_timings.txt"
|
|
2698 | 2698 | ],
|
2699 | 2699 | "allow_failure": false,
|
2700 | 2700 | "artifacts": {
|
... | ... | @@ -2757,7 +2757,7 @@ |
2757 | 2757 | ".gitlab/ci.sh save_cache",
|
2758 | 2758 | ".gitlab/ci.sh save_test_output",
|
2759 | 2759 | ".gitlab/ci.sh clean",
|
2760 | - "cat ci_timings"
|
|
2760 | + "cat ci_timings.txt"
|
|
2761 | 2761 | ],
|
2762 | 2762 | "allow_failure": false,
|
2763 | 2763 | "artifacts": {
|
... | ... | @@ -2820,7 +2820,7 @@ |
2820 | 2820 | ".gitlab/ci.sh save_cache",
|
2821 | 2821 | ".gitlab/ci.sh save_test_output",
|
2822 | 2822 | ".gitlab/ci.sh clean",
|
2823 | - "cat ci_timings"
|
|
2823 | + "cat ci_timings.txt"
|
|
2824 | 2824 | ],
|
2825 | 2825 | "allow_failure": true,
|
2826 | 2826 | "artifacts": {
|
... | ... | @@ -2885,7 +2885,7 @@ |
2885 | 2885 | ".gitlab/ci.sh save_cache",
|
2886 | 2886 | ".gitlab/ci.sh save_test_output",
|
2887 | 2887 | ".gitlab/ci.sh clean",
|
2888 | - "cat ci_timings"
|
|
2888 | + "cat ci_timings.txt"
|
|
2889 | 2889 | ],
|
2890 | 2890 | "allow_failure": false,
|
2891 | 2891 | "artifacts": {
|
... | ... | @@ -2948,7 +2948,7 @@ |
2948 | 2948 | ".gitlab/ci.sh save_cache",
|
2949 | 2949 | ".gitlab/ci.sh save_test_output",
|
2950 | 2950 | ".gitlab/ci.sh clean",
|
2951 | - "cat ci_timings"
|
|
2951 | + "cat ci_timings.txt"
|
|
2952 | 2952 | ],
|
2953 | 2953 | "allow_failure": false,
|
2954 | 2954 | "artifacts": {
|
... | ... | @@ -3011,7 +3011,7 @@ |
3011 | 3011 | ".gitlab/ci.sh save_cache",
|
3012 | 3012 | ".gitlab/ci.sh save_test_output",
|
3013 | 3013 | ".gitlab/ci.sh clean",
|
3014 | - "cat ci_timings"
|
|
3014 | + "cat ci_timings.txt"
|
|
3015 | 3015 | ],
|
3016 | 3016 | "allow_failure": false,
|
3017 | 3017 | "artifacts": {
|
... | ... | @@ -3076,7 +3076,7 @@ |
3076 | 3076 | ".gitlab/ci.sh save_cache",
|
3077 | 3077 | ".gitlab/ci.sh save_test_output",
|
3078 | 3078 | ".gitlab/ci.sh clean",
|
3079 | - "cat ci_timings"
|
|
3079 | + "cat ci_timings.txt"
|
|
3080 | 3080 | ],
|
3081 | 3081 | "allow_failure": false,
|
3082 | 3082 | "artifacts": {
|
... | ... | @@ -3142,7 +3142,7 @@ |
3142 | 3142 | ".gitlab/ci.sh save_cache",
|
3143 | 3143 | ".gitlab/ci.sh save_test_output",
|
3144 | 3144 | ".gitlab/ci.sh clean",
|
3145 | - "cat ci_timings"
|
|
3145 | + "cat ci_timings.txt"
|
|
3146 | 3146 | ],
|
3147 | 3147 | "allow_failure": false,
|
3148 | 3148 | "artifacts": {
|
... | ... | @@ -3207,7 +3207,7 @@ |
3207 | 3207 | ".gitlab/ci.sh save_cache",
|
3208 | 3208 | ".gitlab/ci.sh save_test_output",
|
3209 | 3209 | ".gitlab/ci.sh clean",
|
3210 | - "cat ci_timings"
|
|
3210 | + "cat ci_timings.txt"
|
|
3211 | 3211 | ],
|
3212 | 3212 | "allow_failure": false,
|
3213 | 3213 | "artifacts": {
|
... | ... | @@ -3270,7 +3270,7 @@ |
3270 | 3270 | ".gitlab/ci.sh save_cache",
|
3271 | 3271 | ".gitlab/ci.sh save_test_output",
|
3272 | 3272 | ".gitlab/ci.sh clean",
|
3273 | - "cat ci_timings"
|
|
3273 | + "cat ci_timings.txt"
|
|
3274 | 3274 | ],
|
3275 | 3275 | "allow_failure": false,
|
3276 | 3276 | "artifacts": {
|
... | ... | @@ -3333,7 +3333,7 @@ |
3333 | 3333 | ".gitlab/ci.sh save_cache",
|
3334 | 3334 | ".gitlab/ci.sh save_test_output",
|
3335 | 3335 | ".gitlab/ci.sh clean",
|
3336 | - "cat ci_timings"
|
|
3336 | + "cat ci_timings.txt"
|
|
3337 | 3337 | ],
|
3338 | 3338 | "allow_failure": false,
|
3339 | 3339 | "artifacts": {
|
... | ... | @@ -3396,7 +3396,7 @@ |
3396 | 3396 | ".gitlab/ci.sh save_cache",
|
3397 | 3397 | ".gitlab/ci.sh save_test_output",
|
3398 | 3398 | ".gitlab/ci.sh clean",
|
3399 | - "cat ci_timings"
|
|
3399 | + "cat ci_timings.txt"
|
|
3400 | 3400 | ],
|
3401 | 3401 | "allow_failure": false,
|
3402 | 3402 | "artifacts": {
|
... | ... | @@ -3459,7 +3459,7 @@ |
3459 | 3459 | ".gitlab/ci.sh save_cache",
|
3460 | 3460 | ".gitlab/ci.sh save_test_output",
|
3461 | 3461 | ".gitlab/ci.sh clean",
|
3462 | - "cat ci_timings"
|
|
3462 | + "cat ci_timings.txt"
|
|
3463 | 3463 | ],
|
3464 | 3464 | "allow_failure": false,
|
3465 | 3465 | "artifacts": {
|
... | ... | @@ -3587,7 +3587,7 @@ |
3587 | 3587 | ".gitlab/ci.sh save_cache",
|
3588 | 3588 | ".gitlab/ci.sh save_test_output",
|
3589 | 3589 | ".gitlab/ci.sh clean",
|
3590 | - "cat ci_timings"
|
|
3590 | + "cat ci_timings.txt"
|
|
3591 | 3591 | ],
|
3592 | 3592 | "allow_failure": false,
|
3593 | 3593 | "artifacts": {
|
... | ... | @@ -3776,7 +3776,7 @@ |
3776 | 3776 | ".gitlab/ci.sh save_cache",
|
3777 | 3777 | ".gitlab/ci.sh save_test_output",
|
3778 | 3778 | ".gitlab/ci.sh clean",
|
3779 | - "cat ci_timings"
|
|
3779 | + "cat ci_timings.txt"
|
|
3780 | 3780 | ],
|
3781 | 3781 | "allow_failure": false,
|
3782 | 3782 | "artifacts": {
|
... | ... | @@ -3844,7 +3844,7 @@ |
3844 | 3844 | ".gitlab/ci.sh save_cache",
|
3845 | 3845 | ".gitlab/ci.sh save_test_output",
|
3846 | 3846 | ".gitlab/ci.sh clean",
|
3847 | - "cat ci_timings"
|
|
3847 | + "cat ci_timings.txt"
|
|
3848 | 3848 | ],
|
3849 | 3849 | "allow_failure": false,
|
3850 | 3850 | "artifacts": {
|
... | ... | @@ -3909,7 +3909,7 @@ |
3909 | 3909 | ".gitlab/ci.sh save_cache",
|
3910 | 3910 | ".gitlab/ci.sh save_test_output",
|
3911 | 3911 | ".gitlab/ci.sh clean",
|
3912 | - "cat ci_timings"
|
|
3912 | + "cat ci_timings.txt"
|
|
3913 | 3913 | ],
|
3914 | 3914 | "allow_failure": false,
|
3915 | 3915 | "artifacts": {
|
... | ... | @@ -3973,7 +3973,7 @@ |
3973 | 3973 | ".gitlab/ci.sh save_cache",
|
3974 | 3974 | ".gitlab/ci.sh save_test_output",
|
3975 | 3975 | ".gitlab/ci.sh clean",
|
3976 | - "cat ci_timings"
|
|
3976 | + "cat ci_timings.txt"
|
|
3977 | 3977 | ],
|
3978 | 3978 | "allow_failure": false,
|
3979 | 3979 | "artifacts": {
|
... | ... | @@ -4037,7 +4037,7 @@ |
4037 | 4037 | ".gitlab/ci.sh save_cache",
|
4038 | 4038 | ".gitlab/ci.sh save_test_output",
|
4039 | 4039 | ".gitlab/ci.sh clean",
|
4040 | - "cat ci_timings"
|
|
4040 | + "cat ci_timings.txt"
|
|
4041 | 4041 | ],
|
4042 | 4042 | "allow_failure": true,
|
4043 | 4043 | "artifacts": {
|
... | ... | @@ -4102,7 +4102,7 @@ |
4102 | 4102 | ".gitlab/ci.sh save_cache",
|
4103 | 4103 | ".gitlab/ci.sh save_test_output",
|
4104 | 4104 | ".gitlab/ci.sh clean",
|
4105 | - "cat ci_timings"
|
|
4105 | + "cat ci_timings.txt"
|
|
4106 | 4106 | ],
|
4107 | 4107 | "allow_failure": false,
|
4108 | 4108 | "artifacts": {
|
... | ... | @@ -4166,7 +4166,7 @@ |
4166 | 4166 | ".gitlab/ci.sh save_cache",
|
4167 | 4167 | ".gitlab/ci.sh save_test_output",
|
4168 | 4168 | ".gitlab/ci.sh clean",
|
4169 | - "cat ci_timings"
|
|
4169 | + "cat ci_timings.txt"
|
|
4170 | 4170 | ],
|
4171 | 4171 | "allow_failure": false,
|
4172 | 4172 | "artifacts": {
|
... | ... | @@ -4230,7 +4230,7 @@ |
4230 | 4230 | ".gitlab/ci.sh save_cache",
|
4231 | 4231 | ".gitlab/ci.sh save_test_output",
|
4232 | 4232 | ".gitlab/ci.sh clean",
|
4233 | - "cat ci_timings"
|
|
4233 | + "cat ci_timings.txt"
|
|
4234 | 4234 | ],
|
4235 | 4235 | "allow_failure": false,
|
4236 | 4236 | "artifacts": {
|
... | ... | @@ -4301,7 +4301,7 @@ |
4301 | 4301 | ".gitlab/ci.sh save_cache",
|
4302 | 4302 | ".gitlab/ci.sh save_test_output",
|
4303 | 4303 | ".gitlab/ci.sh clean",
|
4304 | - "cat ci_timings"
|
|
4304 | + "cat ci_timings.txt"
|
|
4305 | 4305 | ],
|
4306 | 4306 | "allow_failure": false,
|
4307 | 4307 | "artifacts": {
|
... | ... | @@ -4368,7 +4368,7 @@ |
4368 | 4368 | ".gitlab/ci.sh save_cache",
|
4369 | 4369 | ".gitlab/ci.sh save_test_output",
|
4370 | 4370 | ".gitlab/ci.sh clean",
|
4371 | - "cat ci_timings"
|
|
4371 | + "cat ci_timings.txt"
|
|
4372 | 4372 | ],
|
4373 | 4373 | "allow_failure": true,
|
4374 | 4374 | "artifacts": {
|
... | ... | @@ -4433,7 +4433,7 @@ |
4433 | 4433 | ".gitlab/ci.sh save_cache",
|
4434 | 4434 | ".gitlab/ci.sh save_test_output",
|
4435 | 4435 | ".gitlab/ci.sh clean",
|
4436 | - "cat ci_timings"
|
|
4436 | + "cat ci_timings.txt"
|
|
4437 | 4437 | ],
|
4438 | 4438 | "allow_failure": false,
|
4439 | 4439 | "artifacts": {
|
... | ... | @@ -4498,7 +4498,7 @@ |
4498 | 4498 | ".gitlab/ci.sh save_cache",
|
4499 | 4499 | ".gitlab/ci.sh save_test_output",
|
4500 | 4500 | ".gitlab/ci.sh clean",
|
4501 | - "cat ci_timings"
|
|
4501 | + "cat ci_timings.txt"
|
|
4502 | 4502 | ],
|
4503 | 4503 | "allow_failure": false,
|
4504 | 4504 | "artifacts": {
|
... | ... | @@ -4563,7 +4563,7 @@ |
4563 | 4563 | ".gitlab/ci.sh save_cache",
|
4564 | 4564 | ".gitlab/ci.sh save_test_output",
|
4565 | 4565 | ".gitlab/ci.sh clean",
|
4566 | - "cat ci_timings"
|
|
4566 | + "cat ci_timings.txt"
|
|
4567 | 4567 | ],
|
4568 | 4568 | "allow_failure": false,
|
4569 | 4569 | "artifacts": {
|
... | ... | @@ -4628,7 +4628,7 @@ |
4628 | 4628 | ".gitlab/ci.sh save_cache",
|
4629 | 4629 | ".gitlab/ci.sh save_test_output",
|
4630 | 4630 | ".gitlab/ci.sh clean",
|
4631 | - "cat ci_timings"
|
|
4631 | + "cat ci_timings.txt"
|
|
4632 | 4632 | ],
|
4633 | 4633 | "allow_failure": false,
|
4634 | 4634 | "artifacts": {
|
... | ... | @@ -4692,7 +4692,7 @@ |
4692 | 4692 | ".gitlab/ci.sh save_cache",
|
4693 | 4693 | ".gitlab/ci.sh save_test_output",
|
4694 | 4694 | ".gitlab/ci.sh clean",
|
4695 | - "cat ci_timings"
|
|
4695 | + "cat ci_timings.txt"
|
|
4696 | 4696 | ],
|
4697 | 4697 | "allow_failure": false,
|
4698 | 4698 | "artifacts": {
|
... | ... | @@ -4756,7 +4756,7 @@ |
4756 | 4756 | ".gitlab/ci.sh save_cache",
|
4757 | 4757 | ".gitlab/ci.sh save_test_output",
|
4758 | 4758 | ".gitlab/ci.sh clean",
|
4759 | - "cat ci_timings"
|
|
4759 | + "cat ci_timings.txt"
|
|
4760 | 4760 | ],
|
4761 | 4761 | "allow_failure": false,
|
4762 | 4762 | "artifacts": {
|
... | ... | @@ -4820,7 +4820,7 @@ |
4820 | 4820 | ".gitlab/ci.sh save_cache",
|
4821 | 4821 | ".gitlab/ci.sh save_test_output",
|
4822 | 4822 | ".gitlab/ci.sh clean",
|
4823 | - "cat ci_timings"
|
|
4823 | + "cat ci_timings.txt"
|
|
4824 | 4824 | ],
|
4825 | 4825 | "allow_failure": false,
|
4826 | 4826 | "artifacts": {
|
... | ... | @@ -4884,7 +4884,7 @@ |
4884 | 4884 | ".gitlab/ci.sh save_cache",
|
4885 | 4885 | ".gitlab/ci.sh save_test_output",
|
4886 | 4886 | ".gitlab/ci.sh clean",
|
4887 | - "cat ci_timings"
|
|
4887 | + "cat ci_timings.txt"
|
|
4888 | 4888 | ],
|
4889 | 4889 | "allow_failure": false,
|
4890 | 4890 | "artifacts": {
|
... | ... | @@ -4948,7 +4948,7 @@ |
4948 | 4948 | ".gitlab/ci.sh save_cache",
|
4949 | 4949 | ".gitlab/ci.sh save_test_output",
|
4950 | 4950 | ".gitlab/ci.sh clean",
|
4951 | - "cat ci_timings"
|
|
4951 | + "cat ci_timings.txt"
|
|
4952 | 4952 | ],
|
4953 | 4953 | "allow_failure": false,
|
4954 | 4954 | "artifacts": {
|
... | ... | @@ -5014,7 +5014,7 @@ |
5014 | 5014 | ".gitlab/ci.sh save_cache",
|
5015 | 5015 | ".gitlab/ci.sh save_test_output",
|
5016 | 5016 | ".gitlab/ci.sh clean",
|
5017 | - "cat ci_timings"
|
|
5017 | + "cat ci_timings.txt"
|
|
5018 | 5018 | ],
|
5019 | 5019 | "allow_failure": false,
|
5020 | 5020 | "artifacts": {
|
... | ... | @@ -5080,7 +5080,7 @@ |
5080 | 5080 | ".gitlab/ci.sh save_cache",
|
5081 | 5081 | ".gitlab/ci.sh save_test_output",
|
5082 | 5082 | ".gitlab/ci.sh clean",
|
5083 | - "cat ci_timings"
|
|
5083 | + "cat ci_timings.txt"
|
|
5084 | 5084 | ],
|
5085 | 5085 | "allow_failure": false,
|
5086 | 5086 | "artifacts": {
|
... | ... | @@ -5147,7 +5147,7 @@ |
5147 | 5147 | ".gitlab/ci.sh save_cache",
|
5148 | 5148 | ".gitlab/ci.sh save_test_output",
|
5149 | 5149 | ".gitlab/ci.sh clean",
|
5150 | - "cat ci_timings"
|
|
5150 | + "cat ci_timings.txt"
|
|
5151 | 5151 | ],
|
5152 | 5152 | "allow_failure": false,
|
5153 | 5153 | "artifacts": {
|
... | ... | @@ -5211,7 +5211,7 @@ |
5211 | 5211 | ".gitlab/ci.sh save_cache",
|
5212 | 5212 | ".gitlab/ci.sh save_test_output",
|
5213 | 5213 | ".gitlab/ci.sh clean",
|
5214 | - "cat ci_timings"
|
|
5214 | + "cat ci_timings.txt"
|
|
5215 | 5215 | ],
|
5216 | 5216 | "allow_failure": false,
|
5217 | 5217 | "artifacts": {
|
... | ... | @@ -5275,7 +5275,7 @@ |
5275 | 5275 | ".gitlab/ci.sh save_cache",
|
5276 | 5276 | ".gitlab/ci.sh save_test_output",
|
5277 | 5277 | ".gitlab/ci.sh clean",
|
5278 | - "cat ci_timings"
|
|
5278 | + "cat ci_timings.txt"
|
|
5279 | 5279 | ],
|
5280 | 5280 | "allow_failure": false,
|
5281 | 5281 | "artifacts": {
|
... | ... | @@ -5339,7 +5339,7 @@ |
5339 | 5339 | ".gitlab/ci.sh save_cache",
|
5340 | 5340 | ".gitlab/ci.sh save_test_output",
|
5341 | 5341 | ".gitlab/ci.sh clean",
|
5342 | - "cat ci_timings"
|
|
5342 | + "cat ci_timings.txt"
|
|
5343 | 5343 | ],
|
5344 | 5344 | "allow_failure": false,
|
5345 | 5345 | "artifacts": {
|
... | ... | @@ -5403,7 +5403,7 @@ |
5403 | 5403 | ".gitlab/ci.sh save_cache",
|
5404 | 5404 | ".gitlab/ci.sh save_test_output",
|
5405 | 5405 | ".gitlab/ci.sh clean",
|
5406 | - "cat ci_timings"
|
|
5406 | + "cat ci_timings.txt"
|
|
5407 | 5407 | ],
|
5408 | 5408 | "allow_failure": false,
|
5409 | 5409 | "artifacts": {
|
... | ... | @@ -5467,7 +5467,7 @@ |
5467 | 5467 | ".gitlab/ci.sh save_cache",
|
5468 | 5468 | ".gitlab/ci.sh save_test_output",
|
5469 | 5469 | ".gitlab/ci.sh clean",
|
5470 | - "cat ci_timings"
|
|
5470 | + "cat ci_timings.txt"
|
|
5471 | 5471 | ],
|
5472 | 5472 | "allow_failure": false,
|
5473 | 5473 | "artifacts": {
|
... | ... | @@ -5659,7 +5659,7 @@ |
5659 | 5659 | ".gitlab/ci.sh save_cache",
|
5660 | 5660 | ".gitlab/ci.sh save_test_output",
|
5661 | 5661 | ".gitlab/ci.sh clean",
|
5662 | - "cat ci_timings"
|
|
5662 | + "cat ci_timings.txt"
|
|
5663 | 5663 | ],
|
5664 | 5664 | "allow_failure": false,
|
5665 | 5665 | "artifacts": {
|
... | ... | @@ -5728,7 +5728,7 @@ |
5728 | 5728 | ".gitlab/ci.sh save_cache",
|
5729 | 5729 | ".gitlab/ci.sh save_test_output",
|
5730 | 5730 | ".gitlab/ci.sh clean",
|
5731 | - "cat ci_timings"
|
|
5731 | + "cat ci_timings.txt"
|
|
5732 | 5732 | ],
|
5733 | 5733 | "allow_failure": false,
|
5734 | 5734 | "artifacts": {
|
... | ... | @@ -5793,7 +5793,7 @@ |
5793 | 5793 | ".gitlab/ci.sh save_cache",
|
5794 | 5794 | ".gitlab/ci.sh save_test_output",
|
5795 | 5795 | ".gitlab/ci.sh clean",
|
5796 | - "cat ci_timings"
|
|
5796 | + "cat ci_timings.txt"
|
|
5797 | 5797 | ],
|
5798 | 5798 | "allow_failure": true,
|
5799 | 5799 | "artifacts": {
|
... | ... | @@ -5856,7 +5856,7 @@ |
5856 | 5856 | ".gitlab/ci.sh save_cache",
|
5857 | 5857 | ".gitlab/ci.sh save_test_output",
|
5858 | 5858 | ".gitlab/ci.sh clean",
|
5859 | - "cat ci_timings"
|
|
5859 | + "cat ci_timings.txt"
|
|
5860 | 5860 | ],
|
5861 | 5861 | "allow_failure": false,
|
5862 | 5862 | "artifacts": {
|
... | ... | @@ -5919,7 +5919,7 @@ |
5919 | 5919 | ".gitlab/ci.sh save_cache",
|
5920 | 5920 | ".gitlab/ci.sh save_test_output",
|
5921 | 5921 | ".gitlab/ci.sh clean",
|
5922 | - "cat ci_timings"
|
|
5922 | + "cat ci_timings.txt"
|
|
5923 | 5923 | ],
|
5924 | 5924 | "allow_failure": false,
|
5925 | 5925 | "artifacts": {
|
... | ... | @@ -5982,7 +5982,7 @@ |
5982 | 5982 | ".gitlab/ci.sh save_cache",
|
5983 | 5983 | ".gitlab/ci.sh save_test_output",
|
5984 | 5984 | ".gitlab/ci.sh clean",
|
5985 | - "cat ci_timings"
|
|
5985 | + "cat ci_timings.txt"
|
|
5986 | 5986 | ],
|
5987 | 5987 | "allow_failure": false,
|
5988 | 5988 | "artifacts": {
|
... | ... | @@ -6045,7 +6045,7 @@ |
6045 | 6045 | ".gitlab/ci.sh save_cache",
|
6046 | 6046 | ".gitlab/ci.sh save_test_output",
|
6047 | 6047 | ".gitlab/ci.sh clean",
|
6048 | - "cat ci_timings"
|
|
6048 | + "cat ci_timings.txt"
|
|
6049 | 6049 | ],
|
6050 | 6050 | "allow_failure": false,
|
6051 | 6051 | "artifacts": {
|
... | ... | @@ -6109,7 +6109,7 @@ |
6109 | 6109 | ".gitlab/ci.sh save_cache",
|
6110 | 6110 | ".gitlab/ci.sh save_test_output",
|
6111 | 6111 | ".gitlab/ci.sh clean",
|
6112 | - "cat ci_timings"
|
|
6112 | + "cat ci_timings.txt"
|
|
6113 | 6113 | ],
|
6114 | 6114 | "allow_failure": false,
|
6115 | 6115 | "artifacts": {
|
... | ... | @@ -6174,7 +6174,7 @@ |
6174 | 6174 | ".gitlab/ci.sh save_cache",
|
6175 | 6175 | ".gitlab/ci.sh save_test_output",
|
6176 | 6176 | ".gitlab/ci.sh clean",
|
6177 | - "cat ci_timings"
|
|
6177 | + "cat ci_timings.txt"
|
|
6178 | 6178 | ],
|
6179 | 6179 | "allow_failure": false,
|
6180 | 6180 | "artifacts": {
|
... | ... | @@ -6239,7 +6239,7 @@ |
6239 | 6239 | ".gitlab/ci.sh save_cache",
|
6240 | 6240 | ".gitlab/ci.sh save_test_output",
|
6241 | 6241 | ".gitlab/ci.sh clean",
|
6242 | - "cat ci_timings"
|
|
6242 | + "cat ci_timings.txt"
|
|
6243 | 6243 | ],
|
6244 | 6244 | "allow_failure": false,
|
6245 | 6245 | "artifacts": {
|
... | ... | @@ -6301,7 +6301,7 @@ |
6301 | 6301 | ".gitlab/ci.sh save_cache",
|
6302 | 6302 | ".gitlab/ci.sh save_test_output",
|
6303 | 6303 | ".gitlab/ci.sh clean",
|
6304 | - "cat ci_timings"
|
|
6304 | + "cat ci_timings.txt"
|
|
6305 | 6305 | ],
|
6306 | 6306 | "allow_failure": false,
|
6307 | 6307 | "artifacts": {
|
... | ... | @@ -6363,7 +6363,7 @@ |
6363 | 6363 | ".gitlab/ci.sh save_cache",
|
6364 | 6364 | ".gitlab/ci.sh save_test_output",
|
6365 | 6365 | ".gitlab/ci.sh clean",
|
6366 | - "cat ci_timings"
|
|
6366 | + "cat ci_timings.txt"
|
|
6367 | 6367 | ],
|
6368 | 6368 | "allow_failure": false,
|
6369 | 6369 | "artifacts": {
|
... | ... | @@ -6427,7 +6427,7 @@ |
6427 | 6427 | ".gitlab/ci.sh save_cache",
|
6428 | 6428 | ".gitlab/ci.sh save_test_output",
|
6429 | 6429 | ".gitlab/ci.sh clean",
|
6430 | - "cat ci_timings"
|
|
6430 | + "cat ci_timings.txt"
|
|
6431 | 6431 | ],
|
6432 | 6432 | "allow_failure": false,
|
6433 | 6433 | "artifacts": {
|
... | ... | @@ -6492,7 +6492,7 @@ |
6492 | 6492 | ".gitlab/ci.sh save_cache",
|
6493 | 6493 | ".gitlab/ci.sh save_test_output",
|
6494 | 6494 | ".gitlab/ci.sh clean",
|
6495 | - "cat ci_timings"
|
|
6495 | + "cat ci_timings.txt"
|
|
6496 | 6496 | ],
|
6497 | 6497 | "allow_failure": false,
|
6498 | 6498 | "artifacts": {
|
... | ... | @@ -6554,7 +6554,7 @@ |
6554 | 6554 | ".gitlab/ci.sh save_cache",
|
6555 | 6555 | ".gitlab/ci.sh save_test_output",
|
6556 | 6556 | ".gitlab/ci.sh clean",
|
6557 | - "cat ci_timings"
|
|
6557 | + "cat ci_timings.txt"
|
|
6558 | 6558 | ],
|
6559 | 6559 | "allow_failure": false,
|
6560 | 6560 | "artifacts": {
|
... | ... | @@ -6616,7 +6616,7 @@ |
6616 | 6616 | ".gitlab/ci.sh save_cache",
|
6617 | 6617 | ".gitlab/ci.sh save_test_output",
|
6618 | 6618 | ".gitlab/ci.sh clean",
|
6619 | - "cat ci_timings"
|
|
6619 | + "cat ci_timings.txt"
|
|
6620 | 6620 | ],
|
6621 | 6621 | "allow_failure": false,
|
6622 | 6622 | "artifacts": {
|
... | ... | @@ -6679,7 +6679,7 @@ |
6679 | 6679 | ".gitlab/ci.sh save_cache",
|
6680 | 6680 | ".gitlab/ci.sh save_test_output",
|
6681 | 6681 | ".gitlab/ci.sh clean",
|
6682 | - "cat ci_timings"
|
|
6682 | + "cat ci_timings.txt"
|
|
6683 | 6683 | ],
|
6684 | 6684 | "allow_failure": false,
|
6685 | 6685 | "artifacts": {
|
... | ... | @@ -6742,7 +6742,7 @@ |
6742 | 6742 | ".gitlab/ci.sh save_cache",
|
6743 | 6743 | ".gitlab/ci.sh save_test_output",
|
6744 | 6744 | ".gitlab/ci.sh clean",
|
6745 | - "cat ci_timings"
|
|
6745 | + "cat ci_timings.txt"
|
|
6746 | 6746 | ],
|
6747 | 6747 | "allow_failure": false,
|
6748 | 6748 | "artifacts": {
|
... | ... | @@ -6804,7 +6804,7 @@ |
6804 | 6804 | ".gitlab/ci.sh save_cache",
|
6805 | 6805 | ".gitlab/ci.sh save_test_output",
|
6806 | 6806 | ".gitlab/ci.sh clean",
|
6807 | - "cat ci_timings"
|
|
6807 | + "cat ci_timings.txt"
|
|
6808 | 6808 | ],
|
6809 | 6809 | "allow_failure": false,
|
6810 | 6810 | "artifacts": {
|
... | ... | @@ -6868,7 +6868,7 @@ |
6868 | 6868 | ".gitlab/ci.sh save_cache",
|
6869 | 6869 | ".gitlab/ci.sh save_test_output",
|
6870 | 6870 | ".gitlab/ci.sh clean",
|
6871 | - "cat ci_timings"
|
|
6871 | + "cat ci_timings.txt"
|
|
6872 | 6872 | ],
|
6873 | 6873 | "allow_failure": false,
|
6874 | 6874 | "artifacts": {
|
... | ... | @@ -6930,7 +6930,7 @@ |
6930 | 6930 | ".gitlab/ci.sh save_cache",
|
6931 | 6931 | ".gitlab/ci.sh save_test_output",
|
6932 | 6932 | ".gitlab/ci.sh clean",
|
6933 | - "cat ci_timings"
|
|
6933 | + "cat ci_timings.txt"
|
|
6934 | 6934 | ],
|
6935 | 6935 | "allow_failure": false,
|
6936 | 6936 | "artifacts": {
|
... | ... | @@ -6992,7 +6992,7 @@ |
6992 | 6992 | ".gitlab/ci.sh save_cache",
|
6993 | 6993 | ".gitlab/ci.sh save_test_output",
|
6994 | 6994 | ".gitlab/ci.sh clean",
|
6995 | - "cat ci_timings"
|
|
6995 | + "cat ci_timings.txt"
|
|
6996 | 6996 | ],
|
6997 | 6997 | "allow_failure": false,
|
6998 | 6998 | "artifacts": {
|
... | ... | @@ -7054,7 +7054,7 @@ |
7054 | 7054 | ".gitlab/ci.sh save_cache",
|
7055 | 7055 | ".gitlab/ci.sh save_test_output",
|
7056 | 7056 | ".gitlab/ci.sh clean",
|
7057 | - "cat ci_timings"
|
|
7057 | + "cat ci_timings.txt"
|
|
7058 | 7058 | ],
|
7059 | 7059 | "allow_failure": false,
|
7060 | 7060 | "artifacts": {
|
... | ... | @@ -7116,7 +7116,7 @@ |
7116 | 7116 | ".gitlab/ci.sh save_cache",
|
7117 | 7117 | ".gitlab/ci.sh save_test_output",
|
7118 | 7118 | ".gitlab/ci.sh clean",
|
7119 | - "cat ci_timings"
|
|
7119 | + "cat ci_timings.txt"
|
|
7120 | 7120 | ],
|
7121 | 7121 | "allow_failure": true,
|
7122 | 7122 | "artifacts": {
|
... | ... | @@ -7181,7 +7181,7 @@ |
7181 | 7181 | ".gitlab/ci.sh save_cache",
|
7182 | 7182 | ".gitlab/ci.sh save_test_output",
|
7183 | 7183 | ".gitlab/ci.sh clean",
|
7184 | - "cat ci_timings"
|
|
7184 | + "cat ci_timings.txt"
|
|
7185 | 7185 | ],
|
7186 | 7186 | "allow_failure": false,
|
7187 | 7187 | "artifacts": {
|
... | ... | @@ -7243,7 +7243,7 @@ |
7243 | 7243 | ".gitlab/ci.sh save_cache",
|
7244 | 7244 | ".gitlab/ci.sh save_test_output",
|
7245 | 7245 | ".gitlab/ci.sh clean",
|
7246 | - "cat ci_timings"
|
|
7246 | + "cat ci_timings.txt"
|
|
7247 | 7247 | ],
|
7248 | 7248 | "allow_failure": false,
|
7249 | 7249 | "artifacts": {
|
... | ... | @@ -7305,7 +7305,7 @@ |
7305 | 7305 | ".gitlab/ci.sh save_cache",
|
7306 | 7306 | ".gitlab/ci.sh save_test_output",
|
7307 | 7307 | ".gitlab/ci.sh clean",
|
7308 | - "cat ci_timings"
|
|
7308 | + "cat ci_timings.txt"
|
|
7309 | 7309 | ],
|
7310 | 7310 | "allow_failure": false,
|
7311 | 7311 | "artifacts": {
|
... | ... | @@ -7369,7 +7369,7 @@ |
7369 | 7369 | ".gitlab/ci.sh save_cache",
|
7370 | 7370 | ".gitlab/ci.sh save_test_output",
|
7371 | 7371 | ".gitlab/ci.sh clean",
|
7372 | - "cat ci_timings"
|
|
7372 | + "cat ci_timings.txt"
|
|
7373 | 7373 | ],
|
7374 | 7374 | "allow_failure": false,
|
7375 | 7375 | "artifacts": {
|
... | ... | @@ -7434,7 +7434,7 @@ |
7434 | 7434 | ".gitlab/ci.sh save_cache",
|
7435 | 7435 | ".gitlab/ci.sh save_test_output",
|
7436 | 7436 | ".gitlab/ci.sh clean",
|
7437 | - "cat ci_timings"
|
|
7437 | + "cat ci_timings.txt"
|
|
7438 | 7438 | ],
|
7439 | 7439 | "allow_failure": false,
|
7440 | 7440 | "artifacts": {
|
... | ... | @@ -7498,7 +7498,7 @@ |
7498 | 7498 | ".gitlab/ci.sh save_cache",
|
7499 | 7499 | ".gitlab/ci.sh save_test_output",
|
7500 | 7500 | ".gitlab/ci.sh clean",
|
7501 | - "cat ci_timings"
|
|
7501 | + "cat ci_timings.txt"
|
|
7502 | 7502 | ],
|
7503 | 7503 | "allow_failure": false,
|
7504 | 7504 | "artifacts": {
|
... | ... | @@ -7560,7 +7560,7 @@ |
7560 | 7560 | ".gitlab/ci.sh save_cache",
|
7561 | 7561 | ".gitlab/ci.sh save_test_output",
|
7562 | 7562 | ".gitlab/ci.sh clean",
|
7563 | - "cat ci_timings"
|
|
7563 | + "cat ci_timings.txt"
|
|
7564 | 7564 | ],
|
7565 | 7565 | "allow_failure": false,
|
7566 | 7566 | "artifacts": {
|
... | ... | @@ -7622,7 +7622,7 @@ |
7622 | 7622 | ".gitlab/ci.sh save_cache",
|
7623 | 7623 | ".gitlab/ci.sh save_test_output",
|
7624 | 7624 | ".gitlab/ci.sh clean",
|
7625 | - "cat ci_timings"
|
|
7625 | + "cat ci_timings.txt"
|
|
7626 | 7626 | ],
|
7627 | 7627 | "allow_failure": false,
|
7628 | 7628 | "artifacts": {
|
... | ... | @@ -7684,7 +7684,7 @@ |
7684 | 7684 | ".gitlab/ci.sh save_cache",
|
7685 | 7685 | ".gitlab/ci.sh save_test_output",
|
7686 | 7686 | ".gitlab/ci.sh clean",
|
7687 | - "cat ci_timings"
|
|
7687 | + "cat ci_timings.txt"
|
|
7688 | 7688 | ],
|
7689 | 7689 | "allow_failure": false,
|
7690 | 7690 | "artifacts": {
|
... | ... | @@ -7746,7 +7746,7 @@ |
7746 | 7746 | ".gitlab/ci.sh save_cache",
|
7747 | 7747 | ".gitlab/ci.sh save_test_output",
|
7748 | 7748 | ".gitlab/ci.sh clean",
|
7749 | - "cat ci_timings"
|
|
7749 | + "cat ci_timings.txt"
|
|
7750 | 7750 | ],
|
7751 | 7751 | "allow_failure": false,
|
7752 | 7752 | "artifacts": {
|
... | ... | @@ -7872,7 +7872,7 @@ |
7872 | 7872 | ".gitlab/ci.sh save_cache",
|
7873 | 7873 | ".gitlab/ci.sh save_test_output",
|
7874 | 7874 | ".gitlab/ci.sh clean",
|
7875 | - "cat ci_timings"
|
|
7875 | + "cat ci_timings.txt"
|
|
7876 | 7876 | ],
|
7877 | 7877 | "allow_failure": false,
|
7878 | 7878 | "artifacts": {
|
... | ... | @@ -928,21 +928,25 @@ getRegister' config plat expr |
928 | 928 | |
929 | 929 | CmmMachOp (MO_S_Shr w) [x, (CmmLit (CmmInt n _))] | w == W8, 0 <= n, n < 8 -> do
|
930 | 930 | (reg_x, _format_x, code_x) <- getSomeReg x
|
931 | - return $ Any (intFormat w) (\dst -> code_x `snocOL` annExpr expr (SBFX (OpReg w dst) (OpReg w reg_x) (OpImm (ImmInteger n)) (OpImm (ImmInteger (8-n)))))
|
|
931 | + return $ Any (intFormat w) (\dst -> code_x `snocOL` annExpr expr (SBFX (OpReg w dst) (OpReg w reg_x) (OpImm (ImmInteger n)) (OpImm (ImmInteger (8-n))))
|
|
932 | + `snocOL` (UXTB (OpReg w dst) (OpReg w dst))) -- See Note [Signed arithmetic on AArch64]
|
|
932 | 933 | CmmMachOp (MO_S_Shr w) [x, y] | w == W8 -> do
|
933 | 934 | (reg_x, _format_x, code_x) <- getSomeReg x
|
934 | 935 | (reg_y, _format_y, code_y) <- getSomeReg y
|
935 | 936 | return $ Any (intFormat w) (\dst -> code_x `appOL` code_y `snocOL` annExpr expr (SXTB (OpReg w reg_x) (OpReg w reg_x)) `snocOL`
|
936 | - (ASR (OpReg w dst) (OpReg w reg_x) (OpReg w reg_y)))
|
|
937 | + (ASR (OpReg w dst) (OpReg w reg_x) (OpReg w reg_y)) `snocOL`
|
|
938 | + (UXTB (OpReg w dst) (OpReg w dst))) -- See Note [Signed arithmetic on AArch64]
|
|
937 | 939 | |
938 | 940 | CmmMachOp (MO_S_Shr w) [x, (CmmLit (CmmInt n _))] | w == W16, 0 <= n, n < 16 -> do
|
939 | 941 | (reg_x, _format_x, code_x) <- getSomeReg x
|
940 | - return $ Any (intFormat w) (\dst -> code_x `snocOL` annExpr expr (SBFX (OpReg w dst) (OpReg w reg_x) (OpImm (ImmInteger n)) (OpImm (ImmInteger (16-n)))))
|
|
942 | + return $ Any (intFormat w) (\dst -> code_x `snocOL` annExpr expr (SBFX (OpReg w dst) (OpReg w reg_x) (OpImm (ImmInteger n)) (OpImm (ImmInteger (16-n))))
|
|
943 | + `snocOL` (UXTH (OpReg w dst) (OpReg w dst))) -- See Note [Signed arithmetic on AArch64]
|
|
941 | 944 | CmmMachOp (MO_S_Shr w) [x, y] | w == W16 -> do
|
942 | 945 | (reg_x, _format_x, code_x) <- getSomeReg x
|
943 | 946 | (reg_y, _format_y, code_y) <- getSomeReg y
|
944 | 947 | return $ Any (intFormat w) (\dst -> code_x `appOL` code_y `snocOL` annExpr expr (SXTH (OpReg w reg_x) (OpReg w reg_x)) `snocOL`
|
945 | - (ASR (OpReg w dst) (OpReg w reg_x) (OpReg w reg_y)))
|
|
948 | + (ASR (OpReg w dst) (OpReg w reg_x) (OpReg w reg_y)) `snocOL`
|
|
949 | + (UXTH (OpReg w dst) (OpReg w dst))) -- See Note [Signed arithmetic on AArch64]
|
|
946 | 950 | |
947 | 951 | CmmMachOp (MO_S_Shr w) [x, (CmmLit (CmmInt n _))]
|
948 | 952 | | w == W32 || w == W64
|
... | ... | @@ -6067,10 +6067,23 @@ genByteSwap width dst src = do |
6067 | 6067 | W64 | is32Bit -> do
|
6068 | 6068 | let Reg64 dst_hi dst_lo = localReg64 dst
|
6069 | 6069 | RegCode64 vcode rhi rlo <- iselExpr64 src
|
6070 | - return $ vcode `appOL`
|
|
6071 | - toOL [ MOV II32 (OpReg rlo) (OpReg dst_hi),
|
|
6072 | - MOV II32 (OpReg rhi) (OpReg dst_lo),
|
|
6073 | - BSWAP II32 dst_hi,
|
|
6070 | + tmp <- getNewRegNat II32
|
|
6071 | + -- Swap the low and high halves of the register.
|
|
6072 | + --
|
|
6073 | + -- NB: if dst_hi == rhi, we must make sure to preserve the contents
|
|
6074 | + -- of rhi before writing to dst_hi (#25601).
|
|
6075 | + let shuffle = if dst_hi == rhi && dst_lo == rlo then
|
|
6076 | + toOL [ MOV II32 (OpReg rhi) (OpReg tmp),
|
|
6077 | + MOV II32 (OpReg rlo) (OpReg dst_hi),
|
|
6078 | + MOV II32 (OpReg tmp) (OpReg dst_lo) ]
|
|
6079 | + else if dst_hi == rhi then
|
|
6080 | + toOL [ MOV II32 (OpReg rhi) (OpReg dst_lo),
|
|
6081 | + MOV II32 (OpReg rlo) (OpReg dst_hi) ]
|
|
6082 | + else
|
|
6083 | + toOL [ MOV II32 (OpReg rlo) (OpReg dst_hi),
|
|
6084 | + MOV II32 (OpReg rhi) (OpReg dst_lo) ]
|
|
6085 | + return $ vcode `appOL` shuffle `appOL`
|
|
6086 | + toOL [ BSWAP II32 dst_hi,
|
|
6074 | 6087 | BSWAP II32 dst_lo ]
|
6075 | 6088 | W16 -> do
|
6076 | 6089 | let dst_r = getLocalRegReg dst
|
... | ... | @@ -602,8 +602,14 @@ instance Diagnostic e => ToJson (MsgEnvelope e) where |
602 | 602 | where
|
603 | 603 | diag = errMsgDiagnostic m
|
604 | 604 | opts = defaultDiagnosticOpts @e
|
605 | - style = mkErrStyle (errMsgContext m)
|
|
606 | - ctx = defaultSDocContext {sdocStyle = style }
|
|
605 | + ctx = defaultSDocContext {
|
|
606 | + sdocStyle = mkErrStyle (errMsgContext m)
|
|
607 | + , sdocCanUseUnicode = True
|
|
608 | + -- Using Unicode makes it easier to consume the JSON output,
|
|
609 | + -- e.g. a suggestion to use foldl' will be displayed as
|
|
610 | + -- \u2018foldl'\u2019, which is not easily confused with
|
|
611 | + -- the quoted ‘foldl’ (note: no tick).
|
|
612 | + }
|
|
607 | 613 | diagMsg = filter (not . isEmpty ctx) (unDecorated (diagnosticMessage (opts) diag))
|
608 | 614 | renderToJSString :: SDoc -> JsonDoc
|
609 | 615 | renderToJSString = JSString . (renderWithContext ctx)
|
... | ... | @@ -35,7 +35,7 @@ getExtraArgs :: Args |
35 | 35 | getExtraArgs = expr flavour >>= extraArgs
|
36 | 36 | |
37 | 37 | getArgs :: Args
|
38 | -getArgs = mconcat [ defaultBuilderArgs, getExtraArgs, defaultPackageArgs ]
|
|
38 | +getArgs = mconcat [ defaultBuilderArgs, defaultPackageArgs, getExtraArgs ]
|
|
39 | 39 | |
40 | 40 | getLibraryWays :: Ways
|
41 | 41 | getLibraryWays = expr flavour >>= libraryWays
|
1 | +{-# LANGUAGE UnboxedTuples #-}
|
|
2 | +{-# LANGUAGE MagicHash #-}
|
|
3 | +{-# LANGUAGE ForeignFunctionInterface #-}
|
|
4 | +{-# LANGUAGE GHCForeignImportPrim #-}
|
|
5 | +{-# LANGUAGE UnliftedFFITypes #-}
|
|
6 | + |
|
7 | +import Numeric
|
|
8 | +import GHC.Prim
|
|
9 | +import GHC.Word
|
|
10 | +import GHC.IO
|
|
11 | +import GHC.Ptr
|
|
12 | +import Data.List
|
|
13 | +import qualified Data.ByteString as BS
|
|
14 | + |
|
15 | +foreign import prim "test" c_test :: Addr# -> State# RealWorld -> (# State# RealWorld, Word64# #)
|
|
16 | + |
|
17 | +main :: IO ()
|
|
18 | +main = do
|
|
19 | + let bs = BS.pack $ take 100000 [ fromIntegral i | i <- [(1 :: Int) ..] ]
|
|
20 | + n <- BS.useAsCString bs $ \(Ptr addr) -> IO $ \s ->
|
|
21 | + case c_test addr s of (# s', n #) -> (# s', W64# n #)
|
|
22 | + print $ showHex n "" |
1 | +"f3f1ffffffffffff" |
1 | +#include "Cmm.h"
|
|
2 | + |
|
3 | +test ( W_ buffer ) {
|
|
4 | + bits64 ret;
|
|
5 | + (ret) = prim %bswap64(%neg(%zx64(bits16[buffer + (12 :: W_)])));
|
|
6 | + return (ret);
|
|
7 | +} |
... | ... | @@ -47,3 +47,8 @@ test('AtomicFetch', |
47 | 47 | ],
|
48 | 48 | multi_compile_and_run,
|
49 | 49 | ['AtomicFetch', [('AtomicFetch_cmm.cmm', '')], ''])
|
50 | + |
|
51 | +test('T25601',
|
|
52 | + [req_cmm],
|
|
53 | + multi_compile_and_run,
|
|
54 | + ['T25601', [('T25601a.cmm', '')], '']) |
1 | +{-# LANGUAGE MagicHash #-}
|
|
2 | +{-# LANGUAGE ExtendedLiterals #-}
|
|
3 | +import GHC.Word
|
|
4 | +import GHC.Exts
|
|
5 | + |
|
6 | +f :: Int16# -> Word16#
|
|
7 | +f x = let !w = int16ToWord16# (x `uncheckedShiftRAInt16#` 1#)
|
|
8 | + in w `remWord16#` 13#Word16
|
|
9 | +{-# NOINLINE f #-}
|
|
10 | + |
|
11 | +g :: Int8# -> Word8#
|
|
12 | +g x = let !w = int8ToWord8# (x `uncheckedShiftRAInt8#` 1#)
|
|
13 | + in w `remWord8#` 19#Word8
|
|
14 | +{-# NOINLINE g #-}
|
|
15 | + |
|
16 | +h :: Int16# -> Int# -> Word16#
|
|
17 | +h x y = let !w = int16ToWord16# (x `uncheckedShiftRAInt16#` y)
|
|
18 | + in w `remWord16#` 13#Word16
|
|
19 | +{-# NOINLINE h #-}
|
|
20 | + |
|
21 | +i :: Int8# -> Int# -> Word8#
|
|
22 | +i x y = let !w = int8ToWord8# (x `uncheckedShiftRAInt8#` y)
|
|
23 | + in w `remWord8#` 19#Word8
|
|
24 | +{-# NOINLINE i #-}
|
|
25 | + |
|
26 | +main :: IO ()
|
|
27 | +main = do
|
|
28 | + print (W16# (f (-100#Int16)))
|
|
29 | + print (W8# (g (-100#Int8)))
|
|
30 | + print (W16# (h (-100#Int16) 1#))
|
|
31 | + print (W8# (i (-100#Int8) 1#))
|
|
32 | + |
|
33 | +-- int16ToWord16 (-100 `shiftR` 1) `rem` 13
|
|
34 | +-- = int16ToWord16 (-50) `rem` 13
|
|
35 | +-- = 65486 `rem` 13
|
|
36 | +-- = 5
|
|
37 | + |
|
38 | +-- int8ToWord8 (-100 `shiftR` 1) `rem` 19
|
|
39 | +-- = int8ToWord8 (-50) `rem` 19
|
|
40 | +-- = 206 `rem` 19
|
|
41 | +-- = 16 |
1 | +5
|
|
2 | +16
|
|
3 | +5
|
|
4 | +16 |
... | ... | @@ -255,3 +255,4 @@ test('T24893', normal, compile_and_run, ['-O']) |
255 | 255 | |
256 | 256 | test('CCallConv', [req_c], compile_and_run, ['CCallConv_c.c'])
|
257 | 257 | test('T25364', normal, compile_and_run, [''])
|
258 | +test('T26061', normal, compile_and_run, ['']) |
1 | -{"version":"1.1","ghcVersion":"ghc-9.13.20241113","span":{"file":"json.hs","start":{"line":9,"column":11},"end":{"line":9,"column":21}},"severity":"Error","code":48010,"message":["Empty list of alternatives in case expression"],"hints":["Perhaps you intended to use the `EmptyCase' extension"]} |
|
1 | +{"version":"1.1","ghcVersion":"ghc-9.13.20250529","span":{"file":"json.hs","start":{"line":9,"column":11},"end":{"line":9,"column":21}},"severity":"Error","code":48010,"message":["Empty list of alternatives in case expression"],"hints":["Perhaps you intended to use the \u2018EmptyCase\u2019 extension"]} |
1 | -{"version":"1.1","ghcVersion":"ghc-9.13.20241113","span":{"file":"json_warn.hs","start":{"line":4,"column":3},"end":{"line":4,"column":4}},"severity":"Warning","code":40910,"message":["Defined but not used: `x'"],"hints":[],"reason":{"flags":["unused-matches"]}}
|
|
2 | -{"version":"1.1","ghcVersion":"ghc-9.13.20241113","span":{"file":"json_warn.hs","start":{"line":7,"column":5},"end":{"line":7,"column":9}},"severity":"Warning","code":63394,"message":["In the use of `head'\n(imported from Prelude, but defined in GHC.Internal.List):\n\"This is a partial function, it throws an error on empty lists. Use pattern matching, 'Data.List.uncons' or 'Data.Maybe.listToMaybe' instead. Consider refactoring to use \"Data.List.NonEmpty\".\""],"hints":[],"reason":{"category":"x-partial"}} |
|
1 | +{"version":"1.1","ghcVersion":"ghc-9.13.20250529","span":{"file":"json_warn.hs","start":{"line":4,"column":3},"end":{"line":4,"column":4}},"severity":"Warning","code":40910,"message":["Defined but not used: \u2018x\u2019"],"hints":[],"reason":{"flags":["unused-matches"]}}
|
|
2 | +{"version":"1.1","ghcVersion":"ghc-9.13.20250529","span":{"file":"json_warn.hs","start":{"line":7,"column":5},"end":{"line":7,"column":9}},"severity":"Warning","code":63394,"message":["In the use of \u2018head\u2019\n(imported from Prelude, but defined in GHC.Internal.List):\n\"This is a partial function, it throws an error on empty lists. Use pattern matching, 'Data.List.uncons' or 'Data.Maybe.listToMaybe' instead. Consider refactoring to use \"Data.List.NonEmpty\".\""],"hints":[],"reason":{"category":"x-partial"}} |
1 | +{-# LANGUAGE LambdaCase #-}
|
|
1 | 2 | {-# LANGUAGE OverloadedStrings #-}
|
2 | 3 | {-# LANGUAGE ViewPatterns #-}
|
3 | 4 | |
... | ... | @@ -28,6 +29,7 @@ import Control.Applicative |
28 | 29 | import Control.Arrow (first)
|
29 | 30 | import Control.Monad
|
30 | 31 | import Data.Char (chr, isAlpha, isSpace, isUpper)
|
32 | +import Data.Functor (($>))
|
|
31 | 33 | import Data.List (elemIndex, intercalate, intersperse, unfoldr)
|
32 | 34 | import Data.Maybe (fromMaybe, mapMaybe)
|
33 | 35 | import Data.Monoid
|
... | ... | @@ -186,11 +188,29 @@ specialChar = "_/<@\"&'`#[ " |
186 | 188 | -- to ensure that we have already given a chance to more meaningful parsers
|
187 | 189 | -- before capturing their characters.
|
188 | 190 | string' :: Parser (DocH mod a)
|
189 | -string' = DocString . unescape . T.unpack <$> takeWhile1_ (`notElem` specialChar)
|
|
191 | +string' =
|
|
192 | + DocString
|
|
193 | + <$> ((:) <$> rawOrEscChar "" <*> many (rawOrEscChar "(["))
|
|
194 | + -- After the first character, stop for @\(@ or @\[@ math starters. (The
|
|
195 | + -- first character won't start a valid math string because this parser
|
|
196 | + -- should follow math parsers. But this parser is expected to accept at
|
|
197 | + -- least one character from all inputs that don't start with special
|
|
198 | + -- characters, so the first character parser can't have the @"(["@
|
|
199 | + -- restriction.)
|
|
190 | 200 | where
|
191 | - unescape "" = ""
|
|
192 | - unescape ('\\' : x : xs) = x : unescape xs
|
|
193 | - unescape (x : xs) = x : unescape xs
|
|
201 | + -- | Parse a single logical character, either raw or escaped. Don't accept
|
|
202 | + -- escaped characters from the argument string.
|
|
203 | + rawOrEscChar :: [Char] -> Parser Char
|
|
204 | + rawOrEscChar restrictedEscapes = try $ Parsec.noneOf specialChar >>= \case
|
|
205 | + -- Handle backslashes:
|
|
206 | + -- - Fail on forbidden escape characters.
|
|
207 | + -- - Non-forbidden characters: simply unescape, e.g. parse "\b" as 'b',
|
|
208 | + -- - Trailing backslash: treat it as a raw backslash, not an escape
|
|
209 | + -- sequence. (This is the logic that this parser followed when this
|
|
210 | + -- comment was written; it is not necessarily intentional but now I
|
|
211 | + -- don't want to break anything relying on it.)
|
|
212 | + '\\' -> Parsec.noneOf restrictedEscapes <|> Parsec.eof $> '\\'
|
|
213 | + c -> pure c
|
|
194 | 214 | |
195 | 215 | -- | Skips a single special character and treats it as a plain string.
|
196 | 216 | -- This is done to skip over any special characters belonging to other
|
... | ... | @@ -284,6 +284,13 @@ spec = do |
284 | 284 | it "supports title for deprecated picture syntax" $ do
|
285 | 285 | "<<b a z>>" `shouldParseTo` image "b" "a z"
|
286 | 286 | |
287 | + context "when parsing inline math" $ do
|
|
288 | + it "accepts inline math immediately after punctuation" $ do
|
|
289 | + "(\\(1 + 2 = 3\\) is an example of addition)"
|
|
290 | + `shouldParseTo` "("
|
|
291 | + <> DocMathInline "1 + 2 = 3"
|
|
292 | + <> " is an example of addition)"
|
|
293 | + |
|
287 | 294 | context "when parsing display math" $ do
|
288 | 295 | it "accepts markdown syntax for display math containing newlines" $ do
|
289 | 296 | "\\[\\pi\n\\pi\\]" `shouldParseTo` DocMathDisplay "\\pi\n\\pi"
|