[PATCH] D54909: [clang][slh] add Clang attr no_speculative_load_hardening

Zola Bridges via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 26 11:17:12 PST 2018


zbrid created this revision.
zbrid added reviewers: chandlerc, echristo, kristof.beyls, aaron.ballman.
Herald added a subscriber: llvm-commits.

This attribute will allow users to opt specific functions out of
speculative load hardening. This compliments the Clang attribute
named speculative_load_hardening. When this attribute or the attribute
speculative_load_hardening is used in combination with the flags
-mno-speculative-load-hardening or -mspeculative-load-hardening,
the function level attribute will override the default during LLVM IR
generation. For example, in the case, where the flag opposes the
function attribute, the function attribute will take precendence.
The sticky inlining behavior of the speculative_load_hardening attribute
may cause a function with the no_speculative_load_hardening attribute
to be tagged with the speculative_load_hardening tag in
subsequent compiler phases which is desired behavior since the
speculative_load_hardening LLVM attribute is designed to be maximally
conservative.


Repository:
  rL LLVM

https://reviews.llvm.org/D54909

Files:
  clang/include/clang/Basic/Attr.td
  clang/include/clang/Basic/AttrDocs.td
  clang/lib/CodeGen/CGCall.cpp
  clang/lib/Sema/SemaDeclAttr.cpp
  clang/test/CodeGen/attr-speculative-load-hardening.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D54909.175302.patch
Type: text/x-patch
Size: 7178 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20181126/b69b805f/attachment.bin>


More information about the llvm-commits mailing list