An abstract interface for pointer struct and access information.
Synopsis
Declared in <llvm/Transforms/IPO/Attributor.h>
struct AAPointerInfo
: AbstractAttribute
Base Classes
Name |
Description |
Base struct for all "concrete attribute" deductions. |
Types
Name |
Description |
An access description. |
|
Helper holding offsets computed for a Use. |
|
A container for a list of ranges. |
Type Aliases
Name |
Description |
Call‐base context associated with an IR position. |
|
Set of dependence edges from this node. |
|
Dependence edge with an optional‐bit tag. |
|
Map type from offset to access bin. |
|
State type associated with this abstract attribute. |
|
Iterator over dependent abstract attributes. |
|
Const iterator over offset bins. |
|
Iterator over dependent graph nodes. |
Enums
Name |
Description |
Kind of memory access described by an Access object. |
|
The positions we distinguish in the IR. |
Member Functions
Name |
Description |
|
Create an AAPointerInfo for the position |
|
Add returned‐pointer offsets into the given set. |
|
|
Return an iterator to the first child dependence node. |
|
Return an iterator past the last child dependence node. |
|
Dump this abstract attribute to stderr. |
|
|
|
|
|
Return the Function surrounding the anchor value. |
|
Return the value this abstract attribute is anchored with. |
|
Return theargument |
|
|
This function should return the "summarized" assumed state as string. |
Return the associated argument, if any. |
|
Return the associated function, if any. |
|
Return the type this abstract attribute is associated with. |
|
Return the value this abstract attribute is associated with. |
|
Return the index in the attribute list for this position. |
|
Return the attributes associated with this function or call site scope. |
|
Return the value attributes are attached to. |
|
Get the call base context from the position. |
|
Return the call‐site argument number of the associated value. |
|
Return the callee‐side argument number, or a negative value. |
|
Return the context instruction, if any. |
|
Return the set of dependence edges. |
|
Return an IR position, see struct IRPosition. |
|
|
See AbstractAttribute::getIdAddr() |
|
See AbstractAttribute::getName() |
Return the number of arguments associated with this function or call site scope. |
|
Return the associated position kind. |
|
Return the internal abstract state for inspection. |
|
Check if the position has any call base context. |
|
|
Initialize the state with the information in the Attributor |
Return true if this is any call‐site‐related position. |
|
Return true if the position is an argument or call site argument. |
|
Return true if the position refers to a function interface, that is the function scope, the function return, or an argument. |
|
Return true if this is a function or call site position. |
|
|
Return true if this is a query abstract attribute. |
|
Return the number of offset bins. |
|
|
|
Print this attribute and its dependences. |
|
Return true if the pointer may reach a return. |
Update the attributes associated with this function or call site scope. |
|
Return the same position without the call base context. |
|
Conversion into a void * to allow reuse of pointer hashing. |
|
Return true if this equals |
|
Return true if this differs from |
Static Member Functions
Name |
Description |
Create a position describing the argument |
|
|
|
Create a position describing the function scope of |
|
Create a position describing the returned value of |
|
|
|
Create an abstract attribute view for the position |
|
Create a position describing the function scope of |
|
Create a function‐scope position matching the context of |
|
Return false if this AA does anything non‐trivial (hence not done by default) in its initializer. |
|
Create a position describing the instruction |
|
See AbstractAttribute::isValidIRPositionForInit |
|
Return false if an AA should not be updated for |
|
Return true if this AA requires a "callee" (or an associted function) for a call site positon. Default is optimistic to minimize AAs. |
|
Return true if this AA requires all callees for an argument or function positon. |
|
Return true if this AA requires non‐asm "callee" for a call site positon. |
|
Create a position describing the returned value of |
|
Create a position describing the value of |
Static Data Members
Name |
Description |
Unique ID (due to the unique address) |
|
Compile time access to the IR attribute kind. |
Protected Member Functions
Name |
Description |
|
Hook for the Attributor to trigger the manifestation of the information represented by the abstract attribute in the LLVM‐IR. |
|
Hook to enable custom statistic tracking, called after manifest that resulted in a change if statistics are enabled. |
Hook for the Attributor to trigger an update of the internal state. |
|
|
The actual update/transfer function which has to be implemented by the derived classes. |
Cast this node to an AbstractAttribute pointer. |
Protected Static Member Functions
Name |
Description |
Return the dependence‐graph node from edge |
|
Return the abstract attribute from dependence edge |