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

Reply via email to