aboutsummaryrefslogtreecommitdiff
path: root/test/torture.go
AgeCommit message (Collapse)Author
2014-07-01cmd/8g: don't allocate a register early for cap(CHAN).Rémy Oudompheng
There is no reason to generate different code for cap and len. Fixes #8025. Fixes #8026. LGTM=rsc R=rsc, iant, khr CC=golang-codereviews https://golang.org/cl/93570044
2012-12-21cmd/8g: introduce temporaries in byte multiplication.Rémy Oudompheng
Also restore the smallintconst case for binary ops. Fixes #3835. R=daniel.morsing, rsc CC=golang-dev https://golang.org/cl/6999043
2012-11-12cmd/5g, cmd/6g: pass the full torture test.Rémy Oudompheng
The patch adds more cases to agenr to allocate registers later, and makes 6g generate addresses for sgen in something else than SI and DI. It avoids a complex save/restore sequence that amounts to allocate a register before descending in subtrees. Fixes #4207. R=golang-dev, dave, rsc CC=golang-dev https://golang.org/cl/6817080
2012-11-02cmd/5g, cmd/6g: fix out of registers with array indexing.Rémy Oudompheng
Compiling expressions like: s[s[s[s[s[s[s[s[s[s[s[s[i]]]]]]]]]]]] make 5g and 6g run out of registers. Such expressions can arise if a slice is used to represent a permutation and the user wants to iterate it. This is due to the usual problem of allocating registers before going down the expression tree, instead of allocating them in a postfix way. The functions cgenr and agenr (that generate a value to a newly allocated register instead of an existing location), are either introduced or modified when they already existed to allocate the new register as late as possible, and sudoaddable is disabled for OINDEX nodes so that igen/agenr is used instead. Update #4207. R=dave, daniel.morsing, rsc CC=golang-dev https://golang.org/cl/6733055
2012-10-26cmd/6g: fix crash in cgen_bmul.Rémy Oudompheng
Used to print: ../test/torture.go:116: internal compiler error: bad width: 0463 (../test/torture.go:116) MOVB ,BX (0, 8) R=nigeltao, rsc CC=golang-dev https://golang.org/cl/6736068
2012-10-16cmd/5g, cmd/6g, cmd/8g: fix out of registers.Rémy Oudompheng
This patch is enough to fix compilation of exp/types tests but only passes a stripped down version of the appripriate torture test. Update #4207. R=dave, nigeltao, rsc, golang-dev CC=golang-dev https://golang.org/cl/6621061
2012-10-07cmd/6g: fix out of registers when chaining integer divisions.Rémy Oudompheng
Fixes #4201. R=golang-dev, rsc CC=golang-dev, remy https://golang.org/cl/6622055
2012-10-05cmd/5g: fix out of registers in nested calls, add compiler torture test.Rémy Oudompheng
R=golang-dev, dave, daniel.morsing, rsc CC=golang-dev, remy https://golang.org/cl/6586072