diff options
author | Luc Van Oostenryck <luc.vanoostenryck@gmail.com> | 2020-11-21 18:00:53 +0100 |
---|---|---|
committer | Luc Van Oostenryck <luc.vanoostenryck@gmail.com> | 2020-11-21 18:05:01 +0100 |
commit | a56c36499b686be9cd388b31820f3aa70226dd9f (patch) | |
tree | 1a33e495155900f4f78941268bb96240976c7ada | |
parent | 641cf2c295285ee15f35dbcfd85367ca61259be0 (diff) | |
download | sparse-a56c36499b686be9cd388b31820f3aa70226dd9f.tar.gz |
remove unneeded REPEAT_SYMBOL_CLEANUP
Since simplify_memops() must be called unconditionally (see [1])
it's useless to set REPEAT_SYMBOL_CLEANUP (at the condition that
REPEAT_CSE is set instead).
So remove it's definition and set REPEAT_CSE instead when needed).
[1] 6b5e7cf5ac39 ("cfg: call simplify_memops() unconditionally.")
Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
-rw-r--r-- | flow.c | 3 | ||||
-rw-r--r-- | flow.h | 1 | ||||
-rw-r--r-- | simplify.c | 7 |
3 files changed, 3 insertions, 8 deletions
@@ -457,7 +457,6 @@ void convert_load_instruction(struct instruction *insn, pseudo_t src) { convert_instruction_target(insn, src); kill_instruction(insn); - repeat_phase |= REPEAT_SYMBOL_CLEANUP; } static int overlapping_memop(struct instruction *a, struct instruction *b) @@ -559,7 +558,7 @@ complex_phi: insn->phi_list = dominators; end: - repeat_phase |= REPEAT_SYMBOL_CLEANUP; + repeat_phase |= REPEAT_CSE; } /* Kill a pseudo that is dead on exit from the bb */ @@ -6,7 +6,6 @@ extern unsigned long bb_generation; #define REPEAT_CSE (1 << 0) -#define REPEAT_SYMBOL_CLEANUP (1 << 1) #define REPEAT_CFG_CLEANUP (1 << 2) struct entrypoint; @@ -259,8 +259,6 @@ out: static inline void rem_usage(pseudo_t p, pseudo_t *usep, int kill) { if (has_use_list(p)) { - if (p->type == PSEUDO_SYM) - repeat_phase |= REPEAT_SYMBOL_CLEANUP; delete_pseudo_user_list_entry(&p->users, usep, 1); if (kill && !p->users) kill_instruction(p->def); @@ -338,7 +336,6 @@ int kill_insn(struct instruction *insn, int force) case OP_SYMADDR: kill_use(&insn->src); - repeat_phase |= REPEAT_SYMBOL_CLEANUP; break; case OP_CBR: @@ -1715,7 +1712,7 @@ static int simplify_one_memop(struct instruction *insn, pseudo_t orig) if (def->opcode == OP_SYMADDR && def->src) { kill_use(&insn->src); use_pseudo(insn, def->src, &insn->src); - return REPEAT_CSE | REPEAT_SYMBOL_CLEANUP; + return REPEAT_CSE; } if (def->opcode == OP_ADD) { new = def->src1; @@ -1751,7 +1748,7 @@ offset: } insn->offset += off->value; replace_pseudo(insn, &insn->src, new); - return REPEAT_CSE | REPEAT_SYMBOL_CLEANUP; + return REPEAT_CSE; } /// |