llvm-project/llvm/lib/Transforms
Serguei Katkov 77bb3a486f [Loop Peeling] Add support for peeling of loops with multiple exits
This patch modifies the loop peeling transformation so that
it does not expect that there is only one loop exit from latch.

It modifies only transformation. Update of branch weights remains
only for exit from latch.

The motivation is that in follow-up patch I plan to enable loop peeling for
loops with multiple exits but only if other exits then from latch one goes to
block with call to deopt.

For now this patch is NFC.

Reviewers: reames, mkuper, iajbar, fhahn	
Reviewed By: reames, fhahn
Subscribers: zzheng, llvm-commits
Differential Revision: https://reviews.llvm.org/D63921

llvm-svn: 365441
2019-07-09 06:07:25 +00:00
..
AggressiveInstCombine Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Coroutines Simplify std::lower_bound with llvm::{bsearch,lower_bound}. NFC 2019-06-21 05:40:31 +00:00
Hello Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
IPO [Attributor] Deduce the "returned" argument attribute 2019-07-08 23:27:20 +00:00
InstCombine [InstCombine] fold insertelement into splat of same scalar 2019-07-08 19:48:52 +00:00
Instrumentation [IRBuilder] Introduce helpers for and/or of multiple values at once 2019-07-06 03:46:18 +00:00
ObjCARC [ObjC][ARC] Delete ObjC runtime calls on global variables annotated 2019-06-14 22:06:32 +00:00
Scalar [LoopInfo] Update getExitEdges to accept vector of pairs for non const BasicBlock 2019-07-09 04:20:43 +00:00
Utils [Loop Peeling] Add support for peeling of loops with multiple exits 2019-07-09 06:07:25 +00:00
Vectorize [SLP] Recommit: Look-ahead operand reordering heuristic. 2019-07-02 20:20:28 +00:00
CMakeLists.txt Another try to commit 323321 (aggressive instruction combine). 2018-01-25 12:06:32 +00:00
LLVMBuild.txt Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00