]> granicus.if.org Git - llvm/commit
[PM] Now that LoopInfo isn't in the Pass type hierarchy, it is much
authorChandler Carruth <chandlerc@gmail.com>
Sun, 18 Jan 2015 01:25:51 +0000 (01:25 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Sun, 18 Jan 2015 01:25:51 +0000 (01:25 +0000)
commit5a2d01e5b8dda28e62035f69fe02a7675abe5177
tree5120e654e643ed60ef7f9b2ec0b41d0488b5ec9d
parente81cec19db75afb3dc44b8c2ec592c1a78b8a1e9
[PM] Now that LoopInfo isn't in the Pass type hierarchy, it is much
cleaner to derive from the generic base.

Thise removes a ton of boiler plate code and somewhat strange and
pointless indirections. It also remove a bunch of the previously needed
friend declarations. To fully remove these, I also lifted the verify
logic into the generic LoopInfoBase, which seems good anyways -- it is
generic and useful logic even for the machine side.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@226385 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Analysis/LoopInfo.h
include/llvm/Analysis/LoopInfoImpl.h
lib/Analysis/LoopInfo.cpp
lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp
lib/Transforms/Scalar/LoopUnswitch.cpp
lib/Transforms/Utils/BasicBlockUtils.cpp
lib/Transforms/Utils/BreakCriticalEdges.cpp
lib/Transforms/Utils/LoopSimplify.cpp
lib/Transforms/Utils/LoopUnroll.cpp
lib/Transforms/Utils/LoopUnrollRuntime.cpp
lib/Transforms/Vectorize/LoopVectorize.cpp