Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | [LoopUnrollRuntime] Bailout when multiple exiting blocks to the unique latch ↵ | Anna Thomas | 2017-07-06 | 1 | -0/+30 |
| | | | | | | | | | | | | | | exit block Currently, we do not support multiple exiting blocks to the latch exit block. However, this bailout wasn't triggered when we had a unique exit block (which is the latch exit), with multiple exiting blocks to that unique exit. Moved the bailout so that it's triggered in both cases and added testcase. llvm-svn: 307291 | ||||
* | [RuntimeUnrolling] Add logic for loops with multiple exit blocks | Anna Thomas | 2017-06-30 | 1 | -0/+279 |
Summary: Runtime unrolling is done for loops with a single exit block and a single exiting block (and this exiting block should be the latch block). This patch adds logic to support unrolling in the presence of multiple exit blocks (which also means multiple exiting blocks). Currently this is under an off-by-default option and is supported when epilog code is generated. Support in presence of prolog code will be in a future patch (we just need to add more tests, and update comments). This patch is essentially an implementation patch. I have not added any heuristic (in terms of branches added or code size) to decide when this should be enabled. Reviewers: mkuper, sanjoy, reames, evstupac Reviewed by: reames Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D33001 llvm-svn: 306846 |