find new registers when evicting values. Input constraints work (they were being ignored before). Various bug fixing so they actually work.
more (but now passes are required to set IR roots properly when changing instructions).