Remove the CFIType TargetOption as it is unused.
authorEric Christopher <echristo@gmail.com>
Sun, 19 Apr 2015 03:20:55 +0000 (03:20 +0000)
committerEric Christopher <echristo@gmail.com>
Sun, 19 Apr 2015 03:20:55 +0000 (03:20 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@235266 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/CodeGen/CommandFlags.h
include/llvm/Target/TargetOptions.h

index 9f86429cbf1e10da9cfc4793954b05d11706f769..ef3e88b5ca29397d6a82f284cc334edb896386a8 100644 (file)
@@ -231,19 +231,6 @@ FCFI("fcfi",
      cl::desc("Apply forward-edge control-flow integrity"),
      cl::init(false));
 
-cl::opt<llvm::CFIntegrity>
-CFIType("cfi-type",
-        cl::desc("Choose the type of Control-Flow Integrity check to add"),
-        cl::init(CFIntegrity::Sub),
-        cl::values(
-            clEnumValN(CFIntegrity::Sub, "sub",
-                       "Subtract the pointer from the table base, then mask."),
-            clEnumValN(CFIntegrity::Ror, "ror",
-                       "Use rotate to check the offset from a table base."),
-            clEnumValN(CFIntegrity::Add, "add",
-                       "Mask out the high bits and add to an aligned base."),
-            clEnumValEnd));
-
 cl::opt<bool>
 CFIEnforcing("cfi-enforcing",
              cl::desc("Enforce CFI or pass the violation to a function."),
@@ -293,7 +280,6 @@ static inline TargetOptions InitTargetOptionsFromCodeGenFlags() {
   Options.MCOptions = InitMCTargetOptionsFromFlags();
   Options.JTType = JTableType;
   Options.FCFI = FCFI;
-  Options.CFIType = CFIType;
   Options.CFIEnforcing = CFIEnforcing;
   Options.CFIFuncName = CFIFuncName;
 
index abffe67c1d3f07dcf2a0df2f54b9ef08bcc863ea..5c63588767ec251d94b93ad6c0575ac55e27c455 100644 (file)
@@ -57,14 +57,6 @@ namespace llvm {
     };
   }
 
-  enum class CFIntegrity {
-    Sub,             // Use subtraction-based checks.
-    Ror,             // Use rotation-based checks.
-    Add              // Use addition-based checks. This depends on having
-                     // sufficient alignment in the code and is usually not
-                     // feasible.
-  };
-
   class TargetOptions {
   public:
     TargetOptions()
@@ -82,7 +74,7 @@ namespace llvm {
           TrapFuncName(), FloatABIType(FloatABI::Default),
           AllowFPOpFusion(FPOpFusion::Standard), JTType(JumpTable::Single),
           FCFI(false), ThreadModel(ThreadModel::POSIX),
-          CFIType(CFIntegrity::Sub), CFIEnforcing(false), CFIFuncName() {}
+          CFIEnforcing(false), CFIFuncName() {}
 
     /// PrintMachineCode - This flag is enabled when the -print-machineinstrs
     /// option is specified on the command line, and should enable debugging
@@ -238,10 +230,6 @@ namespace llvm {
     /// for things like atomics
     ThreadModel::Model ThreadModel;
 
-    /// CFIType - This flag specifies the type of control-flow integrity check
-    /// to add as a preamble to indirect calls.
-    CFIntegrity CFIType;
-
     /// CFIEnforcing - This flags controls whether or not CFI violations cause
     /// the program to halt.
     bool CFIEnforcing;
@@ -282,7 +270,6 @@ inline bool operator==(const TargetOptions &LHS,
     ARE_EQUAL(JTType) &&
     ARE_EQUAL(FCFI) &&
     ARE_EQUAL(ThreadModel) &&
-    ARE_EQUAL(CFIType) &&
     ARE_EQUAL(CFIEnforcing) &&
     ARE_EQUAL(CFIFuncName) &&
     ARE_EQUAL(MCOptions);