The fuzzer should find ids %a, %b, ... that are all available at a particular insertion point, and create:
%fresh = OpCompositeConstruct ... %a %b
then tell the fact manager that %a is synonymous with %fresh[0], %b with %fresh[1], etc.
These synonyms will then be exploitable by the pass that rewrites ids with known synonyms.
The fuzzer should find ids %a, %b, ... that are all available at a particular insertion point, and create:
%fresh = OpCompositeConstruct ... %a %b
then tell the fact manager that %a is synonymous with %fresh[0], %b with %fresh[1], etc.
These synonyms will then be exploitable by the pass that rewrites ids with known synonyms.