LLVM  10.0.0svn
Classes | Namespaces | Enumerations | Functions
Attributor.h File Reference
#include "llvm/ADT/SetVector.h"
#include "llvm/Analysis/TargetLibraryInfo.h"
#include "llvm/ADT/MapVector.h"
#include "llvm/IR/CallSite.h"
#include "llvm/IR/PassManager.h"
Include dependency graph for Attributor.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  llvm::IRPosition
 } More...
 
struct  llvm::DenseMapInfo< IRPosition >
 Helper that allows IRPosition as a key in a DenseMap. More...
 
class  llvm::SubsumingPositionIterator
 A visitor class for IR positions. More...
 
struct  llvm::InformationCache
 Data structure to hold cached (LLVM-IR) information. More...
 
struct  llvm::Attributor
 The fixpoint analysis framework that orchestrates the attribute deduction. More...
 
struct  llvm::AbstractState
 An interface to query the internal state of an abstract attribute. More...
 
struct  llvm::IntegerState
 Simple state with integers encoding. More...
 
struct  llvm::BooleanState
 Simple wrapper for a single bit (boolean) state. More...
 
struct  llvm::IRAttributeManifest
 Helper struct necessary as the modular build fails if the virtual method IRAttribute::manifest is defined in the Attributor.cpp. More...
 
struct  llvm::StateWrapper< StateTy, Base >
 Helper to tie a abstract state implementation to an abstract attribute. More...
 
struct  llvm::IRAttribute< AK, Base >
 Helper class that provides common functionality to manifest IR attributes. More...
 
struct  llvm::AbstractAttribute
 Base struct for all "concrete attribute" deductions. More...
 
struct  llvm::AttributorPass
 } More...
 
struct  llvm::AAReturnedValues
 

Abstract Attribute Classes

More...
 
struct  llvm::AANoUnwind
 
struct  llvm::AANoSync
 
struct  llvm::AANonNull
 An abstract interface for all nonnull attributes. More...
 
struct  llvm::AANoRecurse
 An abstract attribute for norecurse. More...
 
struct  llvm::AAWillReturn
 An abstract attribute for willreturn. More...
 
struct  llvm::AANoAlias
 An abstract interface for all noalias attributes. More...
 
struct  llvm::AANoFree
 An AbstractAttribute for nofree. More...
 
struct  llvm::AANoReturn
 An AbstractAttribute for noreturn. More...
 
struct  llvm::AAIsDead
 An abstract interface for liveness abstract attribute. More...
 
struct  llvm::DerefState
 State for dereferenceable attribute. More...
 
struct  llvm::AADereferenceable
 An abstract interface for all dereferenceable attribute. More...
 
struct  llvm::AAAlign
 An abstract interface for all align attributes. More...
 
struct  llvm::AANoCapture
 An abstract interface for all nocapture attributes. More...
 
struct  llvm::AAValueSimplify
 An abstract interface for value simplify abstract attribute. More...
 
struct  llvm::AAHeapToStack
 

Namespaces

 llvm
 This class represents lattice values for constants.
 

Enumerations

enum  llvm::ChangeStatus { llvm::ChangeStatus::CHANGED, llvm::ChangeStatus::UNCHANGED }
 Simple enum class that forces the status to be spelled out explicitly. More...
 

Functions

ChangeStatus llvm::operator| (ChangeStatus l, ChangeStatus r)
 Logic operators for the change status enum class. More...
 
ChangeStatus llvm::operator & (ChangeStatus l, ChangeStatus r)
 
raw_ostreamllvm::operator<< (raw_ostream &OS, const AbstractAttribute &AA)
 Forward declarations of output streams for debug purposes. More...
 
raw_ostreamllvm::operator<< (raw_ostream &OS, ChangeStatus S)
 Helpers to ease debugging through output streams and print calls. More...
 
raw_ostreamllvm::operator<< (raw_ostream &OS, IRPosition::Kind)
 
raw_ostreamllvm::operator<< (raw_ostream &OS, const IRPosition &)
 
raw_ostreamllvm::operator<< (raw_ostream &OS, const AbstractState &State)
 
raw_ostreamllvm::operator<< (raw_ostream &OS, const IntegerState &S)
 
Passllvm::createAttributorLegacyPass ()