mie: ir: op: only create a name map if the op is isolated-from-above
This commit is contained in:
14
mie/ir/op.c
14
mie/ir/op.c
@@ -80,12 +80,24 @@ struct mie_register *mie_op_add_result(struct mie_op *op, const struct mie_type
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static bool is_isolated(const struct mie_op *op)
|
||||||
|
{
|
||||||
|
const struct mie_trait *isolated = mie_trait_table_get_unique(
|
||||||
|
&op->op_info->op_traits, "builtin", "isolated-from-above");
|
||||||
|
return isolated != NULL;
|
||||||
|
}
|
||||||
|
|
||||||
struct mie_region *mie_op_add_region(struct mie_op *op)
|
struct mie_region *mie_op_add_region(struct mie_op *op)
|
||||||
{
|
{
|
||||||
|
bool isolated = is_isolated(op);
|
||||||
|
|
||||||
struct mie_region *region = mie_vector_emplace_back(op->op_regions, NULL);
|
struct mie_region *region = mie_vector_emplace_back(op->op_regions, NULL);
|
||||||
region->r_names = mie_name_map_create(NULL);
|
|
||||||
region->r_parent = op;
|
region->r_parent = op;
|
||||||
|
|
||||||
|
if (isolated) {
|
||||||
|
region->r_names = mie_name_map_create(NULL);
|
||||||
|
}
|
||||||
|
|
||||||
return region;
|
return region;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user