[clang] [clang][Sema] Add noinline check for __builtin_frame_address and __builtin_return_address (PR #82966)
Nick Desaulniers via cfe-commits
cfe-commits at lists.llvm.org
Mon Mar 4 12:29:09 PST 2024
nickdesaulniers wrote:
> I'm seeing evidence that this might be a chatty diagnostic in practice:
>
> https://sourcegraph.com/github.com/torvalds/linux@90d35da658da8cff0d4ecbb5113f5fac9d00eb72/-/blob/kernel/fork.c?L311 https://sourcegraph.com/github.com/torvalds/linux@90d35da658da8cff0d4ecbb5113f5fac9d00eb72/-/blob/mm/util.c?L644 https://sourcegraph.com/github.com/torvalds/linux@90d35da658da8cff0d4ecbb5113f5fac9d00eb72/-/blob/arch/arm/mm/nommu.c?L224 https://sourcegraph.com/github.com/torvalds/linux@90d35da658da8cff0d4ecbb5113f5fac9d00eb72/-/blob/kernel/scs.c?L48 (and quite a few others).
>
> CC @nathanchance @nickdesaulniers @rjmccall for opinions
>
> If we continue to move forward with the patch, you should add a release note to `clang/docs/ReleaseNotes.rst` so users know about the new diagnostic.
There's definitely cases where `__builtin_frame_address` is used in callers attributes `__attribute__((always_inline))` within the Linux kernel sources. Perhaps we should diagnose when the caller is neither noinline or always_inline, since then inline substitution will depend on optimizations?
https://github.com/llvm/llvm-project/pull/82966
More information about the cfe-commits
mailing list