Lines Matching refs:Function
30 #include "llvm/IR/Function.h"
276 bool runOnFunction(Function &F);
279 bool maybeInsertAsanInitAtFunctionEntry(Function &F);
302 Function *AsanCtorFunction;
303 Function *AsanInitFunction;
304 Function *AsanHandleNoReturnFunc;
307 Function *AsanErrorCallback[2][kNumberOfAccessSizes];
309 Function *AsanErrorCallbackSized[2];
352 Function *AsanPoisonGlobals;
353 Function *AsanUnpoisonGlobals;
354 Function *AsanRegisterGlobals;
355 Function *AsanUnregisterGlobals;
363 // actual function which catches the exception. Most likely because the
368 Function &F;
381 Function *AsanStackMallocFunc, *AsanStackFreeFunc;
382 Function *AsanPoisonStackMemoryFunc, *AsanUnpoisonStackMemoryFunc;
396 FunctionStackPoisoner(Function &F, AddressSanitizer &ASan)
424 // Then unpoison everything back before the function returns.
671 // function of AddressSanitizer. If the instrumented module defines a function
674 static Function *checkInterfaceFunction(Constant *FuncOrBitcast) {
675 if (isa<Function>(FuncOrBitcast)) return cast<Function>(FuncOrBitcast);
678 "interface function");
758 Function *GlobalInit = M.getFunction("_GLOBAL__I_a");
759 // If that function is not present, this TU contains no globals, or they have
767 // Add a call to poison all external globals before the given function starts.
771 for (Function::iterator I = GlobalInit->begin(), E = GlobalInit->end();
843 AsanPoisonGlobals->setLinkage(Function::ExternalLinkage);
846 AsanUnpoisonGlobals->setLinkage(Function::ExternalLinkage);
851 AsanRegisterGlobals->setLinkage(Function::ExternalLinkage);
855 AsanUnregisterGlobals->setLinkage(Function::ExternalLinkage);
858 // This function replaces all global variables with new variables that have
859 // trailing redzones. It also creates a function that poisons
860 // redzones and inserts this function into llvm.global_ctors.
900 Function *CtorFunc = M.getFunction(kAsanModuleCtorName);
992 Function *AsanDtorFunction = Function::Create(
1012 // IsWrite and TypeSize are encoded in the function name.
1065 AsanCtorFunction = Function::Create(
1073 AsanInitFunction->setLinkage(Function::ExternalLinkage);
1083 bool AddressSanitizer::maybeInsertAsanInitAtFunctionEntry(Function &F) {
1099 bool AddressSanitizer::runOnFunction(Function &F) {
1124 for (Function::iterator FI = F.begin(), FE = F.end();
1417 // (3) if we poisoned at least one %alloca in a function,
1418 // unpoison the whole stack frame at function exit.