mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-10-02 22:02:51 +01:00
For each kind of instruction, specify whether its constant evaluation needs an `InstId` or not. If it does, ensure that all constant evaluation of that instruction provides one. Otherwise, allow calling into the evaluator without providing an `InstId`. This allows us to reliably use the `InstId` in evaluation steps that either need a location or need to look at the original operands of the instruction prior to evaluation, and also to support `TryEvalInst` calls safely for instructions whose evaluation does not need an `InstId`.