aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/TargetOptionsImpl.cpp
AgeCommit message (Collapse)AuthorFilesLines
2014-12-18Add a new string member to the TargetOptions struct for the nameEric Christopher1-0/+7
of the abi we should be using. For targets that don't use the option there's no change, otherwise this allows external users to set the ABI via string and avoid some of the -backend-option pain in clang. Use this option to move the ABI for the ARM port from the Subtarget to the TargetMachine and update the testcases accordingly since it's no longer valid to set via -mattr. llvm-svn: 224492
2014-11-11Add Forward Control-Flow Integrity.Tom Roeder1-0/+7
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 llvm-svn: 221708
2014-01-07Re-sort all of the includes with ./utils/sort_includes.py so thatChandler Carruth1-1/+1
subsequent changes are easier to review. About to fix some layering issues, and wanted to separate out the necessary churn. Also comment and sink the include of "Windows.h" in three .inc files to match the usage in Memory.inc. llvm-svn: 198685
2013-08-22Check only if we have this attribute. If it's not an attribute, then it's ↵Bill Wendling1-4/+2
assumed false. llvm-svn: 189063
2013-07-25Replace the "NoFramePointerElimNonLeaf" target option with a function attribute.Bill Wendling1-0/+4
There's no need to specify a flag to omit frame pointer elimination on non-leaf nodes...(Honestly, I can't parse that option out.) Use the function attribute stuff instead. llvm-svn: 187093
2013-06-19This is now a duplicate.Bill Wendling1-26/+0
llvm-svn: 184376
2013-06-19Make the comparison operators non-member functions.Bill Wendling1-2/+2
llvm-svn: 184373
2013-05-07Remove exception handling support from the old JIT.Rafael Espindola1-1/+0
llvm-svn: 181354
2013-04-05Use the target options specified on a function to reset the back-end.Bill Wendling1-0/+26
During LTO, the target options on functions within the same Module may change. This would necessitate resetting some of the back-end. Do this for X86, because it's a Friday afternoon. llvm-svn: 178917
2011-12-15Move parts of lib/Target that use CodeGen into lib/CodeGen.Nick Lewycky1-0/+52
llvm-svn: 146702