freedreno: Fix invalid read when a block has no instructions.

We can't deref list_(first/last)_entries unless we know we have at least
one.  Instead, just use our IP we've been tracking as we go to set up the
start ip, and fill in the end IP as we walk instructions.

Fixes a complaint in valgrind on
22 jobs for !1863 with fd-races in 22 minutes and 15 seconds (queued for 37 seconds)
merge request