LLVM 19.0.0git
ValueEnumerator.cpp File Reference
#include "ValueEnumerator.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/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.


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 bool isIntOrIntVectorValue (const std::pair< const Value *, unsigned > &V)
static unsigned getMetadataTypeOrder (const Metadata *MD)
static void IncorporateFunctionInfoGlobalBBIDs (const Function *F, DenseMap< const BasicBlock *, unsigned > &IDMap)

Function Documentation

◆ getMetadataTypeOrder()

static unsigned getMetadataTypeOrder ( const Metadata MD)

Definition at line 808 of file ValueEnumerator.cpp.

References N.

◆ IncorporateFunctionInfoGlobalBBIDs()

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

Definition at line 1174 of file ValueEnumerator.cpp.

References F.

Referenced by llvm::ValueEnumerator::getGlobalBasicBlockID().

◆ isIntOrIntVectorValue()

static bool isIntOrIntVectorValue ( const std::pair< const Value *, unsigned > &  V)

Definition at line 332 of file ValueEnumerator.cpp.

◆ orderModule()

static OrderMap orderModule ( const Module M)

Definition at line 97 of file ValueEnumerator.cpp.

References A, F, llvm::filterDbgVars(), G, I, orderValue(), and llvm::reverse().

Referenced by predictUseListOrder().

◆ orderValue()

static void orderValue ( const Value V,
OrderMap &  OM 

Definition at line 77 of file ValueEnumerator.cpp.

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

Referenced by orderModule(), and orderValue().

◆ predictUseListOrder()

static UseListOrderStack predictUseListOrder ( const Module M)

◆ predictValueUseListOrder()

static void predictValueUseListOrder ( const Value V,
const Function F,
OrderMap &  OM,
UseListOrderStack Stack 

◆ predictValueUseListOrderImpl()

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

Definition at line 173 of file ValueEnumerator.cpp.

References assert(), F, I, if(), llvm::is_sorted(), List, and llvm::sort().

Referenced by predictValueUseListOrder().