• Cherry Zhang's avatar
    cmd/internal/obj: remove Follow pass · bed8129e
    Cherry Zhang authored
    The Follow pass in the assembler backend reorders and copies
    instructions. This even applies to hand-written assembly code,
    which in many cases don't want to be reordered. Now that the
    SSA compiler does a good job for laying out instructions, the
    benefit of this pass is very little:
    
    AMD64: (old = with Follow, new = without Follow)
    name                      old time/op    new time/op    delta
    BinaryTree17-12              2.78s ± 1%     2.79s ± 1%  +0.44%  (p=0.000 n=20+19)
    Fannkuch11-12                3.11s ± 0%     3.31s ± 1%  +6.16%  (p=0.000 n=19+19)
    FmtFprintfEmpty-12          50.9ns ± 1%    51.6ns ± 3%  +1.40%  (p=0.000 n=17+20)
    FmtFprintfString-12          127ns ± 0%     128ns ± 1%  +0.88%  (p=0.000 n=17+17)
    FmtFprintfInt-12             122ns ± 0%     123ns ± 1%  +0.76%  (p=0.000 n=20+19)
    FmtFprintfIntInt-12          185ns ± 1%     186ns ± 1%  +0.65%  (p=0.000 n=20+19)
    FmtFprintfPrefixedInt-12     192ns ± 1%     202ns ± 1%  +4.99%  (p=0.000 n=20+19)...
    bed8129e
obj0.go 27.5 KB