OTAWA  2.0
Framework to perform machine analysis and compute WCET.
features.h File Reference
#include <elm/data/FragTable.h>
#include <otawa/cfg/CFG.h>
#include <otawa/proc/Feature.h>
#include <otawa/prop/ContextualProperty.h>
#include <otawa/util/Bag.h>

Go to the source code of this file.

Classes

class  otawa::CFGCollection::BlockIter
 
class  otawa::CFGCollection::BlockRange
 
class  otawa::CFGCollection
 
class  otawa::DomInfo
 
class  otawa::CFGCollection::Iter
 
class  otawa::LoopIter
 
class  otawa::LoopManager
 
class  otawa::PostDomInfo
 
class  elm::Tree< class >
 

Namespaces

 elm
 
 otawa
 Development Note Letting the ToDo / ToDoList class visible in the header is clumsy.
 
 otawa::dfa
 
 otawa::graph
 

Typedefs

typedef Pair< BasicBlock *, Inst * > otawa::location_t
 
typedef elm::Tree< SESERegion * > otawa::PSTree
 

Functions

io::Outputotawa::operator<< (io::Output &out, const location_t &loc)
 

Variables

p::id< Address > otawa::ADDED_CFG
 This configuration property allows to add unlinked CFG to the used CFG collection. More...
 
p::id< CString > otawa::ADDED_FUNCTION
 This configuration property allows to add unlinked functions to the used CFG collection. More...
 
p::id< Bag< Address > > otawa::BB_BOUNDS
 Configuration identifier, provides a list of BB start point (whatever the control flow of the executable). More...
 
p::id< Edge * > otawa::CALLED_BY
 This properties are put on a CFG to get the list of edges calling it. More...
 
p::feature otawa::CFG_CHECKSUM_FEATURE
 This feature ensures that each CFG has hooked a checksum allowing to check binary modifications between launch of an OTAWA application. More...
 
Identifier< const CFGInfo * > otawa::CFG_INFO
 Get the collection of CFG found in the program. More...
 
p::feature otawa::CFG_INFO_FEATURE
 Feature asserting that the CFG has been scanned in the program. More...
 
Identifier< sys::Path > otawa::CFG_IO_PATH
 
p::id< Address > otawa::CFG_START
 Provide the start address of a sub-CFG to extract (inclusive). More...
 
p::id< Address > otawa::CFG_STOP
 Provide the stop address of a sub-CFG to extract (exclusive). More...
 
p::feature otawa::CHECKED_CFG_FEATURE
 This feature ensures that. More...
 
Identifier< unsigned long > otawa::CHECKSUM
 This property hooked on a CFG provides a checksum build on the instruction of the CFG. More...
 
p::interfaced_feature< const CFGCollection > otawa::COLLECTED_CFG_FEATURE
 This feature asserts that all CFG involved in the current computation has been collected and accessible thanks to INVOLVED_CFGS property. More...
 
p::feature otawa::CONDITIONAL_RESTRUCTURED_FEATURE
 This feature ensures that the CFG is transformed to reflect the effects of conditional instructions. More...
 
p::id< ContextualPath > otawa::CONTEXT
 Provide context for the referred object. More...
 
p::feature otawa::DELAYED_CFG_FEATURE
 This feature informs that the current microprocessor supports delayed branches and that the CFG has been changed to reflect effect of delay branches. More...
 
Identifier< boolotawa::DELAYED_INST
 This property is set on instruction of a delayed branch. More...
 
Identifier< boolotawa::DELAYED_NOP
 This property is true on NOP instructions insserted due to branch delay. More...
 
p::interfaced_feature< DomInfo > otawa::DOMINANCE_FEATURE
 This feature ensures that information about domination between nodes of a CFG is available. More...
 
p::id< Block * > otawa::ENCLOSING_LOOP_HEADER
 Defined for any BasicBlock that is part of a loop. More...
 
p::id< ContextualStep > otawa::ENTER
 Note the entry into a particular context provided by the property. More...
 
p::id< CFG * > otawa::ENTRY_CFG
 This property is used to get the entry CFG of the currently processed task. More...
 
p::interfaced_feature< LoopManager * > otawa::EXTENDED_LOOP_FEATURE
 This feature build Loop objects representing the hierarchy of loops and attach it to the CFG and its blocks. More...
 
Identifier< boolotawa::INLINING_POLICY
 Put on the first instruction of a function to set default inlining behavior during its virtualization. More...
 
p::id< const CFGCollection * > otawa::INVOLVED_CFGS
 This property is used to link the current computation involved CFG on the framework. More...
 
p::id< int > otawa::LEAVE
 Leave the number of context provided by the number of argument. More...
 
p::id< location_t > otawa::LOCATION_START
 Provide the start location of a sub-CFG to extract (inclusive). More...
 
p::id< location_t > otawa::LOCATION_STOP
 Provide the stop location of a sub-CFG to extract (inclusive). More...
 
p::id< Block * > otawa::LOOP_ENTRY
 Is defined for an Edge if this Edge is the entry-edge of any loop. More...
 
p::id< Block * > otawa::LOOP_EXIT
 Is defined for an Edge if this Edge is the exit-edge of any loop. More...
 
p::id< Block * > & otawa::LOOP_EXIT_EDGE = LOOP_EXIT
 
Identifier< boolotawa::LOOP_HEADER
 Identifier for marking basic blocks that are entries of loops. More...
 
p::feature otawa::LOOP_HEADERS_FEATURE
 This feature ensures that all loop header are marked with a LOOP_HEADER property, and the backedges are marked with a BACK_EDGE property. More...
 
p::feature otawa::LOOP_INFO_FEATURE
 This feature asserts that the loop info of the task is available in the framework. More...
 
Identifier< boolotawa::NO_INLINE
 Put on the first instruction of a function to indicate whether it should be inlined or not during virtualization. More...
 
p::interfaced_feature< PostDomInfo > otawa::POSTDOMINANCE_FEATURE
 This feature ensures that information about postdomination between nodes of a CFG is vailable. More...
 
p::feature otawa::REDUCED_LOOPS_FEATURE
 Ensure that no more irregular loop remains in the program representation. More...
 
p::feature otawa::SPLIT_CFG
 This feature ensure that a part of the current has been extracted as a sub-CFG based on address provided by two properties: More...
 
p::id< boolotawa::UNROLL_THIS
 This property is used by UNROLLED_LOOPS_FEATURE and has to be put on header blocks of loops to select if the corresponding loop has to be unrolled or not. More...
 
Identifier< Block * > otawa::UNROLLED_FROM
 Put on the header ex-header of a loop, this property gives the BB of the unrolled loop. More...
 
p::feature otawa::UNROLLED_LOOPS_FEATURE
 This feature that the loops have been unrolled at least once. More...
 
Identifier< boolotawa::VIRTUAL_DEFAULT
 Configuration property of Virtualizer: it set the default behavior for inlining of function call during virtualization (default to true). More...
 
p::feature otawa::VIRTUALIZED_CFG_FEATURE
 This features only show that the CFG has been virtualized. More...
 
Identifier< int > otawa::WEIGHT
 Get the maximum weight for the basic block it is hooked to. More...
 
p::feature otawa::WEIGHT_FEATURE
 This feature ensures that weight information has been hooked to any BB of the CFG. More...