X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=instrumentAtomicCall.hpp;h=2def92610a96a7584e12d4fd1586fb027f81d94e;hb=c9efd55388808675480a2f3f476959dd7e5de4be;hp=4ee6d8de0d765ff1e88ba6d51e321d6cf1e8e4f3;hpb=84b9cc1cf068b080db61e377d8cef369f09a4b51;p=c11llvm.git diff --git a/instrumentAtomicCall.hpp b/instrumentAtomicCall.hpp index 4ee6d8d..2def926 100644 --- a/instrumentAtomicCall.hpp +++ b/instrumentAtomicCall.hpp @@ -93,7 +93,7 @@ bool CDSPass::instrumentAtomicCall(CallInst *CI, const DataLayout &DL) { return true; } else if (funName.contains("atomic") && - funName.contains("store")) { + funName.contains("EEEE5store")) { // does this version of call always have an atomic order as an argument? Value *OrigVal = parameters[1]; @@ -104,7 +104,7 @@ bool CDSPass::instrumentAtomicCall(CallInst *CI, const DataLayout &DL) { Instruction* funcInst = CallInst::Create(CDSAtomicStore[Idx], args); ReplaceInstWithInst(CI, funcInst); - + return true; } @@ -147,12 +147,12 @@ bool CDSPass::instrumentAtomicCall(CallInst *CI, const DataLayout &DL) { return true; } else if (funName.contains("fetch")) { - errs() << "atomic exchange captured. Not implemented yet. " + errs() << "atomic exchange captured. Not implemented yet. "; errs() << "See source file :"; getPositionPrint(CI, IRB); } else if (funName.contains("exchange") && !funName.contains("compare_exchange") ) { - errs() << "atomic exchange captured. Not implemented yet. " + errs() << "atomic exchange captured. Not implemented yet. "; errs() << "See source file :"; getPositionPrint(CI, IRB); } @@ -187,7 +187,6 @@ bool CDSPass::instrumentAtomicCall(CallInst *CI, const DataLayout &DL) { return true; } else if ( funName.contains("compare_exchange_strong") || funName.contains("compare_exchange_wesk") ) { - Value *Addr = IRB.CreatePointerCast(OrigPtr, PtrTy); Value *CmpOperand = IRB.CreatePointerCast(parameters[1], PtrTy); Value *NewOperand = IRB.CreateBitOrPointerCast(parameters[2], Ty);