Yeah, I looked into the testcase. Indeed, the expr location should be used instead of curr_insn_location(). Otherwise the source line for all definitions will be attributed to the use point. But if we use EXPR_LOCATION, then we need to make sure the block is also correct.
Any suggestions how we should do about the patch? Thanks, Dehao