LLVM 22.0.0git
DXILValueEnumerator.cpp File Reference
#include "DXILValueEnumerator.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/Config/llvm-config.h"
#include "llvm/IR/Argument.h"
#include "llvm/IR/BasicBlock.h"
#include "llvm/IR/Constant.h"
#include "llvm/IR/DebugInfoMetadata.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/GlobalAlias.h"
#include "llvm/IR/GlobalIFunc.h"
#include "llvm/IR/GlobalObject.h"
#include "llvm/IR/GlobalValue.h"
#include "llvm/IR/GlobalVariable.h"
#include "llvm/IR/Instruction.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/Metadata.h"
#include "llvm/IR/Module.h"
#include "llvm/IR/Operator.h"
#include "llvm/IR/Type.h"
#include "llvm/IR/TypedPointerType.h"
#include "llvm/IR/Use.h"
#include "llvm/IR/User.h"
#include "llvm/IR/Value.h"
#include "llvm/IR/ValueSymbolTable.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/raw_ostream.h"
#include <algorithm>
#include <cstddef>
#include <iterator>
#include <tuple>

Go to the source code of this file.

Functions

static void orderValue (const Value *V, OrderMap &OM)
static OrderMap orderModule (const Module &M)
static void predictValueUseListOrderImpl (const Value *V, const Function *F, unsigned ID, const OrderMap &OM, UseListOrderStack &Stack)
static void predictValueUseListOrder (const Value *V, const Function *F, OrderMap &OM, UseListOrderStack &Stack)
static UseListOrderStack predictUseListOrder (const Module &M)
static unsigned getMetadataTypeOrder (const Metadata *MD)
static void IncorporateFunctionInfoGlobalBBIDs (const Function *F, DenseMap< const BasicBlock *, unsigned > &IDMap)

Function Documentation

◆ getMetadataTypeOrder()

unsigned getMetadataTypeOrder ( const Metadata * MD)
static

Definition at line 776 of file DXILValueEnumerator.cpp.

References llvm::dyn_cast(), llvm::isa(), and N.

◆ IncorporateFunctionInfoGlobalBBIDs()

void IncorporateFunctionInfoGlobalBBIDs ( const Function * F,
DenseMap< const BasicBlock *, unsigned > & IDMap )
static

Definition at line 1124 of file DXILValueEnumerator.cpp.

References F.

◆ orderModule()

OrderMap orderModule ( const Module & M)
static

Definition at line 105 of file DXILValueEnumerator.cpp.

References A(), llvm::dyn_cast(), F, G, I, llvm::isa(), and orderValue().

Referenced by predictUseListOrder().

◆ orderValue()

void orderValue ( const Value * V,
OrderMap & OM )
static

Definition at line 85 of file DXILValueEnumerator.cpp.

References llvm::CallingConv::C, llvm::dyn_cast(), llvm::isa(), and orderValue().

Referenced by orderModule(), and orderValue().

◆ predictUseListOrder()

UseListOrderStack predictUseListOrder ( const Module & M)
static

◆ predictValueUseListOrder()

◆ predictValueUseListOrderImpl()

void predictValueUseListOrderImpl ( const Value * V,
const Function * F,
unsigned ID,
const OrderMap & OM,
UseListOrderStack & Stack )
static