Otawa  0.10
otawa::clp Namespace Reference

Classes

class  Analysis
 
class  ClpStatePack
 A pack of CLP states inside a BasicBlock. More...
 
class  Manager
 This class allows to exploit the result of a CLP analysis. More...
 
class  State
 The abstract state of the computer (abstract domain). More...
 
class  Value
 A set of values represented by a Circular Linear Progression. More...
 

Typedefs

typedef elm::t::int32 intn_t
 
typedef elm::t::uint32 uintn_t
 
typedef t::uint64 STAT_UINT
 

Enumerations

enum  kind_t { NONE, REG, VAL, ALL }
 Allowed types for values: NONE represents nothing; REG is only used for addresses, and represents a register; VAL represents some values (either a constant or an interval); ALL is the Top element. More...
 

Functions

elm::io::Outputoperator<< (elm::io::Output &out, const otawa::clp::Value &val)
 
long lcm (long a, long b)
 Return the lcm of two long integers. More...
 
intn_t min (intn_t a, intn_t b)
 Return the min with a signed comparison. More...
 
intn_t max (intn_t a, intn_t b)
 Return the max with a signed comparison. More...
 
uintn_t umin (uintn_t a, uintn_t b)
 Return the min with an unsigned comparison. More...
 
uintn_t umax (uintn_t a, uintn_t b)
 Return the max with an usigned comparison. More...
 
io::Outputoperator<< (io::Output &out, const State &state)
 
SilentFeature FEATURE ("otawa::clp::FEATURE", maker)
 This features ensure that the clp analysis has been identified. More...
 
Identifier< clp::StateSTATE_IN ("otawa::clp::STATE_IN")
 Put on a basic block, it's the CLP state at the begining of the block. More...
 
Identifier< clp::StateSTATE_OUT ("otawa::clp::STATE_OUT")
 Put on a basic block, it's the CLP state at the end of the block. More...
 

Variables

const int NBITS = 32
 
const uintn_t UMAXn = elm::type_info<uintn_t>::max
 
const intn_t MAXn = elm::type_info<intn_t>::max
 
const intn_t MINn = elm::type_info<intn_t>::min
 
SilentFeature FEATURE
 This features ensure that the clp analysis has been identified. More...
 
Identifier< clp::StateSTATE_IN
 Put on a basic block, it's the CLP state at the begining of the block. More...
 
Identifier< clp::StateSTATE_OUT
 Put on a basic block, it's the CLP state at the end of the block. More...
 

Typedef Documentation

Enumeration Type Documentation

Allowed types for values: NONE represents nothing; REG is only used for addresses, and represents a register; VAL represents some values (either a constant or an interval); ALL is the Top element.

Enumerator
NONE 
REG 
VAL 
ALL 

Function Documentation

long otawa::clp::lcm ( long  a,
long  b 
)
inline

Return the lcm of two long integers.

References elm::abs().

Referenced by otawa::clp::Value::inter().

elm::io::Output& otawa::clp::operator<< ( elm::io::Output out,
const otawa::clp::Value val 
)
inline

References out, and otawa::clp::Value::print().

io::Output& otawa::clp::operator<< ( io::Output out,
const State &  state 
)

References out, and otawa::clp::State::print().

uintn_t otawa::clp::umax ( uintn_t  a,
uintn_t  b 
)
inline

Return the max with an usigned comparison.

Referenced by otawa::clp::Value::join().

uintn_t otawa::clp::umin ( uintn_t  a,
uintn_t  b 
)
inline

Return the min with an unsigned comparison.

Referenced by otawa::clp::Value::inter().

Variable Documentation

const intn_t otawa::clp::MINn = elm::type_info<intn_t>::min

Referenced by otawa::clp::Value::le().

const int otawa::clp::NBITS = 32