- 19 Sep, 2016 4 commits
-
-
Keith Randall authored
We compute a lot of stuff based off the CFG: postorder traversal, dominators, dominator tree, loop nest. Multiple phases use this information and we end up recomputing some of it. Add a cache for this information so if the CFG hasn't changed, we can reuse the previous computation. Change-Id: I9b5b58af06830bd120afbee9cfab395a0a2f74b2 Reviewed-on: https://go-review.googlesource.com/29356Reviewed-by:
David Chase <drchase@google.com>
-
Keith Randall authored
Change-Id: I571f03af6f791e78e7e18addcc310eb25747cdcf Reviewed-on: https://go-review.googlesource.com/29351Reviewed-by:
David Chase <drchase@google.com> Run-TryBot: David Chase <drchase@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Keith Randall authored
No point in calling a function when we can build the interface using a known type (or itab) and the address of a local. Get rid of third arg (preallocated stack space) to convT2{I,E}. Makes go binary smaller by 0.2% benchmark old ns/op new ns/op delta BenchmarkEfaceInteger-8 16.7 10.1 -39.52% Update #17118 Update #15375 Change-Id: I9724a1f802bfa1e3957bf1856b55558278e198a2 Reviewed-on: https://go-review.googlesource.com/29373 Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by:
Matthew Dempsky <mdempsky@google.com>
-
Rob Pike authored
Was missing a title in the documentation, so it formatted wrong. Fixes #17124 Change-Id: Ie8a9c36fbc54eed7d8a761f89a088e582b8c062d Reviewed-on: https://go-review.googlesource.com/29340Reviewed-by:
Andrew Gerrand <adg@golang.org>
-
- 18 Sep, 2016 3 commits
-
-
Michael Hudson-Doyle authored
They are trivially available in the few places they are needed. Change-Id: I6544692e9027076ec9e6e9a295c66457039e55e1 Reviewed-on: https://go-review.googlesource.com/29332 Run-TryBot: Michael Hudson-Doyle <michael.hudson@canonical.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by:
Ian Lance Taylor <iant@golang.org>
-
Michael Hudson-Doyle authored
Doing this revealed some dead code. Change-Id: I5202fcc3f73e3dfddfea3ec7b772e16da51195da Reviewed-on: https://go-review.googlesource.com/29331 Run-TryBot: Michael Hudson-Doyle <michael.hudson@canonical.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by:
Ian Lance Taylor <iant@golang.org>
-
Cherry Zhang authored
Fix mips64le build. Change-Id: Icf1b4901655463f582b49054a88edfb06ad6c676 Reviewed-on: https://go-review.googlesource.com/29281 Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by:
David Crawshaw <crawshaw@golang.org>
-
- 17 Sep, 2016 9 commits
-
-
Cherry Zhang authored
This aliases to Xadd64. Change-Id: I95d49e1d03eecc242e9e6fd4b2742b1c1a1d5ade Reviewed-on: https://go-review.googlesource.com/29274 Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by:
Keith Randall <khr@golang.org>
-
David Crawshaw authored
Until a few weeks ago, bionic, the Andoid libc, incorrectly returned const char* (instead of char*) from dlerror(3). https://android.googlesource.com/platform/bionic/+/5e071a18ce88d93fcffaebb9e0f62524ae504908 Change-Id: I30d33240c63a9f35b6c20ca7e3928ad33bc5e33f Reviewed-on: https://go-review.googlesource.com/29352 Run-TryBot: David Crawshaw <crawshaw@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by:
Ian Lance Taylor <iant@golang.org>
-
Keith Randall authored
%s is no longer valid. Use %v instead. Change-Id: I5ec4fa6a9280082c1a0c75fd1cf94b4bb8096f5c Reviewed-on: https://go-review.googlesource.com/29365Reviewed-by:
Brad Fitzpatrick <bradfitz@golang.org>
-
Matthew Dempsky authored
Updates #16357. Change-Id: I35f938d675ca5c31f65c4419ee0732bbc593b5cb Reviewed-on: https://go-review.googlesource.com/29368 Run-TryBot: Matthew Dempsky <mdempsky@google.com> Reviewed-by:
Dave Cheney <dave@cheney.net> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Matthew Dempsky authored
Keep Plists in a slice instead of a linked list. Eliminate unnecessary fields. Also, while here remove gc's unused breakpc and continpc vars. Change-Id: Ia04264036c0442843869965d247ccf68a5295115 Reviewed-on: https://go-review.googlesource.com/29367 Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by:
Dave Cheney <dave@cheney.net>
-
Trey Lawrence authored
The compiler incorrectly will error when comparing a nil pointer interface to a nil pointer of any other type. Example: (*int)(nil) == interface{}(nil) Will error with "gc: illegal constant expression: *int == interface {}" Fixes #16702 Change-Id: I1a15d651df2cfca6762b1783a28b377b2e6ff8c6 Reviewed-on: https://go-review.googlesource.com/27591 Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by:
Matthew Dempsky <mdempsky@google.com>
-
Matthew Dempsky authored
Replace the AGLOBL pseudo-op with a method to directly register an LSym as a global. Similar to how we previously already replaced the ADATA pseudo-op with directly writing out data bytes. Passes toolstash -cmp. Change-Id: I3631af0a2ab5798152d0c26b833dc309dbec5772 Reviewed-on: https://go-review.googlesource.com/29366 Run-TryBot: Matthew Dempsky <mdempsky@google.com> Reviewed-by:
Dave Cheney <dave@cheney.net> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Dan Peterson authored
Instead of ranging over servers in the config, grab an offset from the config that is used to determine indices. When the rotate option is enabled, the offset increases which rotates queries through servers. Otherwise, it is always 0 which uses servers in config order. Fixes #17126 Change-Id: If233f6de7bfa42f88570055b9ab631be08a76b3e Reviewed-on: https://go-review.googlesource.com/29233Reviewed-by:
Matthew Dempsky <mdempsky@google.com>
-
Suyash authored
Change-Id: I27b82d8c63a06ddf7e148b15853aba24a22a6282 Reviewed-on: https://go-review.googlesource.com/29336Reviewed-by:
Joe Tsai <thebrokentoaster@gmail.com> Run-TryBot: Joe Tsai <thebrokentoaster@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
- 16 Sep, 2016 24 commits
-
-
David Crawshaw authored
Mysterious error and no time or easy machine access to investigate now, so disabling the -buildmode=plugin test on arm64. (The arm version is working as expected.) Updates #17138 Change-Id: I4cc56ddf47e7597213462e48d4934a765168bd07 Reviewed-on: https://go-review.googlesource.com/29363Reviewed-by:
Brad Fitzpatrick <bradfitz@golang.org>
-
David Crawshaw authored
I missed one in CL 29360. Change-Id: I29fc6dcd920829a918c70734d646119133a0a9df Reviewed-on: https://go-review.googlesource.com/29361Reviewed-by:
Keith Randall <khr@golang.org>
-
David Crawshaw authored
This test was always being run with external linking on these platforms because the linker was silently forcing external linking until CL 28971. Now it produces an error instead. Change-Id: I794e0812711e05b150daf805dc3451507bb4cae8 Reviewed-on: https://go-review.googlesource.com/29360 Run-TryBot: David Crawshaw <crawshaw@golang.org> Reviewed-by:
Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
David Crawshaw authored
These are close to working, but untested and failing on build.golang.org. So disable for now. Change-Id: I330b8d1a91f0bf5139c894913868f01ec87e986d Reviewed-on: https://go-review.googlesource.com/29359Reviewed-by:
Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by:
Keith Randall <khr@golang.org> Run-TryBot: David Crawshaw <crawshaw@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Matthew Dempsky authored
Update #16357. Change-Id: I507676212d7137a62c76de7bfa0ba8dbd68e840f Reviewed-on: https://go-review.googlesource.com/29358 Run-TryBot: Matthew Dempsky <mdempsky@google.com> Reviewed-by:
Dave Cheney <dave@cheney.net>
-
David Crawshaw authored
Change-Id: I3d64549b85b71bb63bcc815ce2276af6ca2eb215 Reviewed-on: https://go-review.googlesource.com/29354Reviewed-by:
Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Matthew Dempsky authored
Similar idea to golang.org/cl/28970. Change-Id: I9d2feb1a669d71ffda1d612cf39ee0d3c08d22d2 Reviewed-on: https://go-review.googlesource.com/29357 Run-TryBot: Matthew Dempsky <mdempsky@google.com> Reviewed-by:
David Crawshaw <crawshaw@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Robert Griesemer authored
Permits parsing of alias declarations with -newparser const/type/var/func T => p.T but the compiler will reject it with an error. For now this also accepts type T = p.T so we can experiment with a type-alias only scenario. - renamed _Arrow token to _Larrow (<-) - introduced _Rarrow token (=>) - introduced AliasDecl node - extended scanner to accept _Rarrow - extended parser and printer to handle alias declarations Change-Id: I0170d10a87df8255db9186d466b6fd405228c38e Reviewed-on: https://go-review.googlesource.com/29355 Run-TryBot: Robert Griesemer <gri@golang.org> Reviewed-by:
Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
David Crawshaw authored
Add some notes to main.go on what happens where. Change-Id: I4fb0b6c280e5f990ddc5d749267372b86870af6d Reviewed-on: https://go-review.googlesource.com/28970 TryBot-Result: Gobot Gobot <gobot@golang.org> Run-TryBot: David Crawshaw <crawshaw@golang.org> Reviewed-by:
Ian Lance Taylor <iant@golang.org>
-
Keith Randall authored
ppc64 has an extraneous variable live in some situations. We need a better tighten pass to get rid of this extra variable. I'm working on it, but fix the test in the meantime. Fixes build for ppc64. Change-Id: I1efb9ccb234a64f2a1c228abd2b3195f67fbeb41 Reviewed-on: https://go-review.googlesource.com/29353Reviewed-by:
David Chase <drchase@google.com>
-
Matthew Dempsky authored
Updates #16357. Change-Id: I37f04d83134b5e1e7f6ba44eb9a566758ef594d3 Reviewed-on: https://go-review.googlesource.com/29350 Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by:
Brad Fitzpatrick <bradfitz@golang.org>
-
Keith Randall authored
Teach SSA about the cmd/internal/obj/$ARCH register numbering. It can then return that numbering when requested. Each architecture now does not need to know anything about the internal SSA numbering of registers. Change-Id: I34472a2736227c15482e60994eebcdd2723fa52d Reviewed-on: https://go-review.googlesource.com/29249Reviewed-by:
David Chase <drchase@google.com>
-
David Crawshaw authored
Change-Id: Ib20263405a08674b5e160295fc965da4c8b54b34 Reviewed-on: https://go-review.googlesource.com/29248Reviewed-by:
Ian Lance Taylor <iant@golang.org>
-
David Crawshaw authored
This CL gives Linkmode a type, switches it to the standard flag handling mechanism, and deduplicates some logic. There is a semantic change in this CL. Previously if a link was invoked explicitly with -linkmode=internal, any condition that forced external linking would silently override this and use external linking. Instead it now fails with a reason why. I believe this is an improvement, but will change it back if there's disagreement. Fixes #12848 Change-Id: Ic80e341fff65ecfdd2b6fdd6079674cc7210fc5f Reviewed-on: https://go-review.googlesource.com/28971 Run-TryBot: David Crawshaw <crawshaw@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by:
Ian Lance Taylor <iant@golang.org>
-
David Crawshaw authored
Change-Id: Ie9fea9814c850b084562ab2349b54d9ad9fa1f4a Reviewed-on: https://go-review.googlesource.com/27825 Run-TryBot: David Crawshaw <crawshaw@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by:
Ian Lance Taylor <iant@golang.org>
-
David Crawshaw authored
Change-Id: I0c8a04457db28c55c35c9a186b63c40f40730e39 Reviewed-on: https://go-review.googlesource.com/27824Reviewed-by:
Ian Lance Taylor <iant@golang.org>
-
David Crawshaw authored
Includes a linux implementation. Change-Id: Iacc2ed7da760ae9deebc928adf2b334b043b07ec Reviewed-on: https://go-review.googlesource.com/27823 Run-TryBot: David Crawshaw <crawshaw@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by:
Ian Lance Taylor <iant@golang.org>
-
David Chase authored
Bias {Eq,Neq}{8,16} to prefer the extension likely to match their operand's load (if loaded), and elide sign and zero extending MOV{B,W}, MOV{B,W}Z when their operands are already appropriately extended. Change-Id: Ic01b9cab55e170f68fc2369688b50ce78a818608 Reviewed-on: https://go-review.googlesource.com/29236 Run-TryBot: David Chase <drchase@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by:
Cherry Zhang <cherryyz@google.com>
-
Cherry Zhang authored
A tentative fix of #16380. It adds "line" everywhere... This also reduces binary size slightly (cmd/go on ARM as an example): before after total binary size 8068097 8018945 (-0.6%) .gopclntab 1195341 1179929 (-1.3%) .debug_line 689692 652017 (-5.5%) Change-Id: Ibda657c6999783c5bac180cbbba487006dbf0ed7 Reviewed-on: https://go-review.googlesource.com/25082Reviewed-by:
David Chase <drchase@google.com> Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Cherry Zhang authored
Old backends did not implement them, but SSA do. Change-Id: I543b2281dcf4bab0da37c9b1f26a5ef55a0ea11b Reviewed-on: https://go-review.googlesource.com/29278 Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by:
David Chase <drchase@google.com>
-
David Crawshaw authored
For -buildmode=plugin, this lets the linker drop the main.main symbol out of the binary while including most of the runtime. (In the future it should be possible to drop the entire runtime package from plugins.) Change-Id: I3e7a024ddf5cc945e3d8b84bf37a0b7cb2a00eb6 Reviewed-on: https://go-review.googlesource.com/27821 Run-TryBot: David Crawshaw <crawshaw@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by:
Ian Lance Taylor <iant@golang.org>
-
David Crawshaw authored
This CL contains several linker changes to support creating plugins. It collects the exported plugin symbols provided by the compiler and includes them in the moduledata. It treats a binary as being dynamically linked if it imports the plugin package. This lets the dynamic linker de-duplicate symbols. Change-Id: I099b6f38dda26306eba5c41dbe7862f5a5918d95 Reviewed-on: https://go-review.googlesource.com/27820 Run-TryBot: David Crawshaw <crawshaw@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by:
Ian Lance Taylor <iant@golang.org>
-
Suyash authored
This adds examples showing the different ways of using sort.Search. Change-Id: Iaa08b4501691f37908317fdcf2e618fbe9f99ade Reviewed-on: https://go-review.googlesource.com/29131Reviewed-by:
Andrew Gerrand <adg@golang.org> Run-TryBot: Andrew Gerrand <adg@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Matthew Dempsky authored
Gins, and in turn Naddr, is only used with ONAME and OLITERAL Nodes, so we can drastically simplify Naddr. Passes toolstash/buildall. Change-Id: I2deb7eb771fd55e7c7f00040a9aee54588fcac11 Reviewed-on: https://go-review.googlesource.com/29247 Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by:
Dave Cheney <dave@cheney.net> Reviewed-by:
Brad Fitzpatrick <bradfitz@golang.org>
-