OSDN Git Service

PM: Check that loop passes preserve a basic set of analyses
authorJustin Bogner <mail@justinbogner.com>
Tue, 3 May 2016 21:35:08 +0000 (21:35 +0000)
committerJustin Bogner <mail@justinbogner.com>
Tue, 3 May 2016 21:35:08 +0000 (21:35 +0000)
commit1a7c00aa119502e363f4f6189e5a672f49ec6cfb
treed0ab5f8a948534cd7de59c6b3f73e313b4da3cc2
parent1e1b4aed49b2cd6ea5179e59a28d39411c547761
PM: Check that loop passes preserve a basic set of analyses

A loop pass that didn't preserve this entire set of passes wouldn't
play well with other loop passes, since these are generally a basic
requirement to do any interesting transformations to a loop.

Adds a helper to get the set of analyses a loop pass should preserve,
and checks that any loop pass we run satisfies the requirement.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@268444 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Analysis/LoopPassManager.h
include/llvm/IR/PassManager.h
lib/Analysis/LoopPassManager.cpp
unittests/Analysis/LoopPassManagerTest.cpp