joker-eph wrote: The main issue with a C++ inheritance approach is that we can't manage collision on the options names. What is the symptom if someone tries to combine two pipelines which have conflicting option names? https://github.com/llvm/llvm-project/pull/146370