aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/compile/internal/ssa/TODO
diff options
context:
space:
mode:
authorKeith Randall <khr@golang.org>2016-01-30 11:25:38 -0800
committerKeith Randall <khr@golang.org>2016-01-31 05:30:13 +0000
commit1cc5789df9eb8c88e0d7248a9a16b3d4ca854962 (patch)
tree4a8e8e88ebede8a417a42e008a9488e524c5c4de /src/cmd/compile/internal/ssa/TODO
parentf962f33035bccd67c08fa3e0002659d6b9978bbc (diff)
downloadgo-1cc5789df9eb8c88e0d7248a9a16b3d4ca854962.tar.gz
go-1cc5789df9eb8c88e0d7248a9a16b3d4ca854962.zip
[dev.ssa] cmd/compile: lots of small rewrite optimizations
Small optimizations I noticed while looking at Giovanni's test cases. More shifts by constants. Indexed stores for smaller types. Fold LEA into loads/stores. More extending loads. CMP $0 of AND -> TEST Fix order of TEST ops. Giovanni's test cases at https://gist.github.com/rasky/62fba94e3a20d1b05b2a Change-Id: I7077bc0b5319bf05767eeb39f401f4bb4b39f635 Reviewed-on: https://go-review.googlesource.com/19086 Run-TryBot: Keith Randall <khr@golang.org> Reviewed-by: Todd Neal <todd@tneal.org> Reviewed-by: David Chase <drchase@google.com>
Diffstat (limited to 'src/cmd/compile/internal/ssa/TODO')
-rw-r--r--src/cmd/compile/internal/ssa/TODO2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/cmd/compile/internal/ssa/TODO b/src/cmd/compile/internal/ssa/TODO
index 5245753c07..3191670a0e 100644
--- a/src/cmd/compile/internal/ssa/TODO
+++ b/src/cmd/compile/internal/ssa/TODO
@@ -51,6 +51,8 @@ Optimizations (better compiled code)
Note that this is challenging for ops that generate flags
because flagalloc wants to move those instructions around for
flag regeneration.
+- In forms like if ... { call } else { no call }, mark the call branch as unlikely.
+- Non-constant rotate detection.
Optimizations (better compiler)
-------------------------------