Add SpecialCaseList::createOrDie() factory and use it in sanitizer passes

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188169 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Alexey Samsonov
2013-08-12 11:46:09 +00:00
parent 1f85736c97
commit e39e1316f0
6 changed files with 17 additions and 7 deletions

View File

@ -129,7 +129,7 @@ class DataFlowSanitizer : public ModulePass {
Constant *DFSanUnionFn;
Constant *DFSanUnionLoadFn;
MDNode *ColdCallWeights;
SpecialCaseList Greylist;
OwningPtr<SpecialCaseList> Greylist;
DenseMap<Value *, Function *> UnwrappedFnMap;
Value *getShadowAddress(Value *Addr, Instruction *Pos);
@ -211,7 +211,7 @@ ModulePass *llvm::createDataFlowSanitizerPass(void *(*getArgTLS)(),
DataFlowSanitizer::DataFlowSanitizer(void *(*getArgTLS)(),
void *(*getRetValTLS)())
: ModulePass(ID), GetArgTLSPtr(getArgTLS), GetRetvalTLSPtr(getRetValTLS),
Greylist(ClGreylistFile) {}
Greylist(SpecialCaseList::createOrDie(ClGreylistFile)) {}
FunctionType *DataFlowSanitizer::getInstrumentedFunctionType(FunctionType *T) {
llvm::SmallVector<Type *, 4> ArgTypes;
@ -269,7 +269,7 @@ bool DataFlowSanitizer::doInitialization(Module &M) {
DataFlowSanitizer::InstrumentedABI
DataFlowSanitizer::getInstrumentedABI(Function *F) {
if (Greylist.isIn(*F))
if (Greylist->isIn(*F))
return IA_MemOnly;
else
return getDefaultInstrumentedABI();