diff options
author | Justin Bogner <mail@justinbogner.com> | 2015-10-22 21:21:32 +0000 |
---|---|---|
committer | Justin Bogner <mail@justinbogner.com> | 2015-10-22 21:21:32 +0000 |
commit | 35e46cdd04a4aecc2dd06f092ec23cf116beadad (patch) | |
tree | bff6b9c6e66481e2b1192a2b64e69463fd75e891 /llvm/lib/Transforms/Scalar/LoopUnswitch.cpp | |
parent | bb90685aefcc1fae7153c77d4f73f546e91c9e98 (diff) | |
download | llvm-35e46cdd04a4aecc2dd06f092ec23cf116beadad.zip llvm-35e46cdd04a4aecc2dd06f092ec23cf116beadad.tar.gz llvm-35e46cdd04a4aecc2dd06f092ec23cf116beadad.tar.bz2 |
LoopPass: Simplify the API for adding a new loop. NFC
The insertLoop() API is only used to add new loops, and has confusing
ownership semantics. Simplify it by replacing it with addLoop().
llvm-svn: 251064
Diffstat (limited to 'llvm/lib/Transforms/Scalar/LoopUnswitch.cpp')
-rw-r--r-- | llvm/lib/Transforms/Scalar/LoopUnswitch.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/llvm/lib/Transforms/Scalar/LoopUnswitch.cpp b/llvm/lib/Transforms/Scalar/LoopUnswitch.cpp index 8c260c7..95d7f8a 100644 --- a/llvm/lib/Transforms/Scalar/LoopUnswitch.cpp +++ b/llvm/lib/Transforms/Scalar/LoopUnswitch.cpp @@ -670,20 +670,19 @@ bool LoopUnswitch::UnswitchIfProfitable(Value *LoopCond, Constant *Val, /// mapping the blocks with the specified map. static Loop *CloneLoop(Loop *L, Loop *PL, ValueToValueMapTy &VM, LoopInfo *LI, LPPassManager *LPM) { - Loop *New = new Loop(); - LPM->insertLoop(New, PL); + Loop &New = LPM->addLoop(PL); // Add all of the blocks in L to the new loop. for (Loop::block_iterator I = L->block_begin(), E = L->block_end(); I != E; ++I) if (LI->getLoopFor(*I) == L) - New->addBasicBlockToLoop(cast<BasicBlock>(VM[*I]), *LI); + New.addBasicBlockToLoop(cast<BasicBlock>(VM[*I]), *LI); // Add all of the subloops to the new loop. for (Loop::iterator I = L->begin(), E = L->end(); I != E; ++I) - CloneLoop(*I, New, VM, LI, LPM); + CloneLoop(*I, &New, VM, LI, LPM); - return New; + return &New; } static void copyMetadata(Instruction *DstInst, const Instruction *SrcInst, |