llvm-project/clang
Zola Bridges 3b47649fa8 [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
2018-11-27 00:03:44 +00:00
..
INPUTS
bindings [python] Support PathLike filenames and directories 2018-11-10 11:41:36 +00:00
cmake [Driver] Support XRay on Fuchsia 2018-11-22 02:36:47 +00:00
docs Revert rL347462 "[ASTMatchers] Add hasSideEffect() matcher." 2018-11-22 14:26:33 +00:00
examples Test commit - delete trailing space. 2018-11-19 12:16:05 +00:00
include [clang][slh] add attribute for speculative load hardening 2018-11-27 00:03:44 +00:00
lib [clang][slh] add attribute for speculative load hardening 2018-11-27 00:03:44 +00:00
runtime [CMake] Make bootstrap and compiler-rt depend on cxx-headers. 2018-06-28 18:35:25 +00:00
test [clang][slh] add attribute for speculative load hardening 2018-11-27 00:03:44 +00:00
tools [AArch64] Add aarch64_vector_pcs function attribute to Clang 2018-11-26 16:38:37 +00:00
unittests [ASTImporter][Structural Eq] Check for isBeingDefined 2018-11-26 15:54:08 +00:00
utils [analyzer] Drastically simplify the tblgen files used for checkers 2018-11-12 17:49:51 +00:00
www [analyzer] INT50-CPP. Do not cast to an out-of-range enumeration checker 2018-11-24 12:24:27 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitignore [NFC] Add tags file to .gitignore 2018-08-22 23:23:17 +00:00
CMakeLists.txt cmake: z3: Remove EXACT from 4.7.1 after being compatible with 4.8.1 2018-11-18 09:36:36 +00:00
CODE_OWNERS.TXT
INSTALL.txt
LICENSE.TXT Update copyright year to 2018. 2018-06-18 12:22:17 +00:00
ModuleInfo.txt
NOTES.txt
README.txt

README.txt

//===----------------------------------------------------------------------===//
// C Language Family Front-end
//===----------------------------------------------------------------------===//

Welcome to Clang.  This is a compiler front-end for the C family of languages
(C, C++, Objective-C, and Objective-C++) which is built as part of the LLVM
compiler infrastructure project.

Unlike many other compiler frontends, Clang is useful for a number of things
beyond just compiling code: we intend for Clang to be host to a number of
different source-level tools.  One example of this is the Clang Static Analyzer.

If you're interested in more (including how to build Clang) it is best to read
the relevant web sites.  Here are some pointers:

Information on Clang:             http://clang.llvm.org/
Building and using Clang:         http://clang.llvm.org/get_started.html
Clang Static Analyzer:            http://clang-analyzer.llvm.org/
Information on the LLVM project:  http://llvm.org/

If you have questions or comments about Clang, a great place to discuss them is
on the Clang development mailing list:
  http://lists.llvm.org/mailman/listinfo/cfe-dev

If you find a bug in Clang, please file it in the LLVM bug tracker:
  http://llvm.org/bugs/