projects
/
libfirm
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
BugFix for a rare case:
[libfirm]
/
ir
/
opt
/
condeval.c
diff --git
a/ir/opt/condeval.c
b/ir/opt/condeval.c
index
cc61e3d
..
54ddc5a
100644
(file)
--- a/
ir/opt/condeval.c
+++ b/
ir/opt/condeval.c
@@
-24,9
+24,7
@@
* @author Christoph Mallon, Matthias Braun
* @version $Id$
*/
* @author Christoph Mallon, Matthias Braun
* @version $Id$
*/
-#ifdef HAVE_CONFIG_H
#include "config.h"
#include "config.h"
-#endif
#include "iroptimize.h"
#include "iroptimize.h"
@@
-413,9
+411,8
@@
static ir_node *find_const_or_confirm(condeval_env_t *env, ir_node *jump, ir_nod
{
ir_node *block = get_nodes_block(jump);
{
ir_node *block = get_nodes_block(jump);
- if (irn_visited(value))
+ if (irn_visited
_else_mark
(value))
return NULL;
return NULL;
- mark_irn_visited(value);
if (is_Const_or_Confirm(value)) {
if (eval_cmp(env, value) <= 0) {
if (is_Const_or_Confirm(value)) {
if (eval_cmp(env, value) <= 0) {
@@
-478,10
+475,9
@@
static ir_node *find_candidate(condeval_env_t *env, ir_node *jump,
{
ir_node *block = get_nodes_block(jump);
{
ir_node *block = get_nodes_block(jump);
- if
(irn_visited
(value)) {
+ if
(irn_visited_else_mark
(value)) {
return NULL;
}
return NULL;
}
- mark_irn_visited(value);
if (is_Const_or_Confirm(value)) {
tarval *tv = get_Const_or_Confirm_tarval(value);
if (is_Const_or_Confirm(value)) {
tarval *tv = get_Const_or_Confirm_tarval(value);