15 using namespace clang;
22 llvm::SpecialCaseList::createOrDie(AlwaysInstrumentPaths)),
23 NeverInstrument(
llvm::SpecialCaseList::createOrDie(NeverInstrumentPaths)),
24 AttrList(
llvm::SpecialCaseList::createOrDie(AttrListPaths)), SM(SM) {}
31 if (AlwaysInstrument->inSection(
"xray_always_instrument",
"fun", FunctionName,
33 AttrList->inSection(
"always",
"fun", FunctionName,
"arg1"))
35 if (AlwaysInstrument->inSection(
"xray_always_instrument",
"fun",
37 AttrList->inSection(
"always",
"fun", FunctionName))
40 if (NeverInstrument->inSection(
"xray_never_instrument",
"fun",
42 AttrList->inSection(
"never",
"fun", FunctionName))
51 if (AlwaysInstrument->inSection(
"xray_always_instrument",
"src", Filename,
53 AttrList->inSection(
"always",
"src", Filename, Category))
55 if (NeverInstrument->inSection(
"xray_never_instrument",
"src", Filename,
57 AttrList->inSection(
"never",
"src", Filename, Category))
DominatorTree GraphTraits specialization so the DominatorTree can be iterable by generic graph iterat...
ImbueAttribute shouldImbueFunctionsInFile(StringRef Filename, StringRef Category=StringRef()) const
XRayFunctionFilter(ArrayRef< std::string > AlwaysInstrumentPaths, ArrayRef< std::string > NeverInstrumentPaths, ArrayRef< std::string > AttrListPaths, SourceManager &SM)
StringRef getFilename(SourceLocation SpellingLoc) const
Return the filename of the file containing a SourceLocation.
Encodes a location in the source.
SourceLocation getFileLoc(SourceLocation Loc) const
Given Loc, if it is a macro location return the expansion location or the spelling location...
Dataflow Directional Tag Classes.
bool isValid() const
Return true if this is a valid SourceLocation object.
ImbueAttribute shouldImbueFunction(StringRef FunctionName) const
ImbueAttribute shouldImbueLocation(SourceLocation Loc, StringRef Category=StringRef()) const
This class handles loading and caching of source files into memory.