Otawa
0.10
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
BranchBuilder.h
Go to the documentation of this file.
1
/*
2
* $Id$
3
* BranchBuilder processor interface
4
*
5
* This file is part of OTAWA
6
* Copyright (c) 2011, IRIT UPS.
7
*
8
* OTAWA is free software; you can redistribute it and/or modify
9
* it under the terms of the GNU General Public License as published by
10
* the Free Software Foundation; either version 2 of the License, or
11
* (at your option) any later version.
12
*
13
* OTAWA is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
* GNU General Public License for more details.
17
*
18
* You should have received a copy of the GNU General Public License
19
* along with OTAWA; if not, write to the Free Software
20
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
21
*/
22
#ifndef BRANCH_BRANCHBUILDER_H_
23
#define BRANCH_BRANCHBUILDER_H_
24
25
#include <
otawa/cfg/features.h
>
26
#include <
otawa/prog/WorkSpace.h
>
27
#include <
otawa/proc/BBProcessor.h
>
28
#include <
otawa/cfg/BasicBlock.h
>
29
30
#include "
features.h
"
31
#include "
BranchProblem.h
"
32
33
namespace
otawa {
namespace
branch
{
34
35
using namespace
elm;
36
37
// processor
38
class
BranchBuilder
:
public
otawa::Processor
{
39
public
:
40
static
p::declare
reg
;
41
BranchBuilder
(
void
);
42
43
protected
:
44
virtual
void
processWorkSpace(
otawa::WorkSpace
*);
45
46
private
:
47
void
categorize(
BasicBlock
*
bb
,
BranchProblem::Domain
*dom,
BasicBlock
* &header,
category_t
&cat);
48
};
49
50
} }
// otawa::branch
51
52
#endif
features.h
BasicBlock.h
otawa::p::declare
Class to declare simple a processor.
Definition:
Registration.h:213
BranchProblem.h
otawa::cfgio::bb
dtd::Element bb(dtd::make("bb", _BB).attr(id).attr(address).attr(size))
otawa::branch::BranchBuilder
Compute the categories for branch prediction.
Definition:
BranchBuilder.h:38
otawa::Processor
The processor class is implemented by all code processor.
Definition:
Processor.h:49
otawa::WorkSpace
A workspace represents a program, its run-time and all information about WCET computation or any othe...
Definition:
WorkSpace.h:67
otawa::branch::category_t
category_t
Definition:
features.h:41
features.h
otawa::branch::BranchBuilder::reg
static p::declare reg
Definition:
BranchBuilder.h:40
otawa::BasicBlock
This is the minimal definition of a basic block.
Definition:
BasicBlock.h:43
BBProcessor.h
otawa::BranchProblem::Domain
Definition:
BranchProblem.h:777
otawa::sem::branch
inst branch(int to)
Definition:
inst.h:149
WorkSpace.h
include
otawa
branch
BranchBuilder.h
Generated on Mon Dec 28 2015 17:50:55 for Otawa by
1.8.7