[clang][slh] add attribute for speculative load hardening
authorZola Bridges <zbrid@google.com>
Tue, 27 Nov 2018 00:03:44 +0000 (00:03 +0000)
committerZola Bridges <zbrid@google.com>
Tue, 27 Nov 2018 00:03:44 +0000 (00:03 +0000)
commit3b47649fa8c27496892be4f687672d7dc447215b
treeb5736037ea4c622de83244303b15231e8fcd4ca8
parent3c242438ec6f94923300b5146656aa3d8a3c36d6
[clang][slh] add attribute for speculative load hardening

Summary:
The prior diff had to be reverted because there were two tests
that failed. I updated the two tests in this diff

clang/test/Misc/pragma-attribute-supported-attributes-list.test
clang/test/SemaCXX/attr-speculative-load-hardening.cpp

----- Summary from Previous Diff (Still Accurate) -----

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, kristof.beyls, aaron.ballman

Subscribers: llvm-commits

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

llvm-svn: 347617
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/Misc/pragma-attribute-supported-attributes-list.test
clang/test/SemaCXX/attr-speculative-load-hardening.cpp [new file with mode: 0644]
llvm/docs/LangRef.rst