-
Notifications
You must be signed in to change notification settings - Fork 1.7k
[GR-52844] Add NI compiler configuration Os. #9006
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
Conversation
FYI @koutheir |
The clang compiler front-end handles the flag @davleopo, does it make sense for the LLVM back-end of GraalVM to follow the same behavior of clang? |
@vjovanov @loicottet can you chime in here and share your thoughts - I am no expert on the clang backend |
The LLVM backend already specifies |
@loicottet, can you elaborate on the invariants you're suspecting might be invalidated when |
One thing that comes to mind is the requirement that frame headers (frame pointer and return IP) be present on the stack to enable stack crawling. My comment comes from experience in trying out LLVM compiler options since the statepoints feature that the LLVM backend uses is not a very widely used one. |
If I understand well, you're afraid that using the function attributes It's certainly possible, even though the way I understand
I agree, and LLVM still marks From your experience, do you think it is enough to make the GraalVM compiler aware of "optimizing for size" mode, but keep LLVM in a different optimization mode? Or do you think it is worth trying out the |
Not exactly, those options are examples of workarounds for issues of the same type that popped up in the past.
I certainly think it will be interesting to try those options out. I don't think it will be enough to only set the GraalVM compiler to optimize for size, as the instruction emission is ultimately done by the LLVM compiler, which could undo some of the Graal optimizations (as it would be optimizing for performance). |
No description provided.