MaskRay added a comment. In D104475#2825666 <https://reviews.llvm.org/D104475#2825666>, @melver wrote:
> In D104475#2825297 <https://reviews.llvm.org/D104475#2825297>, @MaskRay wrote: > >> Should `no_profile` specify the inlining behavior? Though `no_sanitize_*` >> don't specify that, either. > > I think it's somehow implicit, but I can't quite say how. There are some > tests that check this, e.g. > compiler-rt/test/asan/TestCases/inline.cpp > [...] > noinstr does add noinline, but other uses of the attribute alone might not. > But in the end inlining is a red herring, it just seems to be the easiest way > to enforce the promised contract. See > https://lore.kernel.org/lkml/canpmjnnrz5ovkb6pe7k6gjfogbht_zhypkng9ad+kjndzk7...@mail.gmail.com/ > [...] Thanks for the comments. Recently there is a discussion about LLVM IR function attribute `nointeropt` (similar to a debugging-only GCC function attribute `noipa`). People tend to think attributes should be orthogonal. I think not suppressing for the IR attribute `no_profile` is nice. The GNU function attribute (C/C++) may be less clear. We can document that users may need to additionally specify `noinline` to suppress inlining. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D104475/new/ https://reviews.llvm.org/D104475 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits