LLVM 22.0.0git
LVSupport.h File Reference
#include "llvm/ADT/Twine.h"
#include "llvm/DebugInfo/LogicalView/Core/LVStringPool.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/Format.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/raw_ostream.h"
#include <bitset>
#include <cctype>
#include <map>
#include <sstream>
#include <type_traits>

Go to the source code of this file.

Classes

class  llvm::logicalview::LVProperties< T >
class  llvm::logicalview::LVDoubleMap< FirstKeyType, SecondKeyType, ValueType >

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
namespace  llvm::logicalview

Macros

#define BOOL_BIT(FAMILY, ENUM, FIELD)
#define BOOL_BIT_1(FAMILY, ENUM, FIELD, F1)
#define BOOL_BIT_2(FAMILY, ENUM, FIELD, F1, F2)
#define BOOL_BIT_3(FAMILY, ENUM, FIELD, F1, F2, F3)
#define PROPERTY(ENUM, FIELD)
#define PROPERTY_1(ENUM, FIELD, F1)
#define PROPERTY_2(ENUM, FIELD, F1, F2)
#define PROPERTY_3(ENUM, FIELD, F1, F2, F3)
#define KIND(ENUM, FIELD)
#define KIND_1(ENUM, FIELD, F1)
#define KIND_2(ENUM, FIELD, F1, F2)
#define KIND_3(ENUM, FIELD, F1, F2, F3)

Typedefs

using llvm::logicalview::LVStringRefs = std::vector<StringRef>
using llvm::logicalview::LVLexicalComponent = std::tuple<StringRef, StringRef>
using llvm::logicalview::LVLexicalIndex

Functions

LLVM_ABI LVStringPoolllvm::logicalview::getStringPool ()
FormattedNumber llvm::logicalview::hexValue (uint64_t N, unsigned Width=HEX_WIDTH, bool Upper=false)
std::string llvm::logicalview::hexString (uint64_t Value, size_t Width=HEX_WIDTH)
std::string llvm::logicalview::hexSquareString (uint64_t Value)
template<typename... Args>
std::string llvm::logicalview::formatAttributes (const StringRef First, Args... Others)
template<typename MapType, typename KeyType, typename ValueType>
void llvm::logicalview::addItem (MapType *Map, KeyType Key, ValueType Value)
LLVM_ABI std::string llvm::logicalview::transformPath (StringRef Path)
LLVM_ABI std::string llvm::logicalview::flattenedFilePath (StringRef Path)
std::string llvm::logicalview::formattedKind (StringRef Kind)
std::string llvm::logicalview::formattedName (StringRef Name)
std::string llvm::logicalview::formattedNames (StringRef Name1, StringRef Name2)
LLVM_ABI LVLexicalComponent llvm::logicalview::getInnerComponent (StringRef Name)
LLVM_ABI LVStringRefs llvm::logicalview::getAllLexicalComponents (StringRef Name)
LLVM_ABI std::string llvm::logicalview::getScopedName (const LVStringRefs &Components, StringRef BaseName={})
uint16_t llvm::logicalview::getCodeViewOperationCode (uint8_t Code)

Variables

const int llvm::logicalview::HEX_WIDTH = 12

Macro Definition Documentation

◆ BOOL_BIT

#define BOOL_BIT ( FAMILY,
ENUM,
FIELD )
Value:
bool get##FIELD() const { return FAMILY.get(ENUM::FIELD); } \
void set##FIELD() { FAMILY.set(ENUM::FIELD); } \
void reset##FIELD() { FAMILY.reset(ENUM::FIELD); }
#define FIELD(name)

Definition at line 75 of file LVSupport.h.

◆ BOOL_BIT_1

#define BOOL_BIT_1 ( FAMILY,
ENUM,
FIELD,
F1 )
Value:
bool get##FIELD() const { return FAMILY.get(ENUM::FIELD); } \
void set##FIELD() { \
FAMILY.set(ENUM::FIELD); \
set##F1(); \
} \
void reset##FIELD() { FAMILY.reset(ENUM::FIELD); }

Definition at line 80 of file LVSupport.h.

◆ BOOL_BIT_2

#define BOOL_BIT_2 ( FAMILY,
ENUM,
FIELD,
F1,
F2 )
Value:
bool get##FIELD() const { return FAMILY.get(ENUM::FIELD); } \
void set##FIELD() { \
FAMILY.set(ENUM::FIELD); \
set##F1(); \
set##F2(); \
} \
void reset##FIELD() { FAMILY.reset(ENUM::FIELD); }

Definition at line 88 of file LVSupport.h.

◆ BOOL_BIT_3

#define BOOL_BIT_3 ( FAMILY,
ENUM,
FIELD,
F1,
F2,
F3 )
Value:
bool get##FIELD() const { return FAMILY.get(ENUM::FIELD); } \
void set##FIELD() { \
FAMILY.set(ENUM::FIELD); \
set##F1(); \
set##F2(); \
set##F3(); \
} \
void reset##FIELD() { FAMILY.reset(ENUM::FIELD); }

Definition at line 97 of file LVSupport.h.

◆ KIND

#define KIND ( ENUM,
FIELD )
Value:
#define ENUM(Name,...)
Definition ClauseT.h:61
#define BOOL_BIT(FAMILY, ENUM, FIELD)
Definition LVSupport.h:75

Definition at line 116 of file LVSupport.h.

Referenced by GetCodeName().

◆ KIND_1

#define KIND_1 ( ENUM,
FIELD,
F1 )
Value:
BOOL_BIT_1(Kinds, ENUM, FIELD, F1)
#define BOOL_BIT_1(FAMILY, ENUM, FIELD, F1)
Definition LVSupport.h:80

Definition at line 117 of file LVSupport.h.

◆ KIND_2

#define KIND_2 ( ENUM,
FIELD,
F1,
F2 )
Value:
BOOL_BIT_2(Kinds, ENUM, FIELD, F1, F2)
#define BOOL_BIT_2(FAMILY, ENUM, FIELD, F1, F2)
Definition LVSupport.h:88

Definition at line 118 of file LVSupport.h.

◆ KIND_3

#define KIND_3 ( ENUM,
FIELD,
F1,
F2,
F3 )
Value:
BOOL_BIT_3(Kinds, ENUM, FIELD, F1, F2, F3)
#define BOOL_BIT_3(FAMILY, ENUM, FIELD, F1, F2, F3)
Definition LVSupport.h:97

Definition at line 119 of file LVSupport.h.

◆ PROPERTY

#define PROPERTY ( ENUM,
FIELD )
Value:
BOOL_BIT(Properties, ENUM, FIELD)

Definition at line 108 of file LVSupport.h.

◆ PROPERTY_1

#define PROPERTY_1 ( ENUM,
FIELD,
F1 )
Value:
BOOL_BIT_1(Properties, ENUM, FIELD, F1)

Definition at line 109 of file LVSupport.h.

◆ PROPERTY_2

#define PROPERTY_2 ( ENUM,
FIELD,
F1,
F2 )
Value:
BOOL_BIT_2(Properties, ENUM, FIELD, F1, F2)

Definition at line 110 of file LVSupport.h.

◆ PROPERTY_3

#define PROPERTY_3 ( ENUM,
FIELD,
F1,
F2,
F3 )
Value:
BOOL_BIT_3(Properties, ENUM, FIELD, F1, F2, F3)

Definition at line 112 of file LVSupport.h.