Audit Compiler build infrastructure (part 1)#1589
Merged
Conversation
Contributor
|
Hello. You may have forgotten to update the changelog!
|
Resolves the following warning according to the suggested solution:
CMake Warning (dev) at FetchContent.cmake:1373 (message):
The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is
not set. The policy's OLD behavior will be used. When using a URL
download, the timestamps of extracted files should preferably be that of
the time of extraction, otherwise code that depends on the extracted
contents might not be rebuilt if the URL changes. The OLD behavior
preserves the timestamps from the archive instead, but this is usually not
what you want. Update your project to the NEW behavior or specify the
DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this
robustness issue.
Call Stack (most recent call first):
lib/Ion/Transforms/CMakeLists.txt:38 (FetchContent_Declare)
By default, stim will use the host's vectorization support when compiling. For distributed packages, this could be a problem on other machines. Set a "reasonable" SIMD register width that Lightning also uses.
`*include_directories`, `FetchContent_Declare`, and `add_subdirectory` accept the SYSTEM keyword in order to mark headers from those sources as system headers. Typically, compilers will not emit warnings when processing system headers.
Resolves the following warning: ld: warning: -undefined suppress is deprecated
Resolves the following warning: warning: control reaches end of non-void function [-Wreturn-type]
Resolves the issue where a member type was declared in an anonymous
namespace:
error: ‘catalyst::ion::OQDDatabaseManager’ has a field ‘std::vector<{anonymous}::Beam> whose type has internal linkage [-Werror=subobject-linkage]
29 | class OQDDatabaseManager {
.. which are being raised inside of LLVM.
.. as we have no use for them.
a8fbdf6 to
152a01d
Compare
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #1589 +/- ##
==========================================
- Coverage 96.61% 96.46% -0.16%
==========================================
Files 80 80
Lines 8578 8552 -26
Branches 819 819
==========================================
- Hits 8288 8250 -38
- Misses 234 246 +12
Partials 56 56 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
at catalyst/mlir/lib/Driver/CompilerDriver.cpp:505: gcc-toolset-12/root/usr/include/c++/12/bits/char_traits.h:431:56: error: ‘void* __builtin_memcpy(void*, const void*, long unsigned int)’ accessing 9223372036854775810 or more bytes at offsets [2, 9223372036854775807] and 1 may overlap up to 9223372036854775813 bytes at offset -3 [-Werror=restrict] 431 | return static_cast<char_type*>(__builtin_memcpy(__s1, __s2, __n));
d135b4d to
a4985c1
Compare
Contributor
Author
|
@erick-xanadu The last four commits are new if you want to have a look at those again :) I removed the Python extension modules from Catalyst as discussed, and some additional warning suppressions. |
Contributor
|
@dime10 can we wait until after the release? |
Contributor
|
Ok! Good to go :) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The primary, high-level goal is to enable stricter safety checks in our build systems. In addition to stricter checks, ideally, all our build recipes should produce clean, warning-free outputs, as ignoring one set of warnings can easily lead to overlooking other warnings.
This PR takes a look at the compiler (
mlir) and improves the following:The above was tested on the runtime with the following configurations:
make targets: dialects
platforms: mac + apple clang 16, linux + clang 18, linux + gcc 13
The PR does not test or enable ASAN yes, it mainly deals with warnings.