llir-opt  0.0.1
Low-Level Post-Link Optimiser for OCaml and C
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
BinaryVisitor< T > Class Template Reference

#include <passes/pre_eval/symbolic_visitor.h>

Collaboration diagram for BinaryVisitor< T >:
Collaboration graph
[legend]

Classes

struct  LowerBoundedInteger
 Token for lower bounded integers. More...
 
struct  Mask
 Token for masked integers. More...
 
struct  Nullable
 Token for pointer or null values. More...
 
struct  Pointer
 Token for pointers. More...
 
struct  Scalar
 Token for unknown integer values. More...
 
struct  Undefined
 Token for an undefined value. More...
 
struct  Value
 Token for values. More...
 

Public Member Functions

 BinaryVisitor (SymbolicEval &eval, T &i)
 Looks up the values and dispatches them to the correct case.
 
bool Evaluate ()
 Dispatch to the correct case.
 

Protected Member Functions

 VISITOR_GROUP (Scalar)
 
 VISITOR_GROUP (LowerBoundedInteger)
 
 VISITOR_GROUP (Mask)
 
 VISITOR_GROUP (const APInt &)
 
 VISITOR_GROUP (const APFloat &)
 
 VISITOR_GROUP (Pointer)
 
 VISITOR_GROUP (Undefined)
 
 VISITOR_GROUP (Value)
 
 VISITOR_GROUP (Nullable)
 
bool SetInteger (const APInt &i)
 Forward to evaluator, return an integer.
 
bool SetLowerBounded (const APInt &i)
 Forward to evaluator, return a lower bounded integer.
 
bool SetUndefined ()
 Forward to evaluator, return a undefined value.
 
bool SetScalar ()
 Forward to evaluator, return a scalar.
 
bool SetPointer (const SymbolicPointer::Ref &p)
 Forward to evaluator, return a valu.
 
bool SetNullable (const SymbolicPointer::Ref &p)
 Forward to evaluator, return a nullable.
 
bool SetValue (const SymbolicPointer::Ref &p)
 Forward to evaluator, return a pointer.
 
bool SetMask (const APInt &k, const APInt &v)
 Forward to evaluator, return a pointer.
 

Protected Attributes

SymbolicEvaleval_
 Reference to the evaluator.
 
SymbolicContextctx_
 Reference to the context.
 
T & inst_
 Instruction to be evaluated.
 
const SymbolicValuelhs_
 Left-hand operand.
 
const SymbolicValuerhs_
 Right-hand operand.
 

Detailed Description

template<typename T>
class BinaryVisitor< T >

Visitor for binary values.


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