|
LLVM
8.0.1
|
#include "ValueEnumerator.h"#include "llvm/ADT/DenseMap.h"#include "llvm/ADT/SmallVector.h"#include "llvm/Config/llvm-config.h"#include "llvm/IR/Argument.h"#include "llvm/IR/Attributes.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/Type.h"#include "llvm/IR/Use.h"#include "llvm/IR/UseListOrder.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 <cassert>#include <cstddef>#include <iterator>#include <tuple>#include <utility>#include <vector>
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 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) |
Definition at line 712 of file ValueEnumerator.cpp.
References assert(), C, llvm::ValueMap< KeyT, ValueT, Config >::count(), llvm::dyn_cast(), E, F(), llvm::AttributeList::getAttributes(), llvm::User::getNumOperands(), llvm::Value::getType(), llvm::ValueEnumerator::getValueID(), llvm::AttributeSet::hasAttributes(), I, llvm::AttributeList::index_begin(), llvm::AttributeList::index_end(), llvm::UniqueVector< T >::insert(), llvm::AttributeList::isEmpty(), llvm::Type::isVoidTy(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::lookup(), N, llvm::User::op_begin(), llvm::User::op_end(), llvm::User::operands(), llvm::SmallVectorTemplateBase< T >::push_back(), llvm::SmallVectorImpl< T >::reserve(), llvm::SmallVectorBase::size(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::size(), llvm::sort(), llvm::Type::subtypes(), and std::swap().
|
static |
Definition at line 1020 of file ValueEnumerator.cpp.
Referenced by llvm::ValueEnumerator::getGlobalBasicBlockID().
Definition at line 317 of file ValueEnumerator.cpp.
Referenced by llvm::ValueEnumerator::print().
Definition at line 103 of file ValueEnumerator.cpp.
References llvm::Module::aliases(), F(), G, llvm::Module::globals(), I, llvm::Module::ifuncs(), and orderValue().
Referenced by predictUseListOrder().
Definition at line 88 of file ValueEnumerator.cpp.
References C, llvm::User::getNumOperands(), and llvm::User::operands().
Referenced by orderModule().
|
static |
Definition at line 261 of file ValueEnumerator.cpp.
References E, F(), G, llvm::Module::globals(), I, llvm::GlobalValue::isDeclaration(), orderModule(), predictValueUseListOrder(), llvm::Module::rbegin(), and llvm::Module::rend().
Referenced by llvm::ValueEnumerator::ValueEnumerator().
|
static |
Definition at line 240 of file ValueEnumerator.cpp.
References assert(), C, llvm::User::getNumOperands(), llvm::User::operands(), predictValueUseListOrderImpl(), llvm::Value::use_begin(), llvm::Value::use_empty(), and llvm::Value::use_end().
Referenced by predictUseListOrder().
|
static |
Definition at line 171 of file ValueEnumerator.cpp.
References assert(), llvm::SmallVectorTemplateCommon< T >::begin(), E, llvm::SmallVectorTemplateCommon< T >::end(), first, I, List, llvm::SmallVectorTemplateBase< T >::push_back(), llvm::SmallVectorBase::size(), llvm::sort(), and llvm::Value::uses().
Referenced by predictValueUseListOrder().
1.8.13