Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork33.7k
Closed
Description
Because of thenext->b_next in the loop condition, this does not remove an empty basic block at the end. I put an assert and saw that this can happen.
for (basicblock *b = entryblock; b != NULL; b = b->b_next) { basicblock *next = b->b_next; if (next) { while (next->b_iused == 0 && next->b_next) { next = next->b_next; } b->b_next = next; } }