[PATCH] D104667: Improve the diagnostic of DiagnosticInfoStackSize (and warn-stack-size in particular)
Nick Desaulniers via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Jun 21 13:29:00 PDT 2021
nickdesaulniers added a comment.
In D104667#2831505 <https://reviews.llvm.org/D104667#2831505>, @MaskRay wrote:
> In D104667#2831488 <https://reviews.llvm.org/D104667#2831488>, @nickdesaulniers wrote:
>
>> GCC trunk: `warning: the frame size of 80 bytes is larger than 0 bytes [-Wframe-larger-than=]`
>> Clang trunk: `warning: stack frame size of 88 bytes in function 'bar' [-Wframe-larger-than]`
>>
>> looks like the frontend doesn't use this particular text at all?
>
> This diagnostic is emitted by clang (`clang/lib/CodeGen/CodeGenAction.cpp`).
>
> -Wframe-larger-than= also records the module flag metadata "warn-stack-size" which can be useful for LTO.
>
> % fclang -Wframe-larger-than=100 a.c -o x
> a.c:1:5: warning: stack frame size of 888 bytes in function 'main' [-Wframe-larger-than]
> int main(){
> ^
> 1 warning generated.
> % fclang -Wframe-larger-than=100 -flto=thin -fuse-ld=lld a.c -o x
> ld.lld: warning: stack size limit exceeded (888) in main
Can we try to make the FE match what's printed during LTO? It's odd that they differ, IMO. Also, GCC prints the threshold value, as does our backend; but the frontend still does not.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D104667/new/
https://reviews.llvm.org/D104667
More information about the llvm-commits
mailing list