When compiling the attached code using e.g. sdcc --std-c99 -mz80 test.c there are two unreachable iCode (487 and 488, numbers will change when compiling for other ports, but the issue remains). For some reason these are not eliminated as they should be. Besides the obvious issue of generating code that serves no purpose and wastes space there can be further problems:
It results in an unconnected control-flow graph, which can confuse e.g. register allocation.