- 15 Sep, 2015 1 commit
-
-
Keith Randall authored
Load-and-sign-extend opcodes were being generated in the wrong block, leading to having more than one memory variable live at once. Fix the rules + add a test. Change-Id: Iadf80e55ea901549c15c628ae295c2d0f1f64525 Reviewed-on: https://go-review.googlesource.com/14591Reviewed-by:
Todd Neal <todd@tneal.org> Run-TryBot: Todd Neal <todd@tneal.org>
-
- 14 Sep, 2015 3 commits
-
-
Keith Randall authored
For now, we only use typedmemmove. This can be optimized in future CLs. Also add a feature to help with binary searching bad compilations. Together with GOSSAPKG, GOSSAHASH specifies the last few binary digits of the hash of function names that should be compiled. So GOSSAHASH=0110 means compile only those functions whose last 4 bits of hash are 0110. By adding digits to the front we can binary search for the function whose SSA-generated code is causing a test to fail. Change-Id: I5a8b6b70c6f034f59e5753965234cd42ea36d524 Reviewed-on: https://go-review.googlesource.com/14530Reviewed-by:
Keith Randall <khr@golang.org>
-
Keith Randall authored
Implement OSLICE, OSLICEARR, OSLICESTR, OSLICE3, OSLICE3ARR. reviewer: Ignore the code in OINDEX, that's from CL 14466. Change-Id: I00cc8aecd4c6f40ea5517cd660bb0ce759d91171 Reviewed-on: https://go-review.googlesource.com/14538Reviewed-by:
Todd Neal <todd@tneal.org>
-
Keith Randall authored
Change-Id: I984d3e0410ac38c4e42ae8e3670ea47e2140de76 Reviewed-on: https://go-review.googlesource.com/14466Reviewed-by:
Alexandru Moșoi <alexandru@mosoi.ro> Reviewed-by:
Todd Neal <todd@tneal.org>
-
- 12 Sep, 2015 4 commits
-
-
Keith Randall authored
This makes deadstore elimination work reasonably again. Change-Id: I3a8caced71f12dfb6c1d0c68b7a7d8d7a736ea23 Reviewed-on: https://go-review.googlesource.com/14536Reviewed-by:
Brad Fitzpatrick <bradfitz@golang.org>
-
Keith Randall authored
Change-Id: I5a683f532a5a0b2bc862d80c871e8dc6721016fc Reviewed-on: https://go-review.googlesource.com/14534Reviewed-by:
Brad Fitzpatrick <bradfitz@golang.org>
-
Keith Randall authored
Change-Id: I1e5993e0e56481ce838c0e3979b1a3052e72dba5 Reviewed-on: https://go-review.googlesource.com/14535Reviewed-by:
Brad Fitzpatrick <bradfitz@golang.org>
-
Keith Randall authored
Change-Id: Iec61ca1bdc064c29ceca6d47f600d5643d0a64dd Reviewed-on: https://go-review.googlesource.com/14533Reviewed-by:
Brad Fitzpatrick <bradfitz@golang.org>
-
- 11 Sep, 2015 4 commits
-
-
Josh Bleecher Snyder authored
Move the AST to SSA conversion to the caller. This enables it to be used in contexts in which the RHS is already an *ssa.Value. Change-Id: Ibb87210fb9fda095a9b7c7f4ad1264a7cbd269bf Reviewed-on: https://go-review.googlesource.com/14521 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> Reviewed-by:
Keith Randall <khr@golang.org>
-
Josh Bleecher Snyder authored
Remove unnecessary local var split. Change-Id: I907ef682b5fd9b3a67771edd1fe90c558f8937ea Reviewed-on: https://go-review.googlesource.com/14523 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> Reviewed-by:
Keith Randall <khr@golang.org>
-
Josh Bleecher Snyder authored
Change-Id: I1f93ea65bbdc895cd4eff7545e1688a64d85aae5 Reviewed-on: https://go-review.googlesource.com/14520 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> Reviewed-by:
Brad Fitzpatrick <bradfitz@golang.org>
-
Keith Randall authored
Move to implicit (mostly) instead of explicit exit blocks. RET and RETJMP have no outgoing edges - they implicitly exit. CALL only has one outgoing edge, as its exception edge is implicit as well. Exit blocks are only used for unconditionally panicking code, like the failed branches of nil and bounds checks. There may now be more than one exit block. No merges happen at exit blocks. The only downside is it is harder to find all the places code can exit the method. See the reverse dominator code for an example. Change-Id: I42e2fd809a4bf81301ab993e29ad9f203ce48eb0 Reviewed-on: https://go-review.googlesource.com/14462Reviewed-by:
Josh Bleecher Snyder <josharian@gmail.com>
-
- 10 Sep, 2015 6 commits
-
-
Keith Randall authored
It was using 64-bit float comparison ops for complex64. It should use 32-bit float comparison. Fixes build. Change-Id: I6452b227257fecc09e04cd092ccf328d1fc9917f Reviewed-on: https://go-review.googlesource.com/14497 Run-TryBot: Keith Randall <khr@golang.org> Reviewed-by:
Brad Fitzpatrick <bradfitz@golang.org>
-
Keith Randall authored
Change-Id: Iefabce4eb0dbc313dd1863513b45307cc76c545a Reviewed-on: https://go-review.googlesource.com/14468Reviewed-by:
Brad Fitzpatrick <bradfitz@golang.org>
-
Keith Randall authored
They were using the result type to look up the op, not the arg type. Change-Id: I0641cba363fa6e7a66ad0860aa340106c10c2cea Reviewed-on: https://go-review.googlesource.com/14469Reviewed-by:
Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by:
Josh Bleecher Snyder <josharian@gmail.com>
-
Todd Neal authored
Add line that was inadvertently removed. Change-Id: I99ebc1041e984e408ae5825836c28b9891d6043b Reviewed-on: https://go-review.googlesource.com/14470 Run-TryBot: Todd Neal <todd@tneal.org> Reviewed-by:
Keith Randall <khr@golang.org>
-
Todd Neal authored
Change-Id: Ieb9cddf8876bf8cd5ee1705d9210d22c3959e8cc Reviewed-on: https://go-review.googlesource.com/14329Reviewed-by:
Keith Randall <khr@golang.org> Run-TryBot: Todd Neal <todd@tneal.org>
-
Todd Neal authored
This matches existing behavior, see issue #2196 Change-Id: Ifa9359b7c821115389f337a57de355c5ec23be8f Reviewed-on: https://go-review.googlesource.com/14261Reviewed-by:
Keith Randall <khr@golang.org>
-
- 09 Sep, 2015 5 commits
-
-
David Chase authored
Added tree numbering data structure. Changed dominator query in CSE. Removed skip-for-too-big patch in CSE. Passes all.bash. Change-Id: I98d7c61b6015c81f5edab553615db17bc7a58d68 Reviewed-on: https://go-review.googlesource.com/14326Reviewed-by:
Keith Randall <khr@golang.org>
-
Keith Randall authored
Change-Id: I352c7b9aab053959bc74c15861339e1dbe545ddc Reviewed-on: https://go-review.googlesource.com/14404Reviewed-by:
David Chase <drchase@google.com>
-
Keith Randall authored
Evaluating args can overwrite arg area, so we can't write argsize and func until args are evaluated. Fixes test/recover.go, test/recover1.go, and test/fixedbugs/issue4066.go Change-Id: I862e4934ccdb8661431bcc3e1e93817ea834ea3f Reviewed-on: https://go-review.googlesource.com/14405Reviewed-by:
David Chase <drchase@google.com>
-
Keith Randall authored
Make sure that return blocks take a store as their control. Without this, code was getting inserted between the return and exit blocks. Use AEND to mark the end of code. The live variable analysis gets confused when routines end like: JMP earlier RET because the RET is unreachable. The RET was incorrectly added to the last basic block, rendering the JMP invisible to the CFG builder. Change-Id: I91b32c8b37075347243ff039b4e4385856fba7cd Reviewed-on: https://go-review.googlesource.com/14398Reviewed-by:
Josh Bleecher Snyder <josharian@gmail.com>
-
Keith Randall authored
Using the main package causes a binary to be generated. That binary clutters up git listings. Use a non-main package instead, so the results of a successful compilation are thrown away. Change-Id: I3ac91fd69ad297a5c0fe035c22fdef290b7dfbc4 Reviewed-on: https://go-review.googlesource.com/14399Reviewed-by:
Josh Bleecher Snyder <josharian@gmail.com> Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
- 08 Sep, 2015 17 commits
-
-
Keith Randall authored
Semi-regular merge of master into dev.ssa. Change-Id: I48aa17700096a14f2a20ad07491ebfcd7529f6d5
-
Shenghou Ma authored
Just a mechanical copy, no code changes. This is to reduce code difference when adding the mips64 port. Change-Id: Id06e975f414a7b09f4827167b30813b228a3bfaf Reviewed-on: https://go-review.googlesource.com/14324Reviewed-by:
Ian Lance Taylor <iant@golang.org>
-
Shenghou Ma authored
Just a mechanical copy with filename renames, no code changes. This is to reduce code difference when adding the mips64 port. Change-Id: Id06e975f414a7b09f4827167b30813b228a3bfae Reviewed-on: https://go-review.googlesource.com/14323Reviewed-by:
Ian Lance Taylor <iant@golang.org>
-
Michael Hudson-Doyle authored
Change-Id: I88fa0cc245a2141af04acced8716e08b1133abd1 Reviewed-on: https://go-review.googlesource.com/14350Reviewed-by:
Ian Lance Taylor <iant@golang.org>
-
Brad Fitzpatrick authored
Some commits made by Aram from his personal email address are actually copyright Oracle: a77fcb3f net: fix comment in sendFile b0e71f46 net: link with networking libraries when net package is in use 92e959a4 syscall, net: use sendfile on Solaris db8d5b76 net: try to fix setKeepAlivePeriod on Solaris fe5ef5c9 runtime, syscall: link Solaris binaries directly instead of using dlopen/dlsym 2b90c3e8 go/build: enable cgo by default on solaris/amd64 2d18ab75 doc/progs: disable cgo tests that use C.Stdout on Solaris 2230e9d2 misc/cgo: add various solaris build lines 649c7b6d net: add cgo support for Solaris 24396dae os/user: small fixes for Solaris 121489cb runtime/cgo: add cgo support for solaris/amd64 83b25d93 cmd/ld: make .rela and .rela.plt sections contiguous c94f1f79 runtime: always load address of libcFunc on Solaris e481aac0 cmd/6l: use .plt instead of .got on Solaris See bug for clarification. Fixes #12452 Change-Id: I0aeb1b46c0c7d09c5c736e383ecf40240d2cf85f Reviewed-on: https://go-review.googlesource.com/14380Reviewed-by:
Ian Lance Taylor <iant@golang.org>
-
Alexandru Moșoi authored
Change-Id: I28bc6373bb42d9abf4f179664dbaab8d514a6ab9 Reviewed-on: https://go-review.googlesource.com/14376Reviewed-by:
Keith Randall <khr@golang.org>
-
Rob Pike authored
Fixes #12288. For inclusion in the 1.5.1 release. Change-Id: I9354b7eaa76000498465c4a5cbab7246de9ecb7c Reviewed-on: https://go-review.googlesource.com/14382Reviewed-by:
Ian Lance Taylor <iant@golang.org>
-
Keith Randall authored
The after-defer test jumps to a deferreturn site. Some functions (those with infinite loops) have no deferreturn site. Add one so we have one to jump to. Change-Id: I505e7f3f888f5e7d03ca49a3477b41cf1f78eb8a Reviewed-on: https://go-review.googlesource.com/14349Reviewed-by:
Josh Bleecher Snyder <josharian@gmail.com>
-
Rob Pike authored
Change-Id: I2f05d0b62deb5d7d0886f6fc5af5e7b79792efba Reviewed-on: https://go-review.googlesource.com/14381Reviewed-by:
Rob Pike <r@golang.org>
-
Rob Pike authored
This version of quoting allows runes in category Zs, such as the ideographic space characters, to be passed through unquoted. Still to do (maybe): A way to access this from Printf. Updates #11511. Change-Id: I3bae84b1aa0bc1b885318d3f67c5f451099a2a5a Reviewed-on: https://go-review.googlesource.com/14184Reviewed-by:
Marcel van Lohuizen <mpvl@golang.org>
-
Marvin Stenger authored
Convert some fields of struct Type in go.go from uint8 to bool. This change passes go build -toolexec 'toolstash -cmp' -a std. Change-Id: I0a6c53f8ee686839b5234010ee2de7ae3940d499 Reviewed-on: https://go-review.googlesource.com/14370 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by:
Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Marvin Stenger authored
Convert Pkg.Imported, Pkg.Exported, Pkg.Direct from uint8/int8/int8 to bool. This change passes go build -toolexec 'toolstash -cmp' -a std. Change-Id: I67a71f1186ff9737c03eca413f7d35d8a79ebc9b Reviewed-on: https://go-review.googlesource.com/14371 Run-TryBot: Dave Cheney <dave@cheney.net> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by:
Brad Fitzpatrick <bradfitz@golang.org>
-
Todd Neal authored
Some of the test files were missing, so add them. Change-Id: Ifac248edf33e1e4ccd82355f596d74eab4ff01a2 Reviewed-on: https://go-review.googlesource.com/14328 Run-TryBot: Todd Neal <todd@tneal.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by:
Josh Bleecher Snyder <josharian@gmail.com>
-
Håvard Haugen authored
Passes go build -a -toolexec 'toolstash -cmp' std cmd. Change-Id: I804ee4252fa9be78cb277faf7f467e6c9cfdd4a6 Reviewed-on: https://go-review.googlesource.com/14319 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by:
Brad Fitzpatrick <bradfitz@golang.org>
-
Marvin Stenger authored
Remove unused field Type.Siggen in go.go. This change passes go build -toolexec 'toolstash -cmp' -a std. Change-Id: Ia61fe65a226c913fbf4a11a71d7453c56aa46c0e Reviewed-on: https://go-review.googlesource.com/14372 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by:
Dave Cheney <dave@cheney.net>
-
Håvard Haugen authored
Passes go build -a -toolexec 'toolstash -cmp' std. Change-Id: Ica62765d3c1ef052afed34da1b3ac3f80646cc55 Reviewed-on: https://go-review.googlesource.com/14318Reviewed-by:
Dave Cheney <dave@cheney.net> Run-TryBot: Dave Cheney <dave@cheney.net> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by:
Brad Fitzpatrick <bradfitz@golang.org>
-
Dave Cheney authored
Convert Type.Broke from a uint8 to a boolean This change passes go build -toolexec 'toolstash -cmp' -a std. Change-Id: I44e7548c71b00467e36576bdf62933c42555a21a Reviewed-on: https://go-review.googlesource.com/14307 Run-TryBot: Dave Cheney <dave@cheney.net> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by:
Håvard Haugen <havard.haugen@gmail.com> Reviewed-by:
Brad Fitzpatrick <bradfitz@golang.org>
-