In jump-table-like constructs, the natural way of writing the code can sometimes produce redundant jumps or labels. Therefore some basic cleanup steps have been proposed. This diff adds two transforms: 1. Remove unconditional jumps to a label immediately following. 2. Remove labels with no references at all. Fixes #75
17 lines
269 B
ArmAsm
17 lines
269 B
ArmAsm
// Code generated by command: go run asm.go -out labels.s -stubs stub.go. DO NOT EDIT.
|
|
|
|
#include "textflag.h"
|
|
|
|
// func Labels() uint64
|
|
TEXT ·Labels(SB), NOSPLIT, $0-8
|
|
XORQ AX, AX
|
|
INCQ AX
|
|
INCQ AX
|
|
INCQ AX
|
|
INCQ AX
|
|
INCQ AX
|
|
INCQ AX
|
|
INCQ AX
|
|
MOVQ AX, ret+0(FP)
|
|
RET
|