Jakob Stoklund Olesen
1ed8e1206d
Also use fmt::Write for the print-cfg command.
...
This prepares use for implementing a 'test print-cfg' sub-test.
2016-09-15 17:10:21 -07:00
Jakob Stoklund Olesen
480054a094
Add a utility read_to_string() function.
2016-09-14 13:24:17 -07:00
Jakob Stoklund Olesen
169a2f7542
Simplify the interface to cretonne-reader.
...
Export a single function: parse_functions() which results a vector of
functions parsed from the source string.
Hide the parser and lexer modules. They are not useful to external
clients.
2016-09-13 11:01:21 -07:00
Jakob Stoklund Olesen
02c1bb8f2c
Print CFG edges from func.layout instead of cfg.predecessors_iter.
...
EBBs not in the layout should never be printed as part of the CFG.
2016-08-01 15:18:34 -07:00
Jakob Stoklund Olesen
38815dcca3
Rename the 'repr' module to 'ir'.
...
This module and its submodules define the Intermidiate Representation of the
Cretonne IL.
2016-07-22 09:34:28 -07:00
Morgan Phillips
30eb25d013
Track predecessors as well as successors in the CFG
2016-07-21 12:36:51 -07:00
Jakob Stoklund Olesen
89ba9626c7
Move IR modules under repr/.
...
Use the cretonne::repr module as a common namespace for sub-modules defining the
in-memory representation of Cretonn IL.
2016-07-19 14:10:30 -07:00
Jakob Stoklund Olesen
c1806d0ab0
Use DataFlowGraph in Function.
...
Replace the three tables instructions, extended_basic_blocks, and
extended_values with a single 'dfg' public member.
Clients using Function are changed to refer to func.layout and func.dfg
respectively.
2016-07-19 13:05:28 -07:00
Jakob Stoklund Olesen
8c58fe4631
Use EBB layout order almost everywhere.
...
The ebbs_numerically() function was a workaround for the unimplemented EBB layout
order.
2016-07-18 18:52:35 -07:00
Jakob Stoklund Olesen
e926674b4e
Replace inst_order with Layout in Function.
...
The Layout also handles EBB layout, so new append_ebb calls are necessary.
- Rewrite callers to use the public data member 'layout'.
- Implement Debug for Function in terms of the write module to avoid deriving
it.
2016-07-18 18:23:32 -07:00
Morgan Phillips
8bbc75e39f
Remove extra newline
2016-07-16 15:33:30 -07:00
Morgan Phillips
0cdcf29308
Id CFG graphs by function name
2016-07-14 12:22:08 -07:00
Morgan Phillips
4a6e53f90d
Add a print-cfg subcommand.
...
The command returns parses a .cton file, builds a CFG, and prints it to
stdout in graphviz format.
2016-07-13 14:31:05 -07:00