This situation could be triggered that can_add_var would return true while a variable was already added for the given register. For instance, when we have a reassignment (because of a fixed register input requirement) and a fixed input conflict on the same fixed register, this register will not be available in the regs_in set after inputs_done (because of the fixed input conflict diversion) but will have its own variable.
This crate contains the core Cranelift code generator. It translates code from an intermediate representation into executable machine code.