diff options
| author | Quentin Carbonneaux <quentin.carbonneaux@yale.edu> | 2016-12-21 09:54:50 -0500 |
|---|---|---|
| committer | Quentin Carbonneaux <quentin.carbonneaux@yale.edu> | 2016-12-21 09:54:50 -0500 |
| commit | d04ba5eae886ce4e5407ccd711fb1c9846dcf1f7 (patch) | |
| tree | 360ae48c954bb432b814a7e46c7c4ae677d32326 | |
| parent | 96f0711dac07cd124843bb773228c98de2d5d914 (diff) | |
| download | roux-d04ba5eae886ce4e5407ccd711fb1c9846dcf1f7.tar.gz | |
fix wrong assertion in load elimination
The assertion fails incorrectly on a block right after the end of a loop.
| -rw-r--r-- | load.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/load.c b/load.c index a6bd68e..26bc2ca 100644 --- 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; |
