[PATCH] D116589: Don't override __attribute__((no_stack_protector)) by inlining

Hans Wennborg via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 4 10:57:50 PST 2022


hans added a comment.

In D116589#3220044 <https://reviews.llvm.org/D116589#3220044>, @nickdesaulniers wrote:

> Is there a new test case that demonstrates behavior of an `always_inline` callee?

Added one to llvm/test/Transforms/Inline/inline_ssp.ll now.



================
Comment at: llvm/test/ThinLTO/X86/nossp.ll:26
 define void @nossp_caller() {
-; CHECK-LABEL: @nossp_caller
+; CHECK: define void @nossp_caller() local_unnamed_addr {
 ; CHECK-NEXT: tail call void @foo
----------------
nickdesaulniers wrote:
> is `local_unnamed_addr` necessary for these tests?
No, I just wanted to check the whole line up until the { to make sure there's no ssp attribute.
I'll do it in a different way.


================
Comment at: llvm/test/ThinLTO/X86/nossp.ll:34
 define void @ssp_caller() ssp {
-; CHECK-LABEL: @ssp_caller
+; CHECK: define void @ssp_caller() local_unnamed_addr #0 {
 ; CHECK-NEXT: tail call void @foo
----------------
nickdesaulniers wrote:
> Please put the attribute inline; it's much more readable for this single attribute.
llvm-dis doesn't print it inline though. I could use a regex and give it a symbolic name, but I'm not sure it's worth it here?


================
Comment at: llvm/test/Transforms/Inline/inline_ssp.ll:150
 
 define void @inline_nossp_nossp() nounwind uwtable {
 entry:
----------------
nickdesaulniers wrote:
> `nounwind uwtable` adds a lot of noise to this test. I wouldn't mind if you pre-committed a change removing them. ;)
I'll update the patch to do this for now. If you prefer to have it pre-submitted I can do that before landing.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D116589/new/

https://reviews.llvm.org/D116589



More information about the llvm-commits mailing list