mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-09-30 12:05:01 +01:00
This action was created to wrap any `MetaInstId` operand of an action instruction. This served two purposes: 1) It had a special hook in `OperandIsDependent` to allow it to be performed while it had a dependent operand (the reference to the instruction in the generic). 2) It created a `specific_inst` so that the downstream action saw an instruction in the specific instead of one in the generic. These are both replaced: the special case in `OperandIsDependent` for `RefineInstAction` is replaced by a special case for `MetaInstId`s in general, and the `SpecificInst` is now created as part of performing the downstream action, rather than as a separate step carried out beforehand. This simplifies the produced SemIR and reduces the number of splices significantly. It also prepares us to handle actions like initialization, where we don't actually want to create `SpecificInst`s immediately in the location where the action is performed, because they actually belong somewhere else in the IR. Assisted-by: Claude Opus 5 and Gemini via Antigravity