LLVM 20.0.0git
Classes | Namespaces | Macros | Typedefs | Enumerations | Functions
LVOptions.h File Reference
#include "llvm/ADT/StringSet.h"
#include "llvm/DebugInfo/LogicalView/Core/LVLine.h"
#include "llvm/DebugInfo/LogicalView/Core/LVScope.h"
#include "llvm/DebugInfo/LogicalView/Core/LVSymbol.h"
#include "llvm/DebugInfo/LogicalView/Core/LVType.h"
#include "llvm/Support/Regex.h"
#include <set>
#include <string>

Go to the source code of this file.

Classes

class  llvm::logicalview::LVOptions
 
class  llvm::logicalview::LVPatterns
 

Namespaces

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

Macros

#define BOOL_FUNCTION(FAMILY, FIELD)
 
#define UNSIGNED_FUNCTION(FAMILY, FIELD)
 
#define STD_STRING_FUNCTION(FAMILY, FIELD)
 
#define STDSET_FUNCTION_4(FAMILY, FIELD, TYPE, SET)
 
#define STDSET_FUNCTION_5(FAMILY, FIELD, ENTRY, TYPE, SET)
 
#define ATTRIBUTE_OPTION(FIELD)    STDSET_FUNCTION_4(Attribute, FIELD, LVAttributeKind, Kinds)
 
#define OUTPUT_OPTION(FIELD)    STDSET_FUNCTION_4(Output, FIELD, LVOutputKind, Kinds)
 
#define PRINT_OPTION(FIELD)   STDSET_FUNCTION_4(Print, FIELD, LVPrintKind, Kinds)
 
#define WARNING_OPTION(FIELD)    STDSET_FUNCTION_4(Warning, FIELD, LVWarningKind, Kinds)
 
#define COMPARE_OPTION(FIELD)    STDSET_FUNCTION_4(Compare, FIELD, LVCompareKind, Elements)
 
#define REPORT_OPTION(FIELD)    STDSET_FUNCTION_4(Report, FIELD, LVReportKind, Kinds)
 
#define INTERNAL_OPTION(FIELD)    STDSET_FUNCTION_4(Internal, FIELD, LVInternalKind, Kinds)
 

Typedefs

using llvm::logicalview::LVOffsetSet = std::set< uint64_t >
 
using llvm::logicalview::LVAttributeKindSet = std::set< LVAttributeKind >
 
using llvm::logicalview::LVCompareKindSet = std::set< LVCompareKind >
 
using llvm::logicalview::LVOutputKindSet = std::set< LVOutputKind >
 
using llvm::logicalview::LVPrintKindSet = std::set< LVPrintKind >
 
using llvm::logicalview::LVReportKindSet = std::set< LVReportKind >
 
using llvm::logicalview::LVWarningKindSet = std::set< LVWarningKind >
 
using llvm::logicalview::LVInternalKindSet = std::set< LVInternalKind >
 

Enumerations

enum class  llvm::logicalview::LVAttributeKind {
  llvm::logicalview::All , llvm::logicalview::Argument , llvm::logicalview::Base , llvm::logicalview::Coverage ,
  llvm::logicalview::Directories , llvm::logicalview::Discarded , llvm::logicalview::Discriminator , llvm::logicalview::Encoded ,
  llvm::logicalview::Extended , llvm::logicalview::Filename , llvm::logicalview::Files , llvm::logicalview::Format ,
  llvm::logicalview::Gaps , llvm::logicalview::Generated , llvm::logicalview::Global , llvm::logicalview::Inserted ,
  llvm::logicalview::Level , llvm::logicalview::Linkage , llvm::logicalview::Local , llvm::logicalview::Location ,
  llvm::logicalview::Offset , llvm::logicalview::Pathname , llvm::logicalview::Producer , llvm::logicalview::Publics ,
  llvm::logicalview::Qualified , llvm::logicalview::Qualifier , llvm::logicalview::Range , llvm::logicalview::Reference ,
  llvm::logicalview::Register , llvm::logicalview::Standard , llvm::logicalview::Subrange , llvm::logicalview::System ,
  llvm::logicalview::Typename , llvm::logicalview::Underlying , llvm::logicalview::Zero
}
 
enum class  llvm::logicalview::LVCompareKind {
  llvm::logicalview::All , llvm::logicalview::Lines , llvm::logicalview::Scopes , llvm::logicalview::Symbols ,
  llvm::logicalview::Types
}
 
enum class  llvm::logicalview::LVOutputKind { llvm::logicalview::All , llvm::logicalview::Split , llvm::logicalview::Json , llvm::logicalview::Text }
 
enum class  llvm::logicalview::LVPrintKind {
  llvm::logicalview::All , llvm::logicalview::Elements , llvm::logicalview::Instructions , llvm::logicalview::Lines ,
  llvm::logicalview::Scopes , llvm::logicalview::Sizes , llvm::logicalview::Symbols , llvm::logicalview::Summary ,
  llvm::logicalview::Types , llvm::logicalview::Warnings
}
 
