Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Zwinkau
libfirm
Commits
a6edf590
Commit
a6edf590
authored
Jul 10, 2003
by
Götz Lindenmaier
Browse files
implemented irmode mode_P_mach stuff
new reference for firmjni: node numbers changed [r1453]
parent
daa8e505
Changes
4
Hide whitespace changes
Inline
Side-by-side
firmjni/testprograms/run-results.txt
View file @
a6edf590
...
...
@@ -7,23 +7,23 @@ use xvcg to view this graph:
Creating an IR graph: IfElseExample...
Optimization: 2
new Nodes:
26
,
old Nodes:
27, 25, 26
,
new Nodes:
35
,
old Nodes:
36, 34, 35
,
Optimization: 2
new Nodes: 1
0
,
old Nodes:
28, 25
, 1
0
,
new Nodes: 1
9
,
old Nodes:
37, 34
, 1
9
,
Optimization: 4
new Nodes:
18
,
old Nodes:
33, 26
,
new Nodes:
27
,
old Nodes:
42, 35
,
Optimization: 1
new Nodes:
21
,
old Nodes:
48, 21
,
new Nodes:
30
,
old Nodes:
57, 30
,
Optimization: 1
new Nodes:
19
,
old Nodes:
51, 19
,
new Nodes:
28
,
old Nodes:
60, 28
,
Done building the graph. Optimizing it.
Optimization: 4
new Nodes:
18
,
old Nodes:
33, 26
,
new Nodes:
27
,
old Nodes:
42, 35
,
use xvcg to view this graph:
/ben/goetz/bin/xvcg GRAPHNAME
ir/ir/irdump.c
View file @
a6edf590
...
...
@@ -1331,6 +1331,7 @@ static void clear_link(ir_node * node, void * env) {
}
static
void
collect_blocks_floats_cg
(
ir_node
*
node
,
pmap
*
map
)
{
assert
(
node
);
assert
(
map
);
if
(
is_Block
(
node
)
||
node_floats
(
node
)
||
get_irn_op
(
node
)
==
op_Bad
...
...
@@ -1340,9 +1341,11 @@ static void collect_blocks_floats_cg(ir_node * node, pmap * map) {
{
ir_node
**
arr
;
arr
=
entry
->
value
;
assert
(
arr
);
ARR_APP1
(
ir_node
*
,
arr
,
node
);
}
else
{
ir_node
**
arr
=
NEW_ARR_F
(
ir_node
*
,
1
);
assert
(
arr
);
arr
[
0
]
=
node
;
pmap_insert
(
map
,
current_ir_graph
,
arr
);
}
...
...
ir/ir/irmode.c
View file @
a6edf590
...
...
@@ -156,6 +156,7 @@ ir_mode *mode_C;
ir_mode
*
mode_U
;
ir_mode
*
mode_b
;
ir_mode
*
mode_P
;
ir_mode
*
mode_P_mach
;
/* * *
* functions defined in irmode.h
...
...
@@ -184,6 +185,14 @@ INLINE ir_mode *get_modeBB(void) { ANNOUNCE(); return mode_BB; }
INLINE
ir_mode
*
get_modeANY
(
void
)
{
ANNOUNCE
();
return
mode_ANY
;
}
INLINE
ir_mode
*
get_modeBAD
(
void
)
{
ANNOUNCE
();
return
mode_BAD
;
}
ir_mode
*
get_modeP_mach
(
void
)
{
ANNOUNCE
();
return
mode_P_mach
;
}
void
set_modeP_mach
(
ir_mode
*
p
)
{
ANNOUNCE
();
assert
(
mode_is_reference
(
p
));
mode_P_mach
=
p
;
}
/**
* Registers a new mode if not defined yet, else returns
* the "equivalent" one.
...
...
ir/ir/irmode.h
View file @
a6edf590
...
...
@@ -305,7 +305,7 @@ ir_mode *get_modeANY(void);
ir_mode
*
get_modeBAD
(
void
);
ir_mode
*
get_modeP_mach
(
void
);
ir_mode
*
set_modeP_mach
(
ir_mode
*
p
);
void
set_modeP_mach
(
ir_mode
*
p
);
/**
Functions to check, whether a modecode is signed, float, int, num, data,
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment