[PM] Simplify how we parse the outer layer of the pass pipeline text and
authorChandler Carruth <chandlerc@gmail.com>
Tue, 6 Jan 2015 08:37:58 +0000 (08:37 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Tue, 6 Jan 2015 08:37:58 +0000 (08:37 +0000)
commitea368f1ee40172cb5b7f9ab4827d61c9faad7066
tree8ee57eb984812472f8fd46dc651c815eacdc5158
parentddbf51f904aaea33a82e94f265c2c1da52aa45b6
[PM] Simplify how we parse the outer layer of the pass pipeline text and
remove an extra, redundant pass manager wrapping every run.

I had kept seeing these when manually testing, but it was getting really
annoying and was going to cause problems with overly eager invalidation.
The root cause was an overly complex and unnecessary pile of code for
parsing the outer layer of the pass pipeline. We can instead delegate
most of this to the recursive pipeline parsing.

I've added some somewhat more basic and precise tests to catch this.

llvm-svn: 225253
llvm/test/Other/new-pass-manager.ll
llvm/test/Other/pass-pipeline-parsing.ll
llvm/tools/opt/Passes.cpp