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
86e7054f
Commit
86e7054f
authored
Oct 29, 2004
by
Götz Lindenmaier
Browse files
type for SymConst
[r4241]
parent
30faf8c2
Changes
2
Hide whitespace changes
Inline
Side-by-side
ir/ir/irnode.c
View file @
86e7054f
...
...
@@ -870,6 +870,10 @@ set_Const_type (ir_node *node, type *tp) {
assert
(
get_type_mode
(
tp
)
==
get_irn_mode
(
node
));
}
if
((
get_irn_node_nr
(
node
)
==
259216
)
&&
(
tp
==
unknown_type
))
assert
(
0
);
node
->
attr
.
con
.
tp
=
tp
;
}
...
...
@@ -930,7 +934,6 @@ void set_SymConst_entity (ir_node *node, entity *ent) {
node
->
attr
.
i
.
sym
.
entity_p
=
ent
;
}
union
symconst_symbol
get_SymConst_symbol
(
ir_node
*
node
)
{
assert
(
node
->
op
==
op_SymConst
);
...
...
@@ -944,6 +947,18 @@ set_SymConst_symbol (ir_node *node, union symconst_symbol sym) {
node
->
attr
.
i
.
sym
=
sym
;
}
type
*
get_SymConst_value_type
(
ir_node
*
node
)
{
assert
(
node
->
op
==
op_SymConst
);
return
node
->
attr
.
i
.
tp
=
skip_tid
(
node
->
attr
.
i
.
tp
);
}
void
set_SymConst_value_type
(
ir_node
*
node
,
type
*
tp
)
{
assert
(
node
->
op
==
op_SymConst
);
node
->
attr
.
i
.
tp
=
tp
;
}
ir_node
*
get_Sel_mem
(
ir_node
*
node
)
{
assert
(
node
->
op
==
op_Sel
);
...
...
ir/ir/irnode.h
View file @
86e7054f
...
...
@@ -87,8 +87,7 @@ typedef struct ir_node ir_node;
#endif
#ifdef __cplusplus
extern
"C"
{
extern
"C"
{
#endif
/**
...
...
@@ -223,9 +222,13 @@ new_ir_node (dbg_info *db,
*
*/
/** This works for all except Block. To express the difference to
* access routines that work for all nodes we use infix "nodes" and do not
* name this function get_irn_block. */
/** Return the block the node belongs to.
*
* This works for all except Block. It can return Blocks or the Bad node.
*
* To express the difference to access routines that work for all
* nodes we use infix "nodes" and do not name this function
* get_irn_block. */
ir_node
*
get_nodes_block
(
ir_node
*
node
);
void
set_nodes_block
(
ir_node
*
node
,
ir_node
*
block
);
...
...
@@ -430,6 +433,12 @@ union symconst_symbol get_SymConst_symbol (ir_node *node);
void
set_SymConst_symbol
(
ir_node
*
node
,
union
symconst_symbol
sym
);
/** Access the type of the value represented by the SymConst.
*
* Example: primitive type int for SymConst size. */
type
*
get_SymConst_value_type
(
ir_node
*
node
);
void
set_SymConst_value_type
(
ir_node
*
node
,
type
*
tp
);
ir_node
*
get_Sel_mem
(
ir_node
*
node
);
void
set_Sel_mem
(
ir_node
*
node
,
ir_node
*
mem
);
ir_node
*
get_Sel_ptr
(
ir_node
*
node
);
/* ptr to the object to select from */
...
...
@@ -756,7 +765,7 @@ ir_node *get_Filter_cg_pred(ir_node *node, int pos);
/** Return true if parameter is a memory operation.
*
* A memory operation is an operation that
directly
changes the
* A memory operation is an operation that changes the
* memory. I.e., a Load or a Store operation.
*/
int
is_memop
(
ir_node
*
node
);
...
...
Write
Preview
Markdown
is supported
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