[NewPM] make parsePassPipeline parse adaptor-wrapped user passes
authorYuanfang Chen <yuanfang.chen@sony.com>
Sun, 19 Jul 2020 05:26:37 +0000 (22:26 -0700)
committerYuanfang Chen <yuanfang.chen@sony.com>
Sun, 19 Jul 2020 05:26:37 +0000 (22:26 -0700)
commit606e756bb10a52318bece68a8b844e06ce71641d
tree59144e091195a71706f98b049c93dfe3ef6678bf
parentb2b39c5d455b950c6fffcc902924516fe7f8ec9f
[NewPM] make parsePassPipeline parse adaptor-wrapped user passes

Currently, when parsing text pipeline, different kinds of passes always
introduce nested pass managers. This makes it impossible to test the
adaptor-wrapped user passes from the text pipeline interface which is needed
by D82344 test cases. This also seems useful in general. See comments above
`parsePassPipeline`.

The syntax would be like mixing passes of different types, but it is
not the same as inferring the correct pass type and then adding the
matching nested pass managers. Strictly speaking, the resulted pipelines
are different.

Reviewed By: asbirlea, aeubanks

Differential Revision: https://reviews.llvm.org/D82698
llvm/include/llvm/Passes/PassBuilder.h
llvm/lib/Passes/PassBuilder.cpp
llvm/test/Other/pass-pipeline-parsing.ll