22 #ifndef OTAWA_PROG_FEATURES_H_
23 #define OTAWA_PROG_FEATURES_H_
virtual ~DelayedInfo(void)
Definition: Process.cpp:1133
struct otawa::sem::inst inst
No delayed instruction.
Definition: features.h:31
Identifier< Address > ARGV_ADDRESS
This feature is put on the process object whose image supports Unix-like argument passing...
p::feature DELAYED_FEATURE
This feature is put on processes by the loader to inform that the control instruction of the current ...
p::feature DELAYED2_FEATURE
This Process feature informs that the actual architecture supports delayed branch.
p::feature SEMANTICS_INFO_EXTENDED
This feature is present when the loader provides implementation of extended semantics information...
p::feature MEMORY_ACCESS_FEATURE
This feature is usually asserted by processes that provides access to the memory segment of the progr...
Identifier< DelayedInfo * > DELAYED_INFO
This property provides access to delayed branch information of the current program.
p::feature SEMANTICS_INFO
This feature is present when the loader provides implementation of semantics information.
virtual int count(Inst *inst)
Get the count of instructions before the delayed branch becomes effective.
Definition: Process.cpp:1150
delayed_t
Enumeration giving the type of delayed modes used by control instruction.
Definition: features.h:30
p::feature VLIW_SUPPORTED
This feature is provided on Process objects by architecture implementing VLIW facilities.
Identifier< delayed_t > DELAYED
This kind of property is put on control branch to know if the following instruction is executed as pa...
Identifier< Address > SP_ADDRESS
This feature is put on the process to get information about the built image.
virtual delayed_t type(Inst *inst)=0
Get the type of the delayed control instruction.
The delayed instruction is only executed when the branch is taken.
Definition: features.h:33
p::feature SOURCE_LINE_FEATURE
This feature asserts that a table matching program address and source (file, lines) is available...
p::feature REGISTER_USAGE_FEATURE
This feature is usually asserted by processes that provides access to the register usage information...
p::feature CONTROL_DECODING_FEATURE
This feature is usually provided by the loader providing decoding facility for control instructions...
This class represents identifier with a typed associated value.
Definition: Identifier.h:51
p::feature FLOAT_MEMORY_ACCESS_FEATURE
This feature is usually asserted by processes that provides access to the memory segment of the progr...
This class represents assembly instruction of a piece of code.
Definition: Inst.h:62
The delayed instruction is ever executed, branch taken or not.
Definition: features.h:32
p::feature SEMANTICS_INFO_FLOAT
This feature is present when the loader provides implementation of floating-point semantic instructio...
Identifier< Address > ENVP_ADDRESS
This feature is put on the process object whose image supports Unix-like argument passing...
Shortcut to create a feature with a maker (without the mess of SilentFeature).
Definition: AbstractFeature.h:51
p::feature MEMORY_ACCESSES
This feature, put on a process, informs that the functional simulator provides the ability to give in...
Provide information on delayed branches.
Definition: features.h:37
Identifier< Address > AUXV_ADDRESS
This feature is put on the process object whose image supports Unix-like argument passing...