LLVM: lib/IR/DebugInfoMetadata.cpp File Reference (original) (raw)

Go to the source code of this file.

Namespaces
namespace llvm
This is an optimization pass for GlobalISel generic memory operations.
Macros
#define HANDLE_DI_FLAG(ID, NAME) .Case("DIFlag" #NAME, Flag##NAME)
#define HANDLE_DI_FLAG(ID, NAME)
#define HANDLE_DI_FLAG(ID, NAME)
#define UNWRAP_ARGS_IMPL(...) __VA_ARGS__
#define UNWRAP_ARGS(ARGS) UNWRAP_ARGS_IMPL ARGS
#define DEFINE_GETIMPL_LOOKUP(CLASS, ARGS)
#define DEFINE_GETIMPL_STORE(CLASS, ARGS, OPS)
#define DEFINE_GETIMPL_STORE_NO_OPS(CLASS, ARGS)
#define DEFINE_GETIMPL_STORE_NO_CONSTRUCTOR_ARGS(CLASS, OPS)
#define DEFINE_GETIMPL_STORE_N(CLASS, ARGS, OPS, NUM_OPS)
#define HANDLE_DISP_FLAG(ID, NAME) .Case("DISPFlag" #NAME, SPFlag##NAME)
#define HANDLE_DISP_FLAG(ID, NAME)
#define HANDLE_DISP_FLAG(ID, NAME)
Functions
cl::opt< bool > llvm::EnableFSDiscriminator ("enable-fs-discriminator", cl::Hidden, cl::desc("Enable adding flow sensitive discriminators"))
static void adjustColumn (unsigned &Column)
static bool isCanonical (const MDString *S)

DEFINE_GETIMPL_LOOKUP

| #define DEFINE_GETIMPL_LOOKUP | ( | | CLASS, | | ------------------------------- | - | | ------ | | | ARGS | | | | | ) | | | |

Value:

do { \

if (Storage == Uniqued) { \

if (auto *N = getUniqued(Context.pImpl->CLASS##s, \

return N; \

if (!ShouldCreate) \

return nullptr; \

} else { \

assert(ShouldCreate && \

"Expected non-uniqued nodes to always be created"); \

} \

} while (false)

static T * getUniqued(DenseSet< T *, InfoT > &Store, const typename InfoT::KeyTy &Key)

Definition at line 422 of file DebugInfoMetadata.cpp.

DEFINE_GETIMPL_STORE

| #define DEFINE_GETIMPL_STORE | ( | | CLASS, | | ------------------------------ | - | | ------ | | | ARGS, | | | | | | OPS | | | | | ) | | | |

Value:

return storeImpl(new (std::size(OPS), Storage) \

CLASS(Context, Storage, UNWRAP_ARGS(ARGS), OPS), \

Storage, Context.pImpl->CLASS##s)

Definition at line 435 of file DebugInfoMetadata.cpp.

DEFINE_GETIMPL_STORE_N

| #define DEFINE_GETIMPL_STORE_N | ( | | CLASS, | | --------------------------------- | - | | ------ | | | ARGS, | | | | | | OPS, | | | | | | NUM_OPS | | | | | ) | | | |

Value:

return storeImpl(new (NUM_OPS, Storage) \

CLASS(Context, Storage, UNWRAP_ARGS(ARGS), OPS), \

Storage, Context.pImpl->CLASS##s)

Definition at line 446 of file DebugInfoMetadata.cpp.

DEFINE_GETIMPL_STORE_NO_CONSTRUCTOR_ARGS

| #define DEFINE_GETIMPL_STORE_NO_CONSTRUCTOR_ARGS | ( | | CLASS, | | ----------------------------------------------------- | - | | ------ | | | OPS | | | | | ) | | | |

Value:

return storeImpl(new (std::size(OPS), Storage) CLASS(Context, Storage, OPS), \

Storage, Context.pImpl->CLASS##s)

Definition at line 443 of file DebugInfoMetadata.cpp.

DEFINE_GETIMPL_STORE_NO_OPS

| #define DEFINE_GETIMPL_STORE_NO_OPS | ( | | CLASS, | | --------------------------------------- | - | | ------ | | | ARGS | | | | | ) | | | |

Value:

return storeImpl(new (0u, Storage) \

CLASS(Context, Storage, UNWRAP_ARGS(ARGS)), \

Storage, Context.pImpl->CLASS##s)

Definition at line 439 of file DebugInfoMetadata.cpp.

HANDLE_DI_FLAG [1/3]

| #define HANDLE_DI_FLAG | ( | | ID, | | ------------------------ | --------------------------------- | | --- | | | NAME | | | | | ) | .Case("DIFlag" #NAME, Flag##NAME) | | |

HANDLE_DI_FLAG [2/3]

| #define HANDLE_DI_FLAG | ( | | ID, | | ------------------------ | - | | --- | | | NAME | | | | | ) | | | |

Value:

case Flag##NAME: \

return "DIFlag" #NAME;

HANDLE_DI_FLAG [3/3]

| #define HANDLE_DI_FLAG | ( | | ID, | | ------------------------ | - | | --- | | | NAME | | | | | ) | | | |

Value:

if (DIFlags Bit = Flags & Flag##NAME) { \

SplitFlags.push_back(Bit); \

Flags &= ~Bit; \

}

HANDLE_DISP_FLAG [1/3]

| #define HANDLE_DISP_FLAG | ( | | ID, | | -------------------------- | ------------------------------------- | | --- | | | NAME | | | | | ) | .Case("DISPFlag" #NAME, SPFlag##NAME) | | |

HANDLE_DISP_FLAG [2/3]

| #define HANDLE_DISP_FLAG | ( | | ID, | | -------------------------- | - | | --- | | | NAME | | | | | ) | | | |

Value:

case SPFlag##NAME: \

return "DISPFlag" #NAME;

HANDLE_DISP_FLAG [3/3]

| #define HANDLE_DISP_FLAG | ( | | ID, | | -------------------------- | - | | --- | | | NAME | | | | | ) | | | |

Value:

if (DISPFlags Bit = Flags & SPFlag##NAME) { \

SplitFlags.push_back(Bit); \

Flags &= ~Bit; \

}

UNWRAP_ARGS

UNWRAP_ARGS_IMPL

| #define UNWRAP_ARGS_IMPL | ( | | ... | ) | __VA_ARGS__ | | -------------------------- | - | | ----- | - | ---------------- |

adjustColumn()

static void adjustColumn ( unsigned & Column) static

isCanonical()

ChecksumKindName

const char* ChecksumKindName[DIFile::CSK_Last] static