diff options
author | Luc Van Oostenryck <luc.vanoostenryck@gmail.com> | 2020-02-18 00:29:52 +0100 |
---|---|---|
committer | Luc Van Oostenryck <luc.vanoostenryck@gmail.com> | 2021-04-17 20:43:07 +0200 |
commit | 015aad879799020c4bb0da458a01bebc434aba14 (patch) | |
tree | 0cbfa28ea4dd53702a868b312f7ec08a09c51425 | |
parent | 0dd7ffba2e72bb83012c6d6e8a5a98ed31c4168e (diff) | |
download | sparse-015aad879799020c4bb0da458a01bebc434aba14.tar.gz |
memops: find_dominating_parents()'s generation is redundant
find_dominating_parents() has an argument 'generation' used
to check if a BB has already been visited.
But this argument is not needed since this generation is also
stored in the field ::generation of the current BB.
So, remove this argument.
Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
-rw-r--r-- | memops.c | 14 |
1 files changed, 6 insertions, 8 deletions
@@ -59,7 +59,7 @@ end: } static int find_dominating_parents(struct instruction *insn, - struct basic_block *bb, unsigned long generation, struct pseudo_list **dominators, + struct basic_block *bb, struct pseudo_list **dominators, int local) { struct basic_block *parent; @@ -86,11 +86,11 @@ static int find_dominating_parents(struct instruction *insn, goto found_dominator; } END_FOR_EACH_PTR_REVERSE(one); no_dominance: - if (parent->generation == generation) + if (parent->generation == bb->generation) continue; - parent->generation = generation; + parent->generation = bb->generation; - if (!find_dominating_parents(insn, parent, generation, dominators, local)) + if (!find_dominating_parents(insn, parent, dominators, local)) return 0; continue; @@ -146,7 +146,6 @@ static void simplify_loads(struct basic_block *bb) pseudo_t pseudo = insn->src; int local = local_pseudo(pseudo); struct pseudo_list *dominators; - unsigned long generation; if (insn->is_volatile) continue; @@ -177,10 +176,9 @@ static void simplify_loads(struct basic_block *bb) } END_FOR_EACH_PTR_REVERSE(dom); /* OK, go find the parents */ - generation = ++bb_generation; - bb->generation = generation; + bb->generation = ++bb_generation; dominators = NULL; - if (find_dominating_parents(insn, bb, generation, &dominators, local)) { + if (find_dominating_parents(insn, bb, &dominators, local)) { /* This happens with initial assignments to structures etc.. */ if (!dominators) { if (local) { |