SCCPSolver ‐ This interface class is a general purpose solver for Sparse Conditional Constant Propagation (SCCP).
Synopsis
Declared in <llvm/Transforms/Utils/SCCPSolver.h>
class SCCPSolver;
Member Functions
Name |
Description |
|
Construct an SCCP solver for the given data layout and TLI callback. |
|
Destroy the SCCP solver and its visitor. |
Register |
|
Build PredicateInfo for |
|
Add function to the list of functions whose return cannot be modified. |
|
Register |
|
Return the set of functions whose arguments are tracked. |
|
Helper to return a Constant if |
|
Return either a Constant or nullptr for a given Value. |
|
Return the data layout used by this solver. |
|
Return the lattice value inferred for non‐struct value |
|
getMRVFunctionsTracked ‐ Get the set of functions which return multiple values tracked by the pass. |
|
Return the PredicateInfo associated with |
|
Return the lattice values for each element of struct‐typed value |
|
getTrackedGlobals ‐ Get and return the set of inferred initializers for global variables. |
|
getTrackedRetVals ‐ Get the inferred return value map. |
|
Infer argument attributes from tracked argument lattice values. |
|
Infer range attributes from tracked return lattice values. |
|
Returns true if the given function is in the solver's set of argument‐tracked functions. |
|
Return true if |
|
Return true if the control‐flow edge from |
|
Return true if every lattice element of struct return type |
|
Mark |
|
Mark every block in |
|
markOverdefined ‐ Mark the specified value overdefined. This works with both scalars and structs. |
|
Returns true if the return of the given function cannot be modified. |
|
Erase the lattice value stored for |
|
Remove CFG edges from |
|
Remove PredicateInfo SSA copies from |
|
Invalidate the Lattice Value of |
|
Resolve undef branch assumptions after solving dataflow for |
|
Set lattice values for arguments of specialized function |
|
Simplify instructions in |
|
Solve ‐ Solve for constants and executable blocks. |
|
Solve and resolve invalidated undefs until a fixed point. |
|
|
|
trackValueOfArgument ‐ Mark the specified argument overdefined unless it have range attribute. This works with both scalars and structs. |
|
Track loads and stores to |
|
Replace uses of |
|
Visit |
|
Visit call |
Static Member Functions
Name |
Description |
Return true if |
|
Return true if |
|
Return true if |
Created with MrDocs