The OpAsmPrinter::shadowRegionArgs API is problematic as it allows
value ids to be changed by custom op printers, making it impossible to
know the ID of a particular value without printing ops. Moving the
shadowing functionality to OpAsmOpInterface allows the final value IDs
to be determined during AsmState construction.
depends on D150080