Update live ranges after lowering tMOVCCr_pseudo.
The Thumb1 backend is lowering tMOVCCr_pseudo by splitting the basic blocks and select different variables with phi instruction. However, the physical registers can't be used across the machine basic blocks. Otherwise, there will be some compile-time fatal error and some run-time incorrect behavior. This CL implements a simple live variable analysis to analyze the usage of physical registers among the splitted machine basic blocks, so that we can promote them to virtual registers.
Loading
Please sign in to comment