- 06 Jul, 2016 2 commits
-
-
Cherry Zhang authored
Mostly constant folding rules, analogous to AMD64 ones. Along with some simplifications. Updates #15365. Change-Id: If83bc1188bb05acb982ef3a1c21704c187e3eb24 Reviewed-on: https://go-review.googlesource.com/24210 Run-TryBot: David Chase <drchase@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: David Chase <drchase@google.com>
-
Cherry Zhang authored
As Josh mentioned in CL 24716, there has been requests for using SSA for ARM. SSA can still be disabled by setting -ssa=0 for cmd/compile, or partially enabled with GOSSAFUNC, GOSSAPKG, and GOSSAHASH. Not enable SSA by default on NaCl, which is not supported yet. Enable SSA-specific tests on ARM: live_ssa.go and nilptr3_ssa.go; disable non-SSA tests: live.go, nilptr3.go, and slicepot.go. Updates #15365. Change-Id: Ic2ca8d166aeca8517b9d262a55e92f2130683a16 Reviewed-on: https://go-review.googlesource.com/23953 Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com> Reviewed-by: David Chase <drchase@google.com>
-
- 04 Jul, 2016 2 commits
-
-
Josh Bleecher Snyder authored
The comments were mostly duplicated; unify them. Add a check that the required invariant holds. Change-Id: I42fe09dcd1fac76d3c4e191f7a58c591c5ce429b Reviewed-on: https://go-review.googlesource.com/24719 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> Reviewed-by: David Chase <drchase@google.com>
-
Josh Bleecher Snyder authored
ITab is handled by decomposition. The rule is vestigial. Remove it. Change-Id: I6fdf3d14d466761c7665c7ea14f34ca0e1e3e646 Reviewed-on: https://go-review.googlesource.com/24718 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: David Chase <drchase@google.com>
-
- 02 Jul, 2016 1 commit
-
-
Cherry Zhang authored
Encode the size and the alignment into AuxInt of Zero and Move ops. On AMD64, we simply don't look at the alignment. On ARM and PPC64, we only generate aligned stores. Updates #15365. Change-Id: Ifdcc205c364f67c4516b9adebfe7d50d223b6863 Reviewed-on: https://go-review.googlesource.com/24511Reviewed-by: David Chase <drchase@google.com> Reviewed-by: Keith Randall <khr@golang.org> Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
- 30 Jun, 2016 1 commit
-
-
Josh Bleecher Snyder authored
If the files in cmd/compile/internal/ssa/gen are passed to go run in a different order, e.g. due to shell differences or manual entry, then the order of constants in opGen churns. Sort archs by name to enforce stability. The movement of the PPC constants is a one time cost. Change-Id: Iebcfdb9e612d7dd8cde575f920f1292891f2f24a Reviewed-on: https://go-review.googlesource.com/24680 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: David Chase <drchase@google.com>
-
- 28 Jun, 2016 1 commit
-
-
Lynn Boger authored
This adds the initial SSA implementation for PPC64. Builds golang and all.bash runs correctly. Simple hello.go builds but does not run. Change-Id: I7cec211b934cd7a2dd75a6cdfaf9f71867063466 Reviewed-on: https://go-review.googlesource.com/24453Reviewed-by: David Chase <drchase@google.com> Reviewed-by: Cherry Zhang <cherryyz@google.com> Run-TryBot: David Chase <drchase@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
- 26 Jun, 2016 1 commit
-
-
Josh Bleecher Snyder authored
Change-Id: I655327818297cc6792c81912f2cebdc321381561 Reviewed-on: https://go-review.googlesource.com/24465 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org>
-
- 24 Jun, 2016 2 commits
-
-
Cherry Zhang authored
Like AMD64, don't issue NilCheck instruction if the subsequent block has a load or store at the same address. Pass test/nilptr3_ssa.go. Updates #15365. Change-Id: Ic88780dab8c4893c57d1c95f663760cc185fe51e Reviewed-on: https://go-review.googlesource.com/24451Reviewed-by: David Chase <drchase@google.com> Run-TryBot: David Chase <drchase@google.com>
-
Cherry Zhang authored
CSE may substitute a tuple generator with another one in a different block. In this case, since we want tuple selectors to stay together with the tuple generator, copy the selector to the new generator's block and rewrite its use. Op.isTupleGenerator and Op.isTupleSelector are introduced to assert tuple ops. Use it in tighten as well. Updates #15365. Change-Id: Ia9e8c734b9cc3bc9fca4a2750041eef9cdfac5a5 Reviewed-on: https://go-review.googlesource.com/24137Reviewed-by: David Chase <drchase@google.com>
-
- 16 Jun, 2016 4 commits
-
-
Josh Bleecher Snyder authored
Minor code cleanup. Done as part of understanding OpARMMOVWaddr, since other architectures will need to do something similar. Change-Id: Iea2ecf3defb4f884e63902c369cd55e4647bce7a Reviewed-on: https://go-review.googlesource.com/24157Reviewed-by: Cherry Zhang <cherryyz@google.com>
-
Josh Bleecher Snyder authored
This will be used verbatim in other architectures. Change-Id: I307891ae597d797fd45f296b6a38ffe9fac6b975 Reviewed-on: https://go-review.googlesource.com/24155 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> Reviewed-by: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Josh Bleecher Snyder authored
Provide better diagnostic messages. Use an int for numRegs comparisons, to avoid asking whether a uint8 is > 255. Change-Id: I33ae193ce292b24b369865abda3902c3207d7d3f Reviewed-on: https://go-review.googlesource.com/24135Reviewed-by: Keith Randall <khr@golang.org>
-
Josh Bleecher Snyder authored
This will be needed by other architectures as well. Put a cleaner encapsulation around it. Change-Id: I0ac25d600378042b2233301678e9d037e20701d8 Reviewed-on: https://go-review.googlesource.com/24154 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> Reviewed-by: Cherry Zhang <cherryyz@google.com>
-
- 15 Jun, 2016 1 commit
-
-
Cherry Zhang authored
Use hardware g register (R10) for GetG, allow g to appear at LHS of some ops. Progress on SSA backend for ARM. Now everything compiles and runs. Updates #15365. Change-Id: Icdf93585579faa86cc29b1e17ab7c90f0119fc4e Reviewed-on: https://go-review.googlesource.com/23952Reviewed-by: David Chase <drchase@google.com>
-
- 14 Jun, 2016 5 commits
-
-
Keith Randall authored
Change-Id: Idd150294aaeced0176b53d6b95852f5d21ff4fdc
-
Ian Lance Taylor authored
I don't see how the call could fail, so, no test. Just a code cleanup in case it can fail in the future. Fixes #15987. Change-Id: If4af0d5e7d19cc8b13fb6a4f7661c37fb0015e83 Reviewed-on: https://go-review.googlesource.com/23860 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Mikio Hara <mikioh.mikioh@gmail.com>
-
Ian Lance Taylor authored
A .syso file may include information that should go into the object file that is not object code, and should be included even if not using cgo. The example in the issue is a Windows manifest file. Fixes #16050. Change-Id: I1f4f3f80bb007e84d153ca2d26e5919213ea4f8d Reviewed-on: https://go-review.googlesource.com/24032 Run-TryBot: Ian Lance Taylor <iant@golang.org> Reviewed-by: Alex Brainman <alex.brainman@gmail.com>
-
Ian Lance Taylor authored
The dir parameter was removed in https://golang.org/cl/5732045. Fixes #15503. Change-Id: I02a6d8317233bea08633715a095ea2514822032b Reviewed-on: https://go-review.googlesource.com/24011 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Dmitri Shuralyov <shurcool@gmail.com> Reviewed-by: Andrew Gerrand <adg@golang.org>
-
Mikio Hara authored
Change-Id: I21fad94ff94e342ada18e0e41ca90296d030115f Reviewed-on: https://go-review.googlesource.com/24061 Run-TryBot: Mikio Hara <mikioh.mikioh@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
- 13 Jun, 2016 6 commits
-
-
Mikio Hara authored
This change is a followup to https://go-review.googlesource.com/23967 for FreeBSD. Updates #13987. Updates #16028. Change-Id: I0f0737372fce6df89d090fe9847305749b79eb4c Reviewed-on: https://go-review.googlesource.com/24021Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Mikio Hara authored
This change is a followup to https://go-review.googlesource.com/23967 for Darwin. Updates #13987. Updates #16028. Change-Id: Ib1fb9f957fafd0f91da6fceea56620e29ad82b00 Reviewed-on: https://go-review.googlesource.com/24020Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Ian Lance Taylor authored
Fixes #15994. Change-Id: I5aca91ab53985ac7dcb07ce094ec15eb8ec341f8 Reviewed-on: https://go-review.googlesource.com/23891 Run-TryBot: Ian Lance Taylor <iant@golang.org> Reviewed-by: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Keith Randall authored
Functions should be declared to end after the last real instruction, not after the last padding byte. We achieve this by adding the padding while assembling the text section in the linker instead of adding the padding to the function symbol in the compiler. This change makes dtrace happy. TODO: check that this works with external linking Fixes #15969 Change-Id: I973e478d0cd34b61be1ddc55410552cbd645ad62 Reviewed-on: https://go-review.googlesource.com/24040 Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Cherry Zhang authored
Introduce an op MOVWaddr for addresses on ARM, instead of overuse ADDconst. Mark MOVWaddr as rematerializable. This fixes a liveness problem: if it were not rematerializable, the address of a variable may be spilled and later use of the address may just load the spilled value without mentioning the variable, and the liveness code may think it is dead prematurely. Update #15365. Change-Id: Ib0b0fa826bdb75c9e6bb362b95c6cf132cc6b1c0 Reviewed-on: https://go-review.googlesource.com/23942Reviewed-by: David Chase <drchase@google.com>
-
Cherry Zhang authored
SSA treats SP as constant throughout a function, so as OffPtr [off] SP. When the stack moves, spilled OffPtr values become invalid, if they are not pointer-typed. (Currently it is fine because of the optimization rules that folds OffPtr into Load/Store. But it'd better be "optimization", not requirement.) Updates #15365. Change-Id: I76cf4008dfdc169e1cb5a55a2605b6678efc915d Reviewed-on: https://go-review.googlesource.com/23941 Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: David Chase <drchase@google.com>
-
- 12 Jun, 2016 2 commits
-
-
David Chase authored
Special case for rewriting OAS inits omitted OASWB, added that and OAS2FUNC. The special case cannot be default case, that causes racewalk to fail in horrible ways. Fixes #16008. Change-Id: Ie0d2f5735fe9d8255a109597b36d196d4f86703a Reviewed-on: https://go-review.googlesource.com/23954Reviewed-by: Keith Randall <khr@golang.org> Reviewed-by: Dmitry Vyukov <dvyukov@google.com> Run-TryBot: David Chase <drchase@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Dmitri Shuralyov authored
Generate package comment in alldocs.go using line comments rather than general comments. This scales better, general comments cannot contain the "*/" character sequence. Line comments do not have any restrictions on the comment text that can be contained. Remove the dependency on sed, which is not cross-platform, not go-gettable external command. Remove trailing whitespace from usage string in test.go. It's unnecessary. Fixes #16030. Change-Id: I3c0bc9955e7c7603c3d1fb4878218b0719d02e04 Reviewed-on: https://go-review.googlesource.com/23968Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
- 11 Jun, 2016 1 commit
-
-
Keith Randall authored
Instead of doing: x = input one round of aes on x x ^= seed two rounds of aes on x Do: x = input x ^= seed three rounds of aes on x This change provides some additional seed-dependent scrambling which should help prevent collisions. Change-Id: I02c774d09c2eb6917cf861513816a1024a9b65d7 Reviewed-on: https://go-review.googlesource.com/23577Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
- 10 Jun, 2016 5 commits
-
-
Ian Lance Taylor authored
On systems that support the POSIX.1-2008 waitid function, we can use it to block until a wait will succeed. This avoids a possible race condition: if a program calls p.Kill/p.Signal and p.Wait from two different goroutines, then it is possible for the wait to complete just before the signal is sent. In that case, it is possible that the system will start a new process using the same PID between the wait and the signal, causing the signal to be sent to the wrong process. The Process.isdone field attempts to avoid that race, but there is a small gap of time between when wait returns and isdone is set when the race can occur. This CL avoids that race by using waitid to wait until the process has exited without actually collecting the PID. Then it sets isdone, then waits for any active signals to complete, and only then collects the PID. No test because any plausible test would require starting enough processes to recycle all the process IDs. Update #13987. Update #16028. Change-Id: Id2939431991d3b355dfb22f08793585fc0568ce8 Reviewed-on: https://go-review.googlesource.com/23967 Run-TryBot: Ian Lance Taylor <iant@golang.org> Reviewed-by: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Robert Griesemer authored
+ panic with explicit error if no file set it provided (Not providing a file set is invalid use of the API; panic is the appropriate action rather than returning an error.) Fixes #16018. Change-Id: I207f5b2a2e318d65826bdd9522fce46d614c24ee Reviewed-on: https://go-review.googlesource.com/24010 Run-TryBot: Robert Griesemer <gri@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Ian Lance Taylor authored
Make the documentation for `go get` match the documentation for `go install`, since `go get` essentially invokes `go install`. Update #15825. Change-Id: I374d80efd301814b6d98b86b7a4a68dd09704c92 Reviewed-on: https://go-review.googlesource.com/23925Reviewed-by: Andrew Gerrand <adg@golang.org>
-
Michael Munday authored
Fixes #16021. Change-Id: I55df38bbccd2641abcb54704115002a9aa04325d Reviewed-on: https://go-review.googlesource.com/23962 Run-TryBot: Michael Munday <munday@ca.ibm.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Jess Frazelle authored
This patch updates the doc about comments whitespace for the encoding/csv package to reflect that leading whitespace before the hash will treat the line as not a comment. Fixes #13775. Change-Id: Ia468c75b242a487b4b2b4cd3d342bfb8e07720ba Reviewed-on: https://go-review.googlesource.com/23302Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
- 09 Jun, 2016 6 commits
-
-
Cherry Zhang authored
When setting $pc, gdb does a backtrace using the current value of $sp, and it may complain if $sp does not match that $pc (although the assignment went through successfully). This happens with ARM SSA backend: when setting $pc it prints > Cannot access memory at address 0x0 As well as occasionally on MIPS64: > warning: GDB can't find the start of the function at 0xc82003fe07. > ... Setting $sp before setting $pc makes it happy. Change-Id: Idd96dbef3e9b698829da553c6d71d5b4c6d492db Reviewed-on: https://go-review.googlesource.com/23940Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Austin Clements <austin@google.com>
-
Keith Randall authored
The generated code for interface stubs sometimes just messes with a few of the args and then tail-calls to the target routine. The args that aren't explicitly modified appear to not be used. But they are used, by the thing we're tail calling. Fixes #16016 Change-Id: Ib9b3a8311bb714a201daee002885fcb59e0463fa Reviewed-on: https://go-review.googlesource.com/23960 Run-TryBot: David Chase <drchase@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: David Chase <drchase@google.com>
-
Ian Lance Taylor authored
The combination of https://golang.org/cl/23650 and https://golang.org/cl/23675 did not work--they were tested separately but not together. The problem was that 23650 introduced deferred argument checking, and the deferred function loses the type that 23675 started requiring. The fix is to go back to using an empty interface type in a deferred argument check. No new test required--fixes broken build. Change-Id: I5ea023c5aed71d70e57b11c4551242d3ef25986d Reviewed-on: https://go-review.googlesource.com/23961 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Austin Clements <austin@google.com>
-
Ian Lance Taylor authored
When cgo writes a _cgoCheckPointerN function to handle unsafe.Pointer, use the function's argument type rather than interface{}. This permits type errors to be detected at build time rather than run time. Fixes #13830. Change-Id: Ic7090905e16b977e2379670e0f83640dc192b565 Reviewed-on: https://go-review.googlesource.com/23675 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Austin Clements <austin@google.com>
-
Ian Lance Taylor authored
Fixes #14505. Change-Id: I46196b26c9339609e6e3ef9159de38c5b50c2a1b Reviewed-on: https://go-review.googlesource.com/23922 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com> Reviewed-by: Andrew Gerrand <adg@golang.org>
-
Kenny Grant authored
getAbbrs looks like it is checking each month looking for a change in the time zone abbreviation, but starts in Dec of the previous year and skips the month of February because of the overflow rules for AddDate. Changing the day to 1 starts at Jan 1 and tries all months in the current year. This isn't very important or likely to change output as zones usually span several months. Discovered when looking into time.AddDate behavior when adding months. Change-Id: I685254c8d21c402ba82cc4176e9a86b64ce8f7f7 Reviewed-on: https://go-review.googlesource.com/23322Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-