21 #ifndef OTAWA_ETIME_FEATURES_H_
22 #define OTAWA_ETIME_FEATURES_H_
77 virtual string detail(
void)
const = 0;
82 virtual int weight(
void)
const;
Definition: features.h:53
virtual type_t type(void) const =0
virtual void estimate(ilp::Constraint *cons, bool on)
Add an estimation of the event at the left of the given constraint.
Definition: hook.cpp:211
Identifier< int > EVENT_THRESHOLD
This property is used to configure the EDGE_TIME_FEATURE and determine the maximum number of events t...
virtual ot::time cost(void) const =0
Get the cost in cycles of the occurrence of the event.
virtual ~Event(void)
Definition: hook.cpp:113
Definition: features.h:43
occurrence_t
Definition: features.h:51
Definition: features.h:59
virtual cstring name(void) const
Get the name of the event (for human user).
Definition: hook.cpp:144
Definition: features.h:58
virtual const hard::Stage * stage(void) const
For events applying to a particular processor stage, get this stage.
Definition: hook.cpp:154
Definition: features.h:44
This class represents a stage in a pipeline.
Definition: Processor.h:87
Definition: features.h:52
virtual int weight(void) const
Weight is a coarse-grain estimation of the number of times an event arises.
Definition: hook.cpp:195
virtual const hard::FunctionalUnit * fu(void) const
For events applying to a particular processor functional unit, get this functional unit...
Definition: hook.cpp:164
An event represents a time variation in the execution of an instruction.
Definition: features.h:64
Definition: features.h:48
This class is used to represent constraints in an ILP system with the following form: ...
Definition: Constraint.h:33
p::feature EDGE_TIME_FEATURE
This feature ensures that block cost has been computed according to the context of edges...
virtual string detail(void) const =0
A functional unit is specialized in the computation of some kinds of instructions.
Definition: Processor.h:60
Definition: features.h:46
This class represents identifier with a typed associated value.
Definition: Identifier.h:51
Identifier< Event * > EVENT
Allows to hook an event to a basic block.
virtual occurrence_t occurrence(void) const
Get the occurrences class of this event.
Definition: hook.cpp:135
Inst * inst(void) const
Get the instruction this event applies to.
Definition: features.h:69
Definition: features.h:45
This class represents assembly instruction of a piece of code.
Definition: Inst.h:62
virtual bool isEstimating(bool on)
Ask for support of overestimation for the event when activated (on is true) or desactivated (on is fa...
Definition: hook.cpp:184
kind_t
Definition: features.h:42
Definition: features.h:54
This a list of properties.
Definition: PropList.h:63
t::int64 time
Definition: base.h:47
Inst * _inst
Definition: features.h:89
Event(Inst *inst)
Build an event.
Definition: hook.cpp:107
p::feature EVENTS_FEATURE
This feature ensures that all timing events on pipeline has been recorded.
Definition: features.h:47
p::feature STANDARD_EVENTS_FEATURE
This feature ensures that events of the following analyses has been hooked to the task basic blocks: ...
Shortcut to create a feature with a maker (without the mess of SilentFeature).
Definition: AbstractFeature.h:51
Identifier< bool > PREDUMP
This property is used to configure the EDGE_TIME_FEATURE and ask to dump the generated execution grap...
type_t
Definition: features.h:57
virtual kind_t kind(void) const =0
Get the kind of the event.