LLVM  16.0.0git
Classes | Namespaces
PtrUseVisitor.h File Reference
#include "llvm/ADT/APInt.h"
#include "llvm/ADT/PointerIntPair.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/InstVisitor.h"
#include "llvm/IR/IntrinsicInst.h"
#include <cassert>
#include <type_traits>
Include dependency graph for PtrUseVisitor.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.


class  llvm::detail::PtrUseVisitorBase
 Implementation of non-dependent functionality for PtrUseVisitor. More...
class  llvm::detail::PtrUseVisitorBase::PtrInfo
 This class provides information about the result of a visit. More...
struct  llvm::detail::PtrUseVisitorBase::UseToVisit
 A struct of the data needed to visit a particular use. More...
class  llvm::PtrUseVisitor< DerivedT >
 A base class for visitors over the uses of a pointer value. More...


 This is an optimization pass for GlobalISel generic memory operations.

Detailed Description

This file provides a collection of visitors which walk the (instruction) uses of a pointer. These visitors all provide the same essential behavior as an InstVisitor with similar template-based flexibility and implementation strategies.

These can be used, for example, to quickly analyze the uses of an alloca, global variable, or function argument.

FIXME: Provide a variant which doesn't track offsets and is cheaper.

Definition in file PtrUseVisitor.h.