Use a BumpPtrAllocator for Loop objects
authorSanjoy Das <sanjoy@playingwithpointers.com>
Thu, 28 Sep 2017 02:45:42 +0000 (02:45 +0000)
committerSanjoy Das <sanjoy@playingwithpointers.com>
Thu, 28 Sep 2017 02:45:42 +0000 (02:45 +0000)
commitdef1729dc40d4d24ee979be9b2be8d4d70fae1c9
tree53bbae000b5cf251decf8940c2c33c4e99655d94
parentcf771adfeac07feb466a72f5b8b8acb13d50f788
Use a BumpPtrAllocator for Loop objects

Summary:
And now that we no longer have to explicitly free() the Loop instances, we can
(with more ease) use the destructor of LoopBase to do what LoopBase::clear() was
doing.

Reviewers: chandlerc

Subscribers: mehdi_amini, mcrosier, llvm-commits

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

llvm-svn: 314375
23 files changed:
llvm/include/llvm/Analysis/LoopInfo.h
llvm/include/llvm/Analysis/LoopInfoImpl.h
llvm/include/llvm/Analysis/LoopPass.h
llvm/include/llvm/CodeGen/MachineLoopInfo.h
llvm/include/llvm/IR/PassManager.h
llvm/include/llvm/Support/Allocator.h
llvm/include/llvm/Transforms/Scalar/LoopPassManager.h
llvm/lib/Analysis/CGSCCPassManager.cpp
llvm/lib/Analysis/LoopAnalysisManager.cpp
llvm/lib/Analysis/LoopInfo.cpp
llvm/lib/Analysis/LoopPass.cpp
llvm/lib/Transforms/IPO/Inliner.cpp
llvm/lib/Transforms/IPO/LoopExtractor.cpp
llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp
llvm/lib/Transforms/Scalar/LoopDeletion.cpp
llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
llvm/lib/Transforms/Scalar/LoopUnswitch.cpp
llvm/lib/Transforms/Utils/CloneFunction.cpp
llvm/lib/Transforms/Utils/LoopSimplify.cpp
llvm/lib/Transforms/Utils/LoopUnroll.cpp
llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
llvm/test/Transforms/LoopUnroll/unroll-loop-invalidation.ll
llvm/unittests/Transforms/Scalar/LoopPassManagerTest.cpp