I am not sure whether my understanding is right, that the function replaceRegEqv
1. replaces local variables with iTemps, including register passed parameters, excluding statically allocated and on-stack parameters
2. find which icodes assign a new value to each iTemp
3. any others I miss?
And I also have confusion with its comments :
/* Update the symbols' def bitvector so we know if there is */
/* a defining iCode or not. Only replace a local variable */
/* with its register equivalent if there is a defining iCode; */
/* otherwise, the port's register allocater may choke. */
What does it mean by "otherwise, the port's register allocater may choke. " ?