OSDN Git Service

[LoopInfo] Make LoopBase and Loop destructors non-public
authorSanjoy Das <sanjoy@playingwithpointers.com>
Tue, 19 Sep 2017 23:19:00 +0000 (23:19 +0000)
committerSanjoy Das <sanjoy@playingwithpointers.com>
Tue, 19 Sep 2017 23:19:00 +0000 (23:19 +0000)
commit6199cad8679718337bc60eb62ec85bcacfa7237d
tree1577078ebebd3bb4aef7e2ab2adffceed5305515
parente5c43345fbdf55530f769b8e84a52bbd71749c36
[LoopInfo] Make LoopBase and Loop destructors non-public

Summary:
See comment for why I think this is a good idea.

This change also:

 - Removes an SCEV test case.  The SCEV test was not testing anything useful (most of it was `#if 0` ed out) and it would need to be updated to deal with a private ~Loop::Loop.
 - Updates the loop pass manager test case to deal with a private ~Loop::Loop.
 - Renames markAsRemoved to markAsErased to contrast with removeLoop, via the usual remove vs. erase idiom we already have for instructions and basic blocks.

Reviewers: chandlerc

Subscribers: mehdi_amini, mcrosier, llvm-commits

Differential Revision: https://reviews.llvm.org/D37996

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@313695 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Analysis/LoopInfo.h
lib/Analysis/LoopInfo.cpp
lib/Transforms/IPO/LoopExtractor.cpp
lib/Transforms/Scalar/LoopDeletion.cpp
lib/Transforms/Utils/LoopUnroll.cpp
unittests/Analysis/ScalarEvolutionTest.cpp
unittests/Transforms/Scalar/LoopPassManagerTest.cpp