[clang][slh] add attribute for speculative load hardening
authorZola Bridges <zbrid@google.com>
Mon, 26 Nov 2018 19:41:14 +0000 (19:41 +0000)
committerZola Bridges <zbrid@google.com>
Mon, 26 Nov 2018 19:41:14 +0000 (19:41 +0000)
commitb0fd2db8fc35a91d9f8ae6683f0e9da0405f7172
treec91a07ce3d5f15868ef8f35eb93b44a8d7ddb0d0
parent94104b1b6b6b3847a1546a431ad772f18cd6aa7f
[clang][slh] add attribute for speculative load hardening

Summary:
LLVM IR already has an attribute for speculative_load_hardening. Before
this commit, when a user passed the -mspeculative-load-hardening flag to
Clang, every function would have this attribute added to it. This Clang
attribute will allow users to opt into SLH on a function by function basis.

This can be applied to functions and Objective C methods.

Reviewers: chandlerc, echristo

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D54555

llvm-svn: 347586
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 [new file with mode: 0644]
clang/test/CodeGen/attr-speculative-load-hardening.m [new file with mode: 0644]
clang/test/SemaCXX/attr-speculative-load-hardening.cpp [new file with mode: 0644]
llvm/docs/LangRef.rst