llvm-project/llvm/lib/AsmParser
Oren Ben Simhon fdd72fd522 [X86] Added support for nocf_check attribute for indirect Branch Tracking
X86 Supports Indirect Branch Tracking (IBT) as part of Control-Flow Enforcement Technology (CET).
IBT instruments ENDBR instructions used to specify valid targets of indirect call / jmp.
The `nocf_check` attribute has two roles in the context of X86 IBT technology:
	1. Appertains to a function - do not add ENDBR instruction at the beginning of the function.
	2. Appertains to a function pointer - do not track the target function of this pointer by adding nocf_check prefix to the indirect-call instruction.

This patch implements `nocf_check` context for Indirect Branch Tracking.
It also auto generates `nocf_check` prefixes before indirect branchs to jump tables that are guarded by range checks.

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

llvm-svn: 327767
2018-03-17 13:29:46 +00:00
..
CMakeLists.txt
LLLexer.cpp [X86] Added support for nocf_check attribute for indirect Branch Tracking 2018-03-17 13:29:46 +00:00
LLLexer.h
LLParser.cpp [X86] Added support for nocf_check attribute for indirect Branch Tracking 2018-03-17 13:29:46 +00:00
LLParser.h Make the LLParser accept call instructions of variables in the program AS 2018-02-27 11:15:11 +00:00
LLToken.h [X86] Added support for nocf_check attribute for indirect Branch Tracking 2018-03-17 13:29:46 +00:00
LLVMBuild.txt Add dependency from AsmParser to BinaryFormat. 2017-06-07 04:24:33 +00:00
Parser.cpp LLParser: add an argument for overriding data layout and do not check alloca addr space 2018-01-30 22:32:39 +00:00