summaryrefslogtreecommitdiff
path: root/cse.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@ppc970.osdl.org>2004-12-08 21:19:20 -0700
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-04-07 21:05:43 -0700
commit784e1e5b85fd911b01621519a8ee65f4d8f28da8 (patch)
tree912243e8ae85fc89ae89ce09069abd7605dd9990 /cse.c
parentFix up example storage usage details. (diff)
downloadsparse-784e1e5b85fd911b01621519a8ee65f4d8f28da8.tar.gz
sparse-784e1e5b85fd911b01621519a8ee65f4d8f28da8.tar.bz2
sparse-784e1e5b85fd911b01621519a8ee65f4d8f28da8.zip
Remove phi source merging.
It looked good on paper. Not so good when actually trying to generate code.
Diffstat (limited to 'cse.c')
-rw-r--r--cse.c18
1 files changed, 1 insertions, 17 deletions
diff --git a/cse.c b/cse.c
index 875b79e..31ceafd 100644
--- a/cse.c
+++ b/cse.c
@@ -20,7 +20,7 @@
#define INSN_HASH_SIZE 65536
static struct instruction_list *insn_hash_table[INSN_HASH_SIZE];
-int repeat_phase, merge_phi_sources;
+int repeat_phase;
static int phi_compare(pseudo_t phi1, pseudo_t phi2)
{
@@ -93,11 +93,6 @@ static void clean_up_one_instruction(struct basic_block *bb, struct instruction
break;
}
- case OP_PHISOURCE:
- hash += hashval(insn->phi_src);
- hash += hashval(insn->bb);
- break;
-
default:
/*
* Nothing to do, don't even bother hashing them,
@@ -204,17 +199,6 @@ static int insn_compare(const void *_i1, const void *_i2)
case OP_PHI:
return phi_list_compare(i1->phi_list, i2->phi_list);
- case OP_PHISOURCE:
- if (i1->phi_src != i2->phi_src)
- return i1->src1 < i2->src1 ? -1 : 1;
- if (i1->bb != i2->bb)
- return i1->bb < i2->bb ? -1 : 1;
- if (!merge_phi_sources) {
- if (i1 != i2)
- return i1 < i2 ? -1 : 1;
- }
- break;
-
default:
warning(i1->bb->pos, "bad instruction on hash chain");
}