-
Notifications
You must be signed in to change notification settings - Fork 7.7k
Use clang-20
#77352
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use clang-20
#77352
Conversation
ca2ca19
to
ee6b6a4
Compare
8ea88c9
to
a32abfa
Compare
c665992
to
44fd611
Compare
|
44fd611
to
f2cebee
Compare
f2cebee
to
145da01
Compare
CMakeLists.txt
Outdated
# set CPU time limit to 1000 seconds | ||
set (RLIMIT_CPU 1000) | ||
# set stack size to 1024M | ||
set (RLIMIT_STACK 1024000000) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No wonder it does not work - clang simply assume that the stack is 8MB - https://github.com/llvm/llvm-project/blob/788b50a4384985f2c221cfd8d290cabc6f59e646/clang/include/clang/Basic/Stack.h#L26
As for why it happens only for arm64 it is likely due to it has more registers
And here is an example of a stacktrace - https://pastila.nl/?0000e83f/bcc54268487047ba960a50304e756557#7k0S6lGYXncNor/j2uTBqw==
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Introduced in c978f0f7
$ git tag --contains c978f0f7
llvmorg-21-init
llvmorg-20.1.3
llvmorg-20.1.2
llvmorg-20.1.1
llvmorg-20.1.0-rc3
llvmorg-20.1.0-rc2
llvmorg-20.1.0-rc1
llvmorg-20.1.0
This is how our recursion for Clang AST: P.S. Yes, it is better to show as screenshot since I have to zoom out as much as possible UPD: in text - https://pastila.nl/?0010852e/d728efbefd772d270ccc6d00a5c8685a#M7N24U/ZDFhfF0/ZzJko1A== |
553be44
to
81f1fce
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Except for comments LGMT, also worth checking perf tests (though they are unstable right now)
88a501b
to
2020202
Compare
0c1160e
to
d9131f3
Compare
# [9] https://developer.arm.com/documentation/dui0801/g/A64-Data-Transfer-Instructions/LDAPR?lang=en | ||
# [10] https://github.com/aws/aws-graviton-getting-started/blob/main/README.md | ||
set (COMPILER_FLAGS "${COMPILER_FLAGS} -march=armv8.2-a+simd+crypto+dotprod+ssbs+rcpc+bf16") | ||
set (COMPILER_FLAGS "${COMPILER_FLAGS} -march=armv8.2-a+simd+crypto+dotprod+ssbs+rcpc+bf16+lse") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
L. 63-64 say that LSE is part of ARM v.1, why do we add it again here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Something failed without it, but I don't remember what exactly. Let's try removing them when other stuff is fixed, and see if it is really necessary.
16fd7ef
to
7b66d6f
Compare
```sh | ||
export CC=clang-19 | ||
export CXX=clang++-19 | ||
export CC=clang-20 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
21
3e74397
to
8b4dec8
Compare
Signed-off-by: Konstantin Bogdanov <[email protected]>
Signed-off-by: Konstantin Bogdanov <[email protected]>
Signed-off-by: Konstantin Bogdanov <[email protected]>
Signed-off-by: Konstantin Bogdanov <[email protected]>
8b4dec8
to
a46aa7a
Compare
Yay, AVX-related regression is gone. But there are new ones, like I'm going to close this PR and reopen a new one for clang-21. |
Resolves: #78765
Changelog category (leave one):
Changelog entry (a user-readable short description of the changes that goes to CHANGELOG.md):
Use
clang
fromllvm-20