| After the RA phase of ego, a procedure may put single-word and double-word values in the same reg_float. Then ncg will use both LOCAL and DLOCAL tokens at the same offset. I add isregvar_size() to ncg. It receives the size of the LOCAL or DLOCAL token, and picks the register of the correct size. This fixes a problem where ncg got the wrong-size register and corrupted the stack. This problem caused one of my test programs to segfault from stack underflow. Also adjust how fixregvars() handles both sizes. | ||
|---|---|---|
| .. | ||
| as | ||
| cg | ||
| fp | ||
| grind | ||
| libg | ||
| mcg | ||
| ncg | ||
| top | ||