clang: include/clang/Driver/XRayArgs.h Source File (original) (raw)
1
2
3
4
5
6
7
8#ifndef LLVM_CLANG_DRIVER_XRAYARGS_H
9#define LLVM_CLANG_DRIVER_XRAYARGS_H
10
13#include "llvm/Option/Arg.h"
14#include "llvm/Option/ArgList.h"
15
17namespace driver {
18
19class ToolChain;
20
22 std::vectorstd::string AlwaysInstrumentFiles;
23 std::vectorstd::string NeverInstrumentFiles;
24 std::vectorstd::string AttrListFiles;
25 std::vectorstd::string ExtraDeps;
26 std::vectorstd::string Modes;
28 llvm::opt::Arg *XRayInstrument = nullptr;
29 bool XRayRT = true;
30 bool XRayShared = false;
31
32public:
33
35 void addArgs(const ToolChain &TC, const llvm::opt::ArgList &Args,
36 llvm::opt::ArgStringList &CmdArgs, types::ID InputType) const;
37
38 bool needsXRayRt() const { return XRayInstrument && XRayRT; }
39 bool needsXRayDSORt() const { return XRayInstrument && XRayRT && XRayShared; }
42};
43
44}
45}
46
47#endif
Defines the clang::XRayInstrKind enum.
XRayInstrSet instrumentationBundle() const
void addArgs(const ToolChain &TC, const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs, types::ID InputType) const
bool needsXRayDSORt() const
llvm::ArrayRef< std::string > modeList() const
The JSON file list parser is used to communicate input to InstallAPI.