[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