Commit 48de24b4 authored by Matthias Braun's avatar Matthias Braun
Browse files

remove highlevel op flag

The semantics on when to set this flag were unclear, so there weren't
any real users anyway.
parent e2ff51a6
......@@ -453,8 +453,6 @@ FIRM_API ir_node *skip_Tuple(ir_node *node);
FIRM_API ir_node *skip_Pin(ir_node *node);
/** Returns operand of node if node is a Confirm */
FIRM_API ir_node *skip_Confirm(ir_node *node);
/** Skip all high-level Operations (including Confirm). */
FIRM_API ir_node *skip_HighLevel_ops(ir_node *node);
/** Returns true if the operation manipulates control flow */
FIRM_API int is_cfop(const ir_node *node);
/** Returns true if the operation jumps to an unknown destination.
......
......@@ -48,8 +48,6 @@ typedef enum {
control flow because of an exception.
*/
irop_flag_forking = 1U << 3, /**< Forking control flow at this operation. */
irop_flag_highlevel = 1U << 4, /**< This operation is a pure high-level one and can be
skipped in low-level optimizations. */
irop_flag_constlike = 1U << 5, /**< This operation has no arguments and is some
kind of a constant. */
irop_flag_keep = 1U << 6, /**< This operation can be kept in End's keep-alive list. */
......
......@@ -639,9 +639,9 @@ EOF
my $dump_func = $n{"dump_func"};
my %known_flags = map { $_ => 1 } (
"none", "commutative", "cfopcode", "unknown_jump", "fragile",
"forking", "highlevel", "constlike", "keep", "start_block",
"uses_memory", "dump_noblock", "cse_neutral"
"none", "commutative", "cfopcode", "unknown_jump", "fragile", "forking",
"constlike", "keep", "start_block", "uses_memory", "dump_noblock",
"cse_neutral"
);
my $is_fragile = 0;
foreach my $flag (@{$n{"op_flags"}}) {
......
......@@ -877,15 +877,6 @@ ir_node *skip_Confirm(ir_node *node)
return node;
}
ir_node *skip_HighLevel_ops(ir_node *node)
{
while (is_op_highlevel(get_irn_op(node))) {
node = get_irn_n(node, 0);
}
return node;
}
ir_node *skip_Id(ir_node *node)
{
/* This should compact Id-cycles to self-cycles. It has the same (or less?) complexity
......
......@@ -76,12 +76,6 @@ static inline bool is_op_forking(const ir_op *op)
return op->flags & irop_flag_forking;
}
/** Returns non-zero if operation is a high-level op */
static inline bool is_op_highlevel(const ir_op *op)
{
return op->flags & irop_flag_highlevel;
}
/** Returns non-zero if operation is a const-like op */
static inline bool is_op_constlike(const ir_op *op)
{
......
......@@ -764,7 +764,7 @@ static mtp_additional_properties check_nothrow_or_malloc(ir_graph *irg, bool top
ir_node *res = get_Return_res(pred, j);
/* skip Confirms */
res = skip_HighLevel_ops(res);
res = skip_Confirm(res);
/* skip Proj's */
while (is_Proj(res))
res = get_Proj_pred(res);
......
......@@ -354,7 +354,7 @@ class Confirm:
("bound", "value to compare against"),
]
mode = "get_irn_mode(irn_value)"
flags = [ "highlevel" ]
flags = [ ]
pinned = "yes"
attrs = [
Attribute("relation", type="ir_relation",
......@@ -664,7 +664,7 @@ class Pin:
("op", "value which is pinned"),
]
mode = "get_irn_mode(irn_op)"
flags = [ "highlevel" ]
flags = [ ]
pinned = "yes"
@op
......@@ -696,7 +696,7 @@ class Raise:
("M", "memory result"),
("X", "control flow to exception handler"),
]
flags = [ "highlevel", "cfopcode" ]
flags = [ "cfopcode" ]
pinned = "yes"
@op
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment