14 using namespace clang;
21 llvm::SpecialCaseList::createOrDie(AlwaysInstrumentPaths)),
22 NeverInstrument(
llvm::SpecialCaseList::createOrDie(NeverInstrumentPaths)),
23 AttrList(
llvm::SpecialCaseList::createOrDie(AttrListPaths)), SM(SM) {}
30 if (AlwaysInstrument->inSection(
"xray_always_instrument",
"fun", FunctionName,
32 AttrList->inSection(
"always",
"fun", FunctionName,
"arg1"))
34 if (AlwaysInstrument->inSection(
"xray_always_instrument",
"fun",
36 AttrList->inSection(
"always",
"fun", FunctionName))
39 if (NeverInstrument->inSection(
"xray_never_instrument",
"fun",
41 AttrList->inSection(
"never",
"fun", FunctionName))
50 if (AlwaysInstrument->inSection(
"xray_always_instrument",
"src", Filename,
52 AttrList->inSection(
"always",
"src", Filename, Category))
54 if (NeverInstrument->inSection(
"xray_never_instrument",
"src", Filename,
56 AttrList->inSection(
"never",
"src", Filename, Category))
Specialize PointerLikeTypeTraits to allow LazyGenerationalUpdatePtr to be placed into a PointerUnion...
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.