14 #ifndef LLVM_IR_TYPEFINDER_H 15 #define LLVM_IR_TYPEFINDER_H 38 std::vector<StructType*> StructTypes;
39 bool OnlyNamed =
false;
44 void run(
const Module &M,
bool onlyNamed);
47 using iterator = std::vector<StructType*>::iterator;
56 bool empty()
const {
return StructTypes.empty(); }
57 size_t size()
const {
return StructTypes.size(); }
67 void incorporateType(
Type *Ty);
73 void incorporateValue(
const Value *V);
77 void incorporateMDNode(
const MDNode *V);
82 #endif // LLVM_IR_TYPEFINDER_H Type
MessagePack types as defined in the standard, with the exception of Integer being divided into a sign...
This class represents lattice values for constants.
A Module instance is used to store all the information related to an LLVM module. ...
std::vector< StructType * >::const_iterator const_iterator
Class to represent struct types.
DenseSet< const MDNode * > & getVisitedMetadata()
const_iterator end() const
The instances of the Type class are immutable: once they are created, they are never changed...
StructType *& operator[](unsigned Idx)
static GCRegistry::Add< CoreCLRGC > E("coreclr", "CoreCLR-compatible GC")
std::vector< StructType * >::iterator iterator
void run(const Module &M, bool onlyNamed)
iterator erase(iterator I, iterator E)
LLVM Value Representation.
const_iterator begin() const
TypeFinder - Walk over a module, identifying all of the types that are used by the module...