Created by: wozna
This PR adds an option that allows adding a default value for pass attributes. Solves a python problem where an empty set is always a set of strings.
The default value is set when we register pass. Then PassRegistrary takes the ownership of the default value that will be used in the pass. Thanks to that, we don't have to set this attribute at all when we want to use the default setting. If we set a new value for this attribute it will override the default one.
An example where we add the default value is cpu_quantize_palcement_pass
:
REGISTER_PASS(cpu_quantize_placement_pass,
paddle::framework::ir::CPUQuantizePlacementPass)
// a vector of operator ids that are to be excluded from quantization
// the second param is the default value for this vector
.DefaultPassAttr("quantize_excluded_op_ids",
new std::unordered_set<int>());