LLVM 17.0.0git
Classes | Namespaces | Macros | Typedefs | Functions | Variables
LVSupport.h File Reference
#include "llvm/ADT/SmallBitVector.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/Twine.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/Format.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/raw_ostream.h"
#include <cctype>
#include <map>
#include <sstream>
Include dependency graph for LVSupport.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  llvm::logicalview::LVAutoSmallVector< T, N >
 
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)   BOOL_BIT(Properties, ENUM, FIELD)
 
#define PROPERTY_1(ENUM, FIELD, F1)   BOOL_BIT_1(Properties, ENUM, FIELD, F1)
 
#define PROPERTY_2(ENUM, FIELD, F1, F2)    BOOL_BIT_2(Properties, ENUM, FIELD, F1, F2)
 
#define PROPERTY_3(ENUM, FIELD, F1, F2, F3)    BOOL_BIT_3(Properties, ENUM, FIELD, F1, F2, F3)
 
#define KIND(ENUM, FIELD)   BOOL_BIT(Kinds, ENUM, FIELD)
 
#define KIND_1(ENUM, FIELD, F1)   BOOL_BIT_1(Kinds, ENUM, FIELD, F1)
 
#define KIND_2(ENUM, FIELD, F1, F2)   BOOL_BIT_2(Kinds, ENUM, FIELD, F1, F2)
 
#define KIND_3(ENUM, FIELD, F1, F2, F3)    BOOL_BIT_3(Kinds, ENUM, FIELD, F1, F2, F3)
 

Typedefs

template<typename T >
using llvm::logicalview::TypeIsValid = std::bool_constant< std::is_pointer< T >::value >
 

Functions

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 ListType , typename KeyType , typename ValueType >
void llvm::logicalview::addItem (MapType *Map, KeyType Key, ValueType Value)
 
template<typename MapType >
void llvm::logicalview::deleteList (MapType &Map)
 
std::string llvm::logicalview::transformPath (StringRef Path)
 
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)
 
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 66 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 71 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 79 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 88 of file LVSupport.h.

◆ KIND

#define KIND (   ENUM,
  FIELD 
)    BOOL_BIT(Kinds, ENUM, FIELD)

Definition at line 107 of file LVSupport.h.

◆ KIND_1

#define KIND_1 (   ENUM,
  FIELD,
  F1 
)    BOOL_BIT_1(Kinds, ENUM, FIELD, F1)

Definition at line 108 of file LVSupport.h.

◆ KIND_2

#define KIND_2 (   ENUM,
  FIELD,
  F1,
  F2 
)    BOOL_BIT_2(Kinds, ENUM, FIELD, F1, F2)

Definition at line 109 of file LVSupport.h.

◆ KIND_3

#define KIND_3 (   ENUM,
  FIELD,
  F1,
  F2,
  F3 
)     BOOL_BIT_3(Kinds, ENUM, FIELD, F1, F2, F3)

Definition at line 110 of file LVSupport.h.

◆ PROPERTY

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

Definition at line 99 of file LVSupport.h.

◆ PROPERTY_1

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

Definition at line 100 of file LVSupport.h.

◆ PROPERTY_2

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

Definition at line 101 of file LVSupport.h.

◆ PROPERTY_3

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

Definition at line 103 of file LVSupport.h.