除了全局寄存器分配以外,还实现了一个在基本块上的局部寄存器分配。
Besides global register allocation, local register allocation on basic block is also implemented. It cooperate with global register allocation in our methodology.
可以看到test1()中每次加法都需要读取和存储全局变量errs,而在test2()中,localerrs分配在寄存器上,只需要一条指令。
Note that test1 must load and store the global errs value each time it is incremented, whereas test2 stores localerrs in a register and needs only a single instruction.
全局变量不会被分配在寄存器上,修改全局变量需要通过指针或者调用函数的方式间接进行。
Global variables are never allocated to registers. Global variables can be changed by assigning them indirectly using a pointer, or by a function call.
全局变量不会被分配在寄存器上,修改全局变量需要通过指针或者调用函数的方式间接进行。
Global variables are never allocated to registers. Global variables can be changed by assigning them indirectly using a pointer, or by a function call.
应用推荐