• Russ Cox's avatar
    cmd/5g etc: mechanical cleanup · 79f727a7
    Russ Cox authored
    Run rsc.io/grind rev a26569f on C->Go conversions.
    
    The new change in grind is the inlining of goto targets.
    If code says 'goto x' and the block starting at label x is unreachable
    except through that goto and the code can be moved to where
    the goto is without changing the meaning of its variable names,
    grind does that move. Simlarly, a goto to a plain return statement
    turns into that return statement (even if there are other paths to
    the return statement).
    
    Combined, these remove many long-distance gotos, which in turn
    makes it possible to reduce the scope of more variable declarations.
    (Because gotos can't jump across declarations, the gotos were
    keeping the declarations from moving.)
    
    Checked bit-for-bit compatibility with toolstash + buildall.
    
    Reduces compiler runtime in html/template by about 12%.
    
    Change-Id: Id727c0bd7763a61aa22f3daa00aeb8fccbc057a3
    Reviewed-on: https://go-review.googlesource.com/6472Reviewed-by: 's avatarAram Hăvărneanu <aram@mgk.ro>
    Reviewed-by: 's avatarDmitry Vyukov <dvyukov@google.com>
    79f727a7
Name
Last commit
Last update
..
archive Loading commit data...
bufio Loading commit data...
builtin Loading commit data...
bytes Loading commit data...
cmd Loading commit data...
compress Loading commit data...
container Loading commit data...
crypto Loading commit data...
database/sql Loading commit data...
debug Loading commit data...
encoding Loading commit data...
errors Loading commit data...
expvar Loading commit data...
flag Loading commit data...
fmt Loading commit data...
go Loading commit data...
hash Loading commit data...
html Loading commit data...
image Loading commit data...
index/suffixarray Loading commit data...
internal Loading commit data...
io Loading commit data...
log Loading commit data...
math Loading commit data...
mime Loading commit data...
net Loading commit data...
os Loading commit data...
path Loading commit data...
reflect Loading commit data...
regexp Loading commit data...
runtime Loading commit data...
sort Loading commit data...
strconv Loading commit data...
strings Loading commit data...
sync Loading commit data...
syscall Loading commit data...
testing Loading commit data...
text Loading commit data...
time Loading commit data...
unicode Loading commit data...
unsafe Loading commit data...
Make.dist Loading commit data...
all.bash Loading commit data...
all.bat Loading commit data...
all.rc Loading commit data...
androidtest.bash Loading commit data...
bootstrap.bash Loading commit data...
clean.bash Loading commit data...
clean.bat Loading commit data...
clean.rc Loading commit data...
make.bash Loading commit data...
make.bat Loading commit data...
make.rc Loading commit data...
nacltest.bash Loading commit data...
race.bash Loading commit data...
race.bat Loading commit data...
run.bash Loading commit data...
run.bat Loading commit data...
run.rc Loading commit data...