I do like the idea of documenting what a pass can and cannot handle and ensuring that input (if possible) is appropriately sanitized or errors out immediately. There are a few analyses we should implement to facilitate writing passes anyway, like checking for effects, so having checks built into the pass manager would likely make a lot of people's lives simpler. (I don't know that we need `add_features` and `remove_features`: a pass could just list features it cannot handle and the manager could run analyses to search for those features in the pass input. Do you have examples in mind for when that wouldn't work?)
-- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/dmlc/tvm/issues/3236#issuecomment-495422142