GBE: rewrite the liveness analysis routine.
The previous implementation has two problems:
1. At the liveness analysis phase, the liveIn and liveOut computation
is incorrect. The liveIn is not a static information it should be computed
along with the liveOut during the backward data flow analysis.
2. At the register allocation phase, it only considers the liveOut
information. Actually, we also need to consider the liveIn information.
v2:
a. Remove calculating maxID for the liveIn register set and remove calculating
minID for the liveOut register set.
b. Don't insert a bb to the liveness work list if it is already in the list.
Signed-off-by: Zhigang Gong <zhigang.gong@intel.com>
Reviewed-by: "Song, Ruiling" <ruiling.song@intel.com>