GBE: Handle empty basicblock in Instruction selection
authorRuiling Song <ruiling.song@intel.com>
Fri, 20 Jun 2014 08:13:13 +0000 (16:13 +0800)
committerZhigang Gong <zhigang.gong@intel.com>
Fri, 20 Jun 2014 09:53:42 +0000 (17:53 +0800)
commit412360bf2dd50d0b0e76fd9ffff87f00e150d0ab
tree4adf74ec497e810e8f5325c0ffc5581e644e88af
parent6a60062b5f50a90a2ac2fffb6fe8176ba156b2e2
GBE: Handle empty basicblock in Instruction selection

I meet a corner case which leads to empty bb.

Lable $12
add %3, %2, 1

and what's more %3 is not used anymore later, so we will not select
instruction for this line of code. Then only Label instruction left
in the bb, which leads to wrong endifLabel used. The fix simply
generate endif instruction if needed at first in matchBasicBlock().

Signed-off-by: Ruiling Song <ruiling.song@intel.com>
Reviewed-by: Zhigang Gong <zhigang.gong@linux.intel.com>
backend/src/backend/gen_insn_selection.cpp