public
/
ack.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
73d7e89
)
Fix edge case where leftover pushes would occasionally cause infinite loops in
author
David Given
<dg@cowlark.com>
Sat, 1 Oct 2016 21:41:35 +0000
(23:41 +0200)
committer
David Given
<dg@cowlark.com>
Sat, 1 Oct 2016 21:41:35 +0000
(23:41 +0200)
the analysis.
mach/proto/mcg/pass_convertstackops.c
patch
|
blob
|
history
diff --git
a/mach/proto/mcg/pass_convertstackops.c
b/mach/proto/mcg/pass_convertstackops.c
index
c34eddf
..
f576448
100644
(file)
--- a/
mach/proto/mcg/pass_convertstackops.c
+++ b/
mach/proto/mcg/pass_convertstackops.c
@@
-107,6
+107,11
@@
static void convert_block(struct procedure* proc, struct basicblock* bb)
}
}
+ /* If we didn't actually find anything, give up. */
+
+ if ((pushes.count == 0) || (pops.count == 0))
+ return;
+
/* Okay, now we can wire them all up. */
for (i=0; i<pushes.count; i++)