llvm-6502/test
Tom Roeder 63dea2c952 Add Forward Control-Flow Integrity.
This commit adds a new pass that can inject checks before indirect calls to
make sure that these calls target known locations. It supports three types of
checks and, at compile time, it can take the name of a custom function to call
when an indirect call check fails. The default failure function ignores the
error and continues.

This pass incidentally moves the function JumpInstrTables::transformType from
private to public and makes it static (with a new argument that specifies the
table type to use); this is so that the CFI code can transform function types
at call sites to determine which jump-instruction table to use for the check at
that site.

Also, this removes support for jumptables in ARM, pending further performance
analysis and discussion.

Review: http://reviews.llvm.org/D4167



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@221708 91177308-0d34-0410-b5e6-96231b3b80d8
2014-11-11 21:08:02 +00:00
..
Analysis [X86] Custom lower UINT_TO_FP from v4f32 to v4i32, and for v8f32 to v8i32 if 2014-11-11 02:23:47 +00:00
Assembler Use FileCheck in a few tests. 2014-11-06 15:05:51 +00:00
Bindings
Bitcode
BugPoint
CodeGen Add Forward Control-Flow Integrity. 2014-11-11 21:08:02 +00:00
DebugInfo
ExecutionEngine
Feature
FileCheck
Instrumentation Base check on the section name, not the variable name. 2014-11-06 20:01:34 +00:00
Integer
JitListener
Linker Copy externally_initialized in GlobalVariable::copyAttributesFrom. 2014-11-10 18:41:59 +00:00
LTO Add Forward Control-Flow Integrity. 2014-11-11 21:08:02 +00:00
MC [mips] Add hardware register name "hwr_ulr" ($29) 2014-11-11 11:22:39 +00:00
Object [yaml2obj] Support AArch64 relocations. 2014-11-10 23:02:03 +00:00
Other
SymbolRewriter Transform: add SymbolRewriter pass 2014-11-07 21:32:08 +00:00
TableGen
tools [llvm-mc] Fixing case where if a file ended with non-newline whitespace or a comma it would access invalid memory. 2014-11-11 21:03:09 +00:00
Transforms Addition to r216371 (SLP and Loop Vectorization) and r218607 where 2014-11-11 07:39:27 +00:00
Unit
Verifier
YAMLParser
.clang-format
CMakeLists.txt
lit.cfg Only run the gold plugin tests if gold supports the targets we test with. 2014-11-11 05:27:12 +00:00
lit.site.cfg.in
Makefile
Makefile.tests
TestRunner.sh