Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 61 lines (45 sloc) 1.708 kb
5b13b55 @nickg Stub of elaboration phase
authored
1 //
2 // Copyright (C) 2011 Nick Gasson
3 //
4 // This program is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation, either version 3 of the License, or
7 // (at your option) any later version.
8 //
9 // This program is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13 //
14 // You should have received a copy of the GNU General Public License
15 // along with this program. If not, see <http://www.gnu.org/licenses/>.
16 //
17
18 #ifndef _PHASE_H
19 #define _PHASE_H
20
21 #include "tree.h"
22
51efdad @nickg Build a list of drivers associated with a signal
authored
23 // Annotate types and perform other semantics checks on a tree.
24 // Returns false on error.
25 bool sem_check(tree_t t);
26
27 // The number of errors found during the semantic check phase.
28 int sem_errors(void);
29
30 // Enable special mode for analysing STANDARD package
31 void sem_bootstrap_en(bool en);
32
33 // Fold all constant expressions
96a94cc @nickg Add simplification pass
authored
34 void simplify(tree_t top);
51efdad @nickg Build a list of drivers associated with a signal
authored
35
b0df00a @nickg Constant folding for array references
authored
36 // Number of errors found during simplification
37 int simplify_errors(void);
38
51efdad @nickg Build a list of drivers associated with a signal
authored
39 // Find all drivers associated with signals
40 void driver_extract(tree_t top);
41
42 // Number of errors found during driver extraction
43 int driver_errors(void);
44
45 // Elaborate a top level entity
5b13b55 @nickg Stub of elaboration phase
authored
46 tree_t elab(tree_t top);
51efdad @nickg Build a list of drivers associated with a signal
authored
47
48 // Generate LLVM bitcode for an elaborated design
b84e2af @nickg Stub of code generation
authored
49 void cgen(tree_t top);
5b13b55 @nickg Stub of elaboration phase
authored
50
51efdad @nickg Build a list of drivers associated with a signal
authored
51 // Toggle LLVM optimisations on and off
ca6ccfa @nickg Add option to disable LLVM optimiser
authored
52 void cgen_optimise_en(bool en);
53
dcc202b @nickg Add command line option to dump generated LLVM IR
authored
54 // Toggle dumping of generated LLVM IR
55 void cgen_dump_en(bool on);
56
a951064 @nickg Add dump command for debugging
authored
57 // Dump out a VHDL representation of the given unit
58 void dump(tree_t top);
59
5b13b55 @nickg Stub of elaboration phase
authored
60 #endif // _PHASE_H
Something went wrong with that request. Please try again.