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.