enum class  llvm::logicalview::LVReportKind {
  llvm::logicalview::All , llvm::logicalview::Children , llvm::logicalview::List , llvm::logicalview::Parents ,
  llvm::logicalview::View
}
 
enum class  llvm::logicalview::LVWarningKind {
  llvm::logicalview::All , llvm::logicalview::Coverages , llvm::logicalview::Lines , llvm::logicalview::Locations ,
  llvm::logicalview::Ranges
}
 
enum class  llvm::logicalview::LVInternalKind {
  llvm::logicalview::All , llvm::logicalview::Cmdline , llvm::logicalview::ID , llvm::logicalview::Integrity ,
  llvm::logicalview::None , llvm::logicalview::Tag
}
 

Functions

LVOptions & llvm::logicalview::options ()
 
void llvm::logicalview::setOptions (LVOptions *Options)
 
LVPatterns & llvm::logicalview::patterns ()
 

Macro Definition Documentation

◆ ATTRIBUTE_OPTION

#define ATTRIBUTE_OPTION (   FIELD)     STDSET_FUNCTION_4(Attribute, FIELD, LVAttributeKind, Kinds)

Definition at line 66 of file LVOptions.h.

◆ BOOL_FUNCTION

#define BOOL_FUNCTION (   FAMILY,
  FIELD 
)
Value:
bool get##FAMILY##FIELD() const { return FAMILY.FIELD; } \
void set##FAMILY##FIELD() { FAMILY.FIELD = true; } \
void reset##FAMILY##FIELD() { FAMILY.FIELD = false; }
#define FIELD(name)

Definition at line 30 of file LVOptions.h.

◆ COMPARE_OPTION

#define COMPARE_OPTION (   FIELD)     STDSET_FUNCTION_4(Compare, FIELD, LVCompareKind, Elements)

Definition at line 81 of file LVOptions.h.

◆ INTERNAL_OPTION

#define INTERNAL_OPTION (   FIELD)     STDSET_FUNCTION_4(Internal, FIELD, LVInternalKind, Kinds)

Definition at line 89 of file LVOptions.h.

◆ OUTPUT_OPTION

#define OUTPUT_OPTION (   FIELD)     STDSET_FUNCTION_4(Output, FIELD, LVOutputKind, Kinds)

Definition at line 70 of file LVOptions.h.

◆ PRINT_OPTION

#define PRINT_OPTION (   FIELD)    STDSET_FUNCTION_4(Print, FIELD, LVPrintKind, Kinds)

Definition at line 74 of file LVOptions.h.

◆ REPORT_OPTION

#define REPORT_OPTION (   FIELD)     STDSET_FUNCTION_4(Report, FIELD, LVReportKind, Kinds)

Definition at line 85 of file LVOptions.h.

◆ STD_STRING_FUNCTION

#define STD_STRING_FUNCTION (   FAMILY,
  FIELD 
)
Value:
std::string get##FAMILY##FIELD() const { return FAMILY.FIELD; } \
void set##FAMILY##FIELD(std::string FIELD) { FAMILY.FIELD = FIELD; } \
void reset##FAMILY##FIELD() { FAMILY.FIELD = ""; }

Definition at line 42 of file LVOptions.h.

◆ STDSET_FUNCTION_4

#define STDSET_FUNCTION_4 (   FAMILY,
  FIELD,
  TYPE,
  SET 
)
Value:
bool get##FAMILY##FIELD() const { \
return FAMILY.SET.find(TYPE::FIELD) != FAMILY.SET.end(); \
} \
void set##FAMILY##FIELD() { FAMILY.SET.insert(TYPE::FIELD); } \
void reset##FAMILY##FIELD() { \
std::set<TYPE>::iterator Iter = FAMILY.SET.find(TYPE::FIELD); \
if (Iter != FAMILY.SET.end()) \
FAMILY.SET.erase(Iter); \
}

Definition at line 48 of file LVOptions.h.

◆ STDSET_FUNCTION_5

#define STDSET_FUNCTION_5 (   FAMILY,
  FIELD,
  ENTRY,
  TYPE,
  SET 
)
Value:
bool get##FAMILY##FIELD##ENTRY() const { \
return FAMILY.SET.find(TYPE::ENTRY) != FAMILY.SET.end(); \
} \
void set##FAMILY##FIELD##ENTRY() { FAMILY.SET.insert(TYPE::ENTRY); }
#define ENTRY(ASMNAME, ENUM)

Definition at line 59 of file LVOptions.h.

◆ UNSIGNED_FUNCTION

#define UNSIGNED_FUNCTION (   FAMILY,
  FIELD 
)
Value:
unsigned get##FAMILY##FIELD() const { return FAMILY.FIELD; } \
void set##FAMILY##FIELD(unsigned Value) { FAMILY.FIELD = Value; } \
void reset##FAMILY##FIELD() { FAMILY.FIELD = -1U; }

Definition at line 36 of file LVOptions.h.

◆ WARNING_OPTION

#define WARNING_OPTION (   FIELD)     STDSET_FUNCTION_4(Warning, FIELD, LVWarningKind, Kinds)

Definition at line 77 of file LVOptions.h.