diff options
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp b/llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp index 3f0db3630b9..de7b83d0294 100644 --- a/llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp +++ b/llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp @@ -1405,13 +1405,13 @@ void AddressSanitizer::InjectCoverageForIndirectCalls( const int kCacheSize = 16; const int kCacheAlignment = 64; // Align for better performance. Type *Ty = ArrayType::get(IntptrTy, kCacheSize); - GlobalVariable *CalleeCache = - new GlobalVariable(*F.getParent(), Ty, false, GlobalValue::PrivateLinkage, - Constant::getNullValue(Ty), "__asan_gen_callee_cache"); - CalleeCache->setAlignment(kCacheAlignment); for (auto I : IndirCalls) { IRBuilder<> IRB(I); CallSite CS(I); + GlobalVariable *CalleeCache = new GlobalVariable( + *F.getParent(), Ty, false, GlobalValue::PrivateLinkage, + Constant::getNullValue(Ty), "__asan_gen_callee_cache"); + CalleeCache->setAlignment(kCacheAlignment); IRB.CreateCall2(AsanCovIndirCallFunction, IRB.CreatePointerCast(CS.getCalledValue(), IntptrTy), IRB.CreatePointerCast(CalleeCache, IntptrTy)); |

