LLVM: include/llvm/DebugInfo/LogicalView/Core/LVSourceLanguage.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13
14#ifndef LLVM_DEBUGINFO_LOGICALVIEW_CORE_LVSOURCELANGUAGE_H
15#define LLVM_DEBUGINFO_LOGICALVIEW_CORE_LVSOURCELANGUAGE_H
16
21
22namespace llvm {
24
25
27 static constexpr unsigned TagDwarf = 0x00;
29
32
33
34#define HANDLE_DW_LANG(ID, NAME, LOWER_BOUND, VERSION, VENDOR) \
35 DW_LANG_##NAME = (TagDwarf << 16) | ID,
36#include "llvm/BinaryFormat/Dwarf.def"
37
38#define CV_LANGUAGE(NAME, ID) CV_LANG_##NAME = (TagCodeView << 16) | ID,
39#include "llvm/DebugInfo/CodeView/CodeViewLanguages.def"
40 };
41
49 }
51 return get() == TL;
52 }
53
57
58private:
60
62 : Language(static_cast((Tag << 16) | Lang)) {}
64 unsigned getLang() const { return Language & 0xffff; }
65};
66
67}
68}
69
70#endif
static std::optional< unsigned > getTag(const TargetRegisterInfo *TRI, const MachineInstr &MI, const LoadInfo &LI)
This file contains constants used for implementing Dwarf debug support.
StringRef - Represent a constant reference to a string, i.e.
SourceLanguage
These values correspond to the CV_CFL_LANG enumeration in the Microsoft Debug Interface Access SDK,...
This is an optimization pass for GlobalISel generic memory operations.
static constexpr unsigned TagDwarf
Definition LVSourceLanguage.h:27
TaggedLanguage
Definition LVSourceLanguage.h:30
@ Invalid
Definition LVSourceLanguage.h:31
TaggedLanguage get() const
Definition LVSourceLanguage.h:55
static constexpr unsigned TagCodeView
Definition LVSourceLanguage.h:28
LVSourceLanguage(llvm::dwarf::SourceLanguage SL)
Definition LVSourceLanguage.h:43
bool operator==(const LVSourceLanguage &SL) const
Definition LVSourceLanguage.h:47
LLVM_ABI StringRef getName() const
bool operator==(const LVSourceLanguage::TaggedLanguage &TL) const
Definition LVSourceLanguage.h:50
LVSourceLanguage(llvm::codeview::SourceLanguage SL)
Definition LVSourceLanguage.h:45
bool isValid() const
Definition LVSourceLanguage.h:54
LVSourceLanguage()=default