13#ifndef LLVM_IR_TYPEFINDER_H
14#define LLVM_IR_TYPEFINDER_H
39 std::vector<StructType*> StructTypes;
40 bool OnlyNamed =
false;
45 void run(
const Module &M,
bool onlyNamed);
48 using iterator = std::vector<StructType*>::iterator;
57 bool empty()
const {
return StructTypes.empty(); }
58 size_t size()
const {
return StructTypes.size(); }
68 void incorporateType(
Type *Ty);
74 void incorporateValue(
const Value *V);
78 void incorporateMDNode(
const MDNode *V);
81 void incorporateAttributes(AttributeList AL);
This file contains the simple types necessary to represent the attributes associated with functions a...
static GCRegistry::Add< CoreCLRGC > E("coreclr", "CoreCLR-compatible GC")
This file defines the DenseSet and SmallDenseSet classes.
Implements a dense probed hash-table based set.
A Module instance is used to store all the information related to an LLVM module.
Class to represent struct types.
DenseSet< const MDNode * > & getVisitedMetadata()
void run(const Module &M, bool onlyNamed)
iterator erase(iterator I, iterator E)
const_iterator end() const
const_iterator begin() const
std::vector< StructType * >::const_iterator const_iterator
StructType *& operator[](unsigned Idx)
std::vector< StructType * >::iterator iterator
The instances of the Type class are immutable: once they are created, they are never changed.
LLVM Value Representation.
This is an optimization pass for GlobalISel generic memory operations.