Commit Graph

21 Commits

Author SHA1 Message Date
elsa 1e3e681584 Remove deprecated PrintCSEInternals flag (#89248)
Resolves rdar://177222636

The -print-cse-internals flag was deprecated as a part of the Swift
rewrite of the CSE pass.
It was still being used in
[utils/check-incremental](https://github.com/swiftlang/swift/blob/2ed7079b9bdf4f2583577c4fb37b5881af65236b/utils/check-incremental#L109-L110).
2026-05-19 12:25:57 -07:00
Doug Gregor bd8a418a27 [Incremental build check] Disable timestamp check for Embedded Swift wasm
The combination of Embedded Swift and WebAssembly is preventing the
object file write from being suppressed despite the module hash
matching. Don't check the timestamp for this combination so we can
keep finding other (later) issues while we figure out what's going on.

Addresses rdar://174062039.
2026-04-15 14:31:53 -07:00
Erik Eckstein 903142d7cf CSE/check_incremental: add some more logging to detect non-determinisms in CSE 2026-01-26 15:43:49 +01:00
Erik Eckstein 42d67ce169 check-incremental: print the MD5 hashes of SIL after each SIL pass to find a non-deterministic pass 2026-01-23 19:20:20 +01:00
Erik Eckstein 77679131d1 utils: fix the check-incremental script
Instead of `-sil-output-path`/`-ir-output-path` use the new `-save-sil`/`-save-irgen`/`-save-ir` options, because the former options are not compatible with `-supplementary-output-file-map`.
Also, write the LLVM IR directly after IRGen to catch potential non-determinisms in IRGen.

rdar://168012861
2026-01-13 10:45:55 +01:00
Erik Eckstein 68d477a1d0 utils: make the check_incremental script more verbose on failures
Print the SIL and LLVM IR differences if a non-determinism is detected.
2026-01-12 11:00:06 +01:00
Kuba (Brecka) Mracek 087676da11 Merge pull request #76941 from kubamracek/embedded-concurrency-no-incremental
Teach check-incremental about -emit-empty-object-file (which disables incremental LLVM codegen, so don't check timestamps if present)
2024-10-11 02:34:26 -07:00
Kuba Mracek 2e4e196bc9 Teach check-incremental about -emit-empty-object-file (which disables incremental LLVM codegen, so don't check timestamps if present) 2024-10-10 09:29:52 -07:00
Kuba Mracek d52b12863e Be more clear that check-incremental outputs are errors 2024-10-09 17:03:00 -07:00
Karoy Lorentey d0e377e737 [utils] Use Python 2 compatible name for text=True 2022-03-08 12:03:56 -08:00
Eric Miotto d35ad60da1 check-incremental: explicitly use python3 (#41047)
Addresses rdar://88092462
2022-01-28 07:46:16 -08:00
eeckstein 8527ac5e56 Revert "Revert "For checking deterministic compilation, do an initial "warm-u…" 2019-03-22 15:58:01 -07:00
Erik Eckstein b847352d58 Revert "For checking deterministic compilation, do an initial "warm-up" compilation for the clang module cache."
This reverts commit 6ee1a77fa2.

The bugs are fixed, so the workaround is no longer needed.
2019-03-13 17:35:02 -07:00
Erik Eckstein 6ee1a77fa2 For checking deterministic compilation, do an initial "warm-up" compilation for the clang module cache.
This is a workaround for rdar://problem/43442957 and rdar://problem/43439465.
2018-08-17 15:47:23 -07:00
Erik Eckstein 43c53737bd fix a problem with debug printing in the check-incremental script 2018-02-01 12:15:56 -08:00
Erik Eckstein 754267c24f Fix the check-incremental script
It didn't work for compiler command lines, which didn't produce an object file
2017-12-15 16:20:18 -08:00
practicalswift 6d1ae2a39c [gardening] 2016 → 2017 2017-01-06 16:41:22 +01:00
practicalswift 797b80765f [gardening] Use the correct base URL (https://swift.org) in references to the Swift website
Remove all references to the old non-TLS enabled base URL (http://swift.org)
2016-11-20 17:36:03 +01:00
Alex Chan 2a48e64c4c [utils] Python 3 support + tidies in check-incremental
* Use print as a function, not as a statement
* Commonise the code for compiling and getting binary statistics into
  a reusable function
* Pull out `VERBOSE` and `NUM_ITERATIONS` as top-level constants, to
  make it clear where/how to change them.
* Use a docstring rather than a block comment.
* In the original version, `"Iteration {}:".format(iteration)` would
  index from 0; in human-readable output, index 1 is more sensible.
2016-06-26 08:58:00 +01:00
practicalswift ac15a59d7d Fix various PEP-8 violations. 2016-05-21 10:43:36 +02:00
Erik Eckstein 62597ea58f build_script: Add an option to build the swift libraries multiple times to check if incremental compilation works.
A script checks if the output object file is written only once even if the compiler is invoked multiple times.
The main purpose of this check is to ensure that the compiler is deterministic (until IRGen).
2016-05-18 10:01:14 -07:00