LLVM: lib/DebugInfo/PDB/DIA/DIASectionContrib.cpp Source File (original) (raw)

1

2

3

4

5

6

7

8

13

14using namespace llvm;

16

18 CComPtr DiaSection)

19 : Session(PDBSession), Section(DiaSection) {}

20

22 CComPtr Symbol;

23 if (FAILED(Section->get_compiland(&Symbol)))

24 return nullptr;

25

26 auto RawSymbol = std::make_unique(Session, Symbol);

28}

29

30template

31ArgType

33 HRESULT (__stdcall IDiaSectionContrib::*Method)(ArgType *)) {

35 if (S_OK == (Section->*Method)(&Value))

36 return static_cast<ArgType>(Value);

37

38 return ArgType();

39}

40

44

48

52

55 &IDiaSectionContrib::get_relativeVirtualAddress);

56}

57

61

65

69

73

77

80 &IDiaSectionContrib::get_uninitializedData);

81}

82

86

90

94

98

102

106

110

114

118

122

ArgType PrivateGetDIAValue(IDiaFrameData *FrameData, HRESULT(__stdcall IDiaFrameData::*Method)(ArgType *))

LLVM Value Representation.

bool isShared() const override

Definition DIASectionContrib.cpp:99

uint32_t getLength() const override

Definition DIASectionContrib.cpp:58

bool isReadable() const override

Definition DIASectionContrib.cpp:107

bool isNotPaged() const override

Definition DIASectionContrib.cpp:62

uint32_t getCompilandId() const override

Definition DIASectionContrib.cpp:123

bool hasInitializedData() const override

Definition DIASectionContrib.cpp:74

uint64_t getVirtualAddress() const override

Definition DIASectionContrib.cpp:49

bool hasUninitializedData() const override

Definition DIASectionContrib.cpp:78

DIASectionContrib(const DIASession &PDBSession, CComPtr< IDiaSectionContrib > DiaSection)

Definition DIASectionContrib.cpp:17

uint32_t getAddressOffset() const override

Definition DIASectionContrib.cpp:45

bool isRemoved() const override

Definition DIASectionContrib.cpp:83

uint32_t getRelocationsCrc32() const override

Definition DIASectionContrib.cpp:119

bool isExecutable() const override

Definition DIASectionContrib.cpp:103

uint32_t getDataCrc32() const override

Definition DIASectionContrib.cpp:115

uint32_t getAddressSection() const override

Definition DIASectionContrib.cpp:41

uint32_t getRelativeVirtualAddress() const override

Definition DIASectionContrib.cpp:53

bool isDiscardable() const override

Definition DIASectionContrib.cpp:91

bool hasCode16Bit() const override

Definition DIASectionContrib.cpp:70

bool isNotCached() const override

Definition DIASectionContrib.cpp:95

bool hasComdat() const override

Definition DIASectionContrib.cpp:87

std::unique_ptr< PDBSymbolCompiland > getCompiland() const override

Definition DIASectionContrib.cpp:21

bool isWritable() const override

Definition DIASectionContrib.cpp:111

bool hasCode() const override

Definition DIASectionContrib.cpp:66

static std::unique_ptr< ConcreteT > createAs(const IPDBSession &PDBSession, std::unique_ptr< IPDBRawSymbol > RawSymbol)

This is an optimization pass for GlobalISel generic memory operations.