LLVM 20.0.0git
Public Types | Public Member Functions | List of all members
llvm::TypeFinder Class Reference

TypeFinder - Walk over a module, identifying all of the types that are used by the module. More...

#include "llvm/IR/TypeFinder.h"

Public Types

using iterator = std::vector< StructType * >::iterator
 
using const_iterator = std::vector< StructType * >::const_iterator
 

Public Member Functions

 TypeFinder ()=default
 
void run (const Module &M, bool onlyNamed)
 
void clear ()
 
iterator begin ()
 
iterator end ()
 
const_iterator begin () const
 
const_iterator end () const
 
bool empty () const
 
size_t size () const
 
iterator erase (iterator I, iterator E)
 
StructType *& operator[] (unsigned Idx)
 
DenseSet< const MDNode * > & getVisitedMetadata ()
 

Detailed Description

TypeFinder - Walk over a module, identifying all of the types that are used by the module.

Definition at line 31 of file TypeFinder.h.

Member Typedef Documentation

◆ const_iterator

Definition at line 49 of file TypeFinder.h.

◆ iterator

using llvm::TypeFinder::iterator = std::vector<StructType*>::iterator

Definition at line 48 of file TypeFinder.h.

Constructor & Destructor Documentation

◆ TypeFinder()

llvm::TypeFinder::TypeFinder ( )
default

Member Function Documentation

◆ begin() [1/2]

iterator llvm::TypeFinder::begin ( )
inline

Definition at line 51 of file TypeFinder.h.

Referenced by llvm::Module::getIdentifiedStructTypes().

◆ begin() [2/2]

const_iterator llvm::TypeFinder::begin ( ) const
inline

Definition at line 54 of file TypeFinder.h.

◆ clear()

void TypeFinder::clear ( )

◆ empty()

bool llvm::TypeFinder::empty ( ) const
inline

Definition at line 57 of file TypeFinder.h.

◆ end() [1/2]

iterator llvm::TypeFinder::end ( )
inline

Definition at line 52 of file TypeFinder.h.

Referenced by llvm::Module::getIdentifiedStructTypes().

◆ end() [2/2]

const_iterator llvm::TypeFinder::end ( ) const
inline

Definition at line 55 of file TypeFinder.h.

◆ erase()

iterator llvm::TypeFinder::erase ( iterator  I,
iterator  E 
)
inline

Definition at line 59 of file TypeFinder.h.

References E, and I.

◆ getVisitedMetadata()

DenseSet< const MDNode * > & llvm::TypeFinder::getVisitedMetadata ( )
inline

Definition at line 63 of file TypeFinder.h.

Referenced by llvm::IRMover::IRMover().

◆ operator[]()

StructType *& llvm::TypeFinder::operator[] ( unsigned  Idx)
inline

Definition at line 61 of file TypeFinder.h.

References Idx.

◆ run()

void TypeFinder::run ( const Module M,
bool  onlyNamed 
)

Definition at line 34 of file TypeFinder.cpp.

References A, G, GEP, and I.

Referenced by llvm::Module::getIdentifiedStructTypes(), llvm::IRMover::IRMover(), and StripTypeNames().

◆ size()

size_t llvm::TypeFinder::size ( ) const
inline

Definition at line 58 of file TypeFinder.h.


The documentation for this class was generated from the following files: