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
5717eead
Commit
5717eead
authored
May 15, 2006
by
Michael Beck
Browse files
BugFix:
- creation of higher part of a constant - lowering of method types [r7729]
parent
058a0a13
Changes
1
Hide whitespace changes
Inline
Side-by-side
ir/lower/lower_dw.c
View file @
5717eead
...
...
@@ -103,7 +103,8 @@ enum lower_flags {
typedef
struct
_lower_env_t
{
node_entry_t
**
entries
;
/**< entries per node */
struct
obstack
obst
;
/**< an obstack holding the temporary data */
tarval
*
tv_mode_bytes
;
/**< a tarval containing the number of bits in the lowered modes */
tarval
*
tv_mode_bytes
;
/**< a tarval containing the number of bytes in the lowered modes */
tarval
*
tv_mode_bits
;
/**< a tarval containing the number of bits in the lowered modes */
pdeq
*
waitq
;
/**< a wait queue of all nodes that must be handled later */
pmap
*
proj_2_block
;
/**< a map from ProjX to its destination blocks */
const
lwrdw_param_t
*
params
;
/**< transformation parameter */
...
...
@@ -345,7 +346,7 @@ static void lower_Const(ir_node *node, ir_mode *mode, lower_env_t *env) {
tv_l
=
tarval_convert_to
(
tv
,
mode
);
low
=
new_rd_Const
(
dbg
,
current_ir_graph
,
block
,
mode
,
tv_l
);
tv_h
=
tarval_convert_to
(
tarval_shrs
(
tv
,
env
->
tv_mode_b
yte
s
),
mode
);
tv_h
=
tarval_convert_to
(
tarval_shrs
(
tv
,
env
->
tv_mode_b
it
s
),
mode
);
high
=
new_rd_Const
(
dbg
,
current_ir_graph
,
block
,
mode
,
tv_h
);
idx
=
get_irn_idx
(
node
);
...
...
@@ -1434,6 +1435,8 @@ static ir_type *lower_mtp(ir_type *mtp, lower_env_t *env) {
else
set_method_param_type
(
res
,
n_param
++
,
tp
);
}
else
set_method_param_type
(
res
,
n_param
++
,
tp
);
}
for
(
i
=
n_res
=
0
;
i
<
r
;
++
i
)
{
ir_type
*
tp
=
get_method_res_type
(
mtp
,
i
);
...
...
@@ -1452,6 +1455,8 @@ static ir_type *lower_mtp(ir_type *mtp, lower_env_t *env) {
else
set_method_res_type
(
res
,
n_res
++
,
tp
);
}
else
set_method_res_type
(
res
,
n_res
++
,
tp
);
}
set_lowered_type
(
mtp
,
res
);
pmap_insert
(
lowered_type
,
mtp
,
res
);
...
...
@@ -1953,6 +1958,7 @@ void lower_dw_ops(const lwrdw_param_t *param)
}
lenv
.
tv_mode_bytes
=
new_tarval_from_long
(
get_mode_size_bytes
(
param
->
low_unsigned
),
mode_Iu
);
lenv
.
tv_mode_bits
=
new_tarval_from_long
(
get_mode_size_bits
(
param
->
low_unsigned
),
mode_Iu
);
lenv
.
waitq
=
new_pdeq
();
lenv
.
params
=
param
;
...
...
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