From 7658e89de5b2568d1a8663277c306b6f009b7ca7 Mon Sep 17 00:00:00 2001
From: Kamil Dudka <kdudka@redhat.com>
Date: Sun, 9 Aug 2009 22:43:17 +0200
Subject: [PATCH] cse: treat PHI-nodes as other instructions
Without this patch test-linearize fails on a simple example:
static void test(int i)
{
while (i) {
if (i)
test(0);
i++;
}
}
It generates a conditional jump depending on an uninitialized value
which is obviously not in the input code.
Signed-off-by: Kamil Dudka <kdudka@redhat.com>
---
cse.c | 7 -------
1 files changed, 0 insertions(+), 7 deletions(-)
@@ -317,13 +317,6 @@ static struct instruction * try_to_cse(struct entrypoint *ep, struct instruction
b2 = i2->bb;
/*
- * PHI-nodes do not care where they are - the only thing that matters
- * are the PHI _sources_.
- */
- if (i1->opcode == OP_PHI)
- return cse_one_instruction(i1, i2);
-
- /*
* Currently we only handle the uninteresting degenerate case where
* the CSE is inside one basic-block.
*/
--
1.6.4