From: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
To: linux-sparse@vger.kernel.org
Cc: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
Subject: [PATCH 1/2] remove unneeded REPEAT_SYMBOL_CLEANUP
Date: Sat, 21 Nov 2020 23:46:56 +0100 [thread overview]
Message-ID: <20201121224657.96038-2-luc.vanoostenryck@gmail.com> (raw)
In-Reply-To: <20201121224657.96038-1-luc.vanoostenryck@gmail.com>
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>
---
flow.c | 3 +--
flow.h | 1 -
simplify.c | 7 ++-----
3 files changed, 3 insertions(+), 8 deletions(-)
diff --git a/flow.c b/flow.c
index 162c27346def..1a871df16bd5 100644
--- a/flow.c
+++ b/flow.c
@@ -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 */
diff --git a/flow.h b/flow.h
index 19a743c83b94..c3461c8c33bd 100644
--- a/flow.h
+++ b/flow.h
@@ -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;
diff --git a/simplify.c b/simplify.c
index 4d0adf444e17..465624f72677 100644
--- a/simplify.c
+++ b/simplify.c
@@ -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;
}
///
--
2.29.2
next prev parent reply other threads:[~2020-11-21 22:47 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-11-21 22:46 [PATCH 0/2] cleanup REPEAT_SYMBOL_CLEANUP & kill_insn() Luc Van Oostenryck
2020-11-21 22:46 ` Luc Van Oostenryck [this message]
2020-11-21 22:46 ` [PATCH 2/2] simplify kill_insn() of unops and unop-ish instructions Luc Van Oostenryck
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20201121224657.96038-2-luc.vanoostenryck@gmail.com \
--to=luc.vanoostenryck@gmail.com \
--cc=linux-sparse@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).