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
0fbbd3a1
Commit
0fbbd3a1
authored
Jul 22, 2015
by
Matthias Braun
Browse files
benode: Remove be_Any node
parent
bd66289b
Changes
3
Hide whitespace changes
Inline
Side-by-side
ir/be/beemitter.c
View file @
0fbbd3a1
...
...
@@ -86,7 +86,6 @@ void be_init_emitters(void)
{
ir_clear_opcodes_generic_func
();
be_set_emitter
(
op_Phi
,
be_emit_nothing
);
be_set_emitter
(
op_be_AnyVal
,
be_emit_nothing
);
be_set_emitter
(
op_be_Keep
,
be_emit_nothing
);
}
...
...
ir/be/benode.c
View file @
0fbbd3a1
...
...
@@ -58,7 +58,6 @@ typedef struct be_relocation_attr_t {
unsigned
kind
;
}
be_relocation_attr_t
;
ir_op
*
op_be_AnyVal
;
ir_op
*
op_be_Asm
;
ir_op
*
op_be_Copy
;
ir_op
*
op_be_CopyKeep
;
...
...
@@ -342,18 +341,6 @@ unsigned be_get_MemPerm_entity_arity(const ir_node *irn)
return
get_irn_arity
(
irn
);
}
ir_node
*
be_new_AnyVal
(
ir_node
*
block
,
const
arch_register_class_t
*
cls
)
{
ir_graph
*
irg
=
get_irn_irg
(
block
);
ir_mode
*
mode
=
cls
->
mode
;
ir_node
*
res
=
new_ir_node
(
NULL
,
irg
,
block
,
op_be_AnyVal
,
mode
,
0
,
NULL
);
init_node_attr
(
res
,
1
,
arch_irn_flags_none
);
arch_set_irn_register_req_out
(
res
,
0
,
cls
->
class_req
);
be_node_attr_t
*
attr
=
(
be_node_attr_t
*
)
get_irn_generic_attr
(
res
);
attr
->
exc
.
pin_state
=
op_pin_state_floats
;
return
res
;
}
const
arch_register_req_t
*
be_create_reg_req
(
struct
obstack
*
obst
,
const
arch_register_t
*
reg
,
bool
ignore
)
...
...
@@ -655,7 +642,6 @@ void be_init_op(void)
/* Acquire all needed opcodes. */
unsigned
const
o
=
get_next_ir_opcodes
(
beo_last
+
1
);
op_be_AnyVal
=
new_be_op
(
o
+
beo_AnyVal
,
"be_AnyVal"
,
op_pin_state_exc_pinned
,
irop_flag_constlike
|
irop_flag_cse_neutral
,
oparity_any
,
sizeof
(
be_node_attr_t
));
op_be_Asm
=
new_be_op
(
o
+
beo_Asm
,
"be_Asm"
,
op_pin_state_exc_pinned
,
irop_flag_none
,
oparity_any
,
sizeof
(
be_asm_attr_t
));
op_be_Copy
=
new_be_op
(
o
+
beo_Copy
,
"be_Copy"
,
op_pin_state_exc_pinned
,
irop_flag_none
,
oparity_any
,
sizeof
(
be_node_attr_t
));
op_be_CopyKeep
=
new_be_op
(
o
+
beo_CopyKeep
,
"be_CopyKeep"
,
op_pin_state_exc_pinned
,
irop_flag_keep
,
oparity_variable
,
sizeof
(
be_node_attr_t
));
...
...
@@ -666,7 +652,6 @@ void be_init_op(void)
op_be_Relocation
=
new_be_op
(
o
+
beo_Relocation
,
"be_Relocation"
,
op_pin_state_floats
,
irop_flag_constlike
|
irop_flag_start_block
,
oparity_any
,
sizeof
(
be_relocation_attr_t
));
set_op_attrs_equal
(
op_be_Asm
,
be_asm_attr_equal
);
set_op_attrs_equal
(
op_be_AnyVal
,
attrs_equal_be_node
);
set_op_attrs_equal
(
op_be_Copy
,
attrs_equal_be_node
);
set_op_attrs_equal
(
op_be_CopyKeep
,
attrs_equal_be_node
);
set_op_attrs_equal
(
op_be_IncSP
,
be_incsp_attrs_equal
);
...
...
@@ -678,7 +663,6 @@ void be_init_op(void)
void
be_finish_op
(
void
)
{
free_ir_op
(
op_be_AnyVal
);
op_be_AnyVal
=
NULL
;
free_ir_op
(
op_be_Copy
);
op_be_Copy
=
NULL
;
free_ir_op
(
op_be_CopyKeep
);
op_be_CopyKeep
=
NULL
;
free_ir_op
(
op_be_IncSP
);
op_be_IncSP
=
NULL
;
...
...
ir/be/benode.h
View file @
0fbbd3a1
...
...
@@ -20,9 +20,8 @@
#include "irnode_t.h"
typedef
enum
be_opcode
{
beo_AnyVal
,
beo_first
=
beo_AnyVal
,
beo_Asm
,
beo_first
=
beo_Asm
,
beo_Copy
,
beo_CopyKeep
,
beo_IncSP
,
...
...
@@ -43,7 +42,6 @@ typedef struct be_asm_attr_t {
void
*
operands
;
}
be_asm_attr_t
;
extern
ir_op
*
op_be_AnyVal
;
extern
ir_op
*
op_be_Asm
;
extern
ir_op
*
op_be_Copy
;
extern
ir_op
*
op_be_CopyKeep
;
...
...
@@ -153,14 +151,6 @@ int be_get_MemPerm_offset(const ir_node *irn);
unsigned
be_get_MemPerm_entity_arity
(
const
ir_node
*
irn
);
/**
* Create a AnyVal node. Use of this node should be avoided!
* The node is used as input at places where we need an input register assigned
* but don't care about its contents. This is for example necessary to fixup
* nodes which are not register pressure faithfull.
*/
ir_node
*
be_new_AnyVal
(
ir_node
*
block
,
const
arch_register_class_t
*
cls
);
arch_register_req_t
const
**
be_allocate_in_reqs
(
ir_graph
*
irg
,
unsigned
n
);
const
arch_register_req_t
*
be_create_reg_req
(
struct
obstack
*
obst
,
...
...
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