From cc36f41258807dd784b7de5861ad151836910eb0 Mon Sep 17 00:00:00 2001 From: Eric Christopher Date: Sun, 19 Apr 2015 03:20:55 +0000 Subject: [PATCH] Remove the CFIType TargetOption as it is unused. llvm-svn: 235266 --- llvm/include/llvm/CodeGen/CommandFlags.h | 14 -------------- llvm/include/llvm/Target/TargetOptions.h | 15 +-------------- 2 files changed, 1 insertion(+), 28 deletions(-) diff --git a/llvm/include/llvm/CodeGen/CommandFlags.h b/llvm/include/llvm/CodeGen/CommandFlags.h index 9f86429..ef3e88b 100644 --- a/llvm/include/llvm/CodeGen/CommandFlags.h +++ b/llvm/include/llvm/CodeGen/CommandFlags.h @@ -231,19 +231,6 @@ FCFI("fcfi", cl::desc("Apply forward-edge control-flow integrity"), cl::init(false)); -cl::opt -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 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; diff --git a/llvm/include/llvm/Target/TargetOptions.h b/llvm/include/llvm/Target/TargetOptions.h index abffe67..5c63588 100644 --- a/llvm/include/llvm/Target/TargetOptions.h +++ b/llvm/include/llvm/Target/TargetOptions.h @@ -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); -- 2.7.4