[PATCH] D91816: [Inline] prevent inlining on stack protector mismatch

Reid Kleckner via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 24 16:38:35 PST 2020


rnk added a comment.

I'm not super familiar with the SSP stuff, so let me try to restate how this is supposed to work to see if I understand it.

- SSP attributes can be ordered by strength. Weakest to strongest, they are: `ssp`, `sspstrong`, `sspreq`.
- After this change, a callee that lacks any SSP attribute can no longer be inlined into a caller that has any SSP attribute.
  - The `alwaysinline` attribute overrides this rule, though.
- Callees with differing SSP attributes may be inlined into each other, and the strongest attribute will be applied to the caller. (No change)

Is that more or less right?



================
Comment at: llvm/test/ThinLTO/X86/nossp.ll:2
+; RUN: opt -module-summary %s -o %t1.bc
+; RUN: opt -module-summary %p/Inputs/nossp.ll -o %t2.bc
+; RUN: llvm-lto2 run %t1.bc %t2.bc -o %t3.bc -save-temps \
----------------
I have recently discovered the new `split-file` utility, and I like it more than adding files to the Inputs directory. Think it's worth giving it a try here? Up to you. It was added mainly for linker test cases, where you want to test linking multiple inputs together.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D91816



More information about the llvm-commits mailing list