commit d04ba5eae886ce4e5407ccd711fb1c9846dcf1f7
parent 96f0711dac07cd124843bb773228c98de2d5d914
Author: Quentin Carbonneaux <quentin.carbonneaux@yale.edu>
Date: Wed, 21 Dec 2016 09:54:50 -0500
fix wrong assertion in load elimination
The assertion fails incorrectly on a block right
after the end of a loop.
Diffstat:
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/load.c b/load.c
@@ -260,7 +260,7 @@ def(Slice sl, bits msk, Blk *b, Ins *i, Loc *il)
goto Load;
if (b->npred == 1) {
bp = b->pred[0];
- assert(bp->loop == il->blk->loop);
+ assert(bp->s2 || bp->loop == il->blk->loop);
l = *il;
if (bp->s2)
l.type = LNoLoad;