1
0
mirror of https://github.com/golang/go synced 2024-11-19 12:14:42 -07:00
go/test
Keith Randall 31d13f479a cmd/compile: don't use PPARAMOUT names for temps
The location of VARDEFs is incorrect for PPARAMOUT variables
which are also used as temporary locations.  We put in VARDEFs
when setting the variable at return time, but when the location
is also used as a temporary the lifetime values are wrong.

Fix copyelim to update the names map properly.  This is a
real name bug fix which, as a result, allows me to
write a reasonable test to trigger the PPARAMOUT bug.

This is kind of a band-aid fix for #14591.  A more pricipled
fix (which allows values to be stored in the return variable
earlier than the return point) will be harder.

Fixes #14591

Change-Id: I7df8ae103a982d1f218ed704c080d7b83cdcfdd9
Reviewed-on: https://go-review.googlesource.com/20457
Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
2016-03-11 00:56:04 +00:00
..
bench encoding/base64: fix streaming decode of padding-free base64 2016-01-08 15:07:45 +00:00
bugs
chan Fix several out of date references to 4g/5g/6g/8g/9g. 2015-06-26 03:38:21 +00:00
ddd2.dir
dwarf
fixedbugs cmd/compile: don't use PPARAMOUT names for temps 2016-03-11 00:56:04 +00:00
import2.dir
import4.dir test: adjust gccgo expected import errors 2015-10-07 14:37:44 +00:00
interface cmd/internal/gc: improve "type *X has no field or method M" message 2015-05-07 16:21:57 +00:00
ken
method4.dir
safe
stress
syntax cmd/compile: better syntax error recovery 2015-11-20 19:56:27 +00:00
64bit.go
235.go
alias1.go
alias.go
append.go
args.go
assign1.go
assign.go
bigalg.go
bigmap.go
blank1.go cmd/compile: don't allow blank method declarations on builtins 2015-12-02 18:26:38 +00:00
blank.go
bom.go
bombad.go
bounds.go
chancap.go
chanlinear.go
char_lit1.go
char_lit.go
clearfat.go
closedchan.go
closure1.go
closure2.go
closure.go
cmp6.go
cmp.go Fix several out of date references to 4g/5g/6g/8g/9g. 2015-06-26 03:38:21 +00:00
cmplx.go
cmplxdivide1.go
cmplxdivide.c
cmplxdivide.go
complit1.go cmd/internal/gc: accept map literals with omitted key type 2015-06-04 02:31:38 +00:00
complit.go
compos.go
const1.go
const2.go
const3.go
const4.go all: link to https instead of http 2015-07-11 14:36:33 +00:00
const5.go all: link to https instead of http 2015-07-11 14:36:33 +00:00
const6.go
const.go cmd/compile: allow huge rsh in constants arithmetic 2015-08-21 20:27:22 +00:00
convert1.go
convert3.go
convert.go
convlit1.go
convlit.go cmd/internal/gc: unsafe.Pointer constants may only be converted to uintptr 2015-05-07 23:54:28 +00:00
convT2X.go
copy.go
crlf.go
ddd1.go
ddd2.go
ddd.go
decl.go
declbad.go
defer.go
deferfin.go
deferprint.go
deferprint.out
divide.go
divmod.go
empty.go
env.go
eof1.go
eof.go
errchk Fix several out of date references to 4g/5g/6g/8g/9g. 2015-06-26 03:38:21 +00:00
escape2.go cmd/compile: better modeling of escape across loop levels 2016-01-13 04:01:00 +00:00
escape2n.go cmd/compile: better modeling of escape across loop levels 2016-01-13 04:01:00 +00:00
escape3.go
escape4.go
escape5.go cmd/internal/gc: move check for large-hence-heap-allocated types into escape analysis 2015-05-22 02:13:54 +00:00
escape_array.go cmd/internal/gc: move check for large-hence-heap-allocated types into escape analysis 2015-05-22 02:13:54 +00:00
escape_calls.go cmd/internal/gc: make indirect calls properly escape-y 2015-05-22 01:36:11 +00:00
escape_closure.go cmd/internal/gc: improve flow of input params to output params 2015-05-01 13:47:20 +00:00
escape_field.go cmd/internal/gc: improve flow of input params to output params 2015-05-01 13:47:20 +00:00
escape_iface.go cmd/compile: avoid leak of dottype expression if type does not contain pointers. 2016-02-19 16:10:14 +00:00
escape_indir.go cmd/internal/gc: improve flow of input params to output params 2015-05-01 13:47:20 +00:00
escape_level.go cmd/internal/gc: improve flow of input params to output params 2015-05-01 13:47:20 +00:00
escape_map.go
escape_param.go cmd/internal/gc: improve flow of input params to output params 2015-05-01 13:47:20 +00:00
escape_slice.go cmd/internal/gc: extend escape analysis to pointers in slices 2015-05-18 15:34:39 +00:00
escape_struct_param1.go cmd/internal/gc: improve flow of input params to output params 2015-05-01 13:47:20 +00:00
escape_struct_param2.go cmd/internal/gc: improve flow of input params to output params 2015-05-01 13:47:20 +00:00
escape_struct_return.go cmd/internal/gc: improve flow of input params to output params 2015-05-01 13:47:20 +00:00
escape.go
fibo.go
finprofiled.go runtime: fix finalization and profiling of tiny allocations 2015-11-03 18:57:18 +00:00
float_lit2.go
float_lit3.go
float_lit.go
floatcmp.go
for.go
func1.go
func2.go
func3.go
func4.go
func5.go
func6.go Fix several out of date references to 4g/5g/6g/8g/9g. 2015-06-26 03:38:21 +00:00
func7.go Fix several out of date references to 4g/5g/6g/8g/9g. 2015-06-26 03:38:21 +00:00
func8.go test: use go:noinline consistently 2015-11-03 02:01:34 +00:00
func.go
funcdup2.go
funcdup.go
gc1.go
gc2.go
gc.go
gcstring.go
goprint.go
goprint.out
goto.go [dev.ssa] test: gofmt {goto,label,label1}.go 2015-07-20 20:09:34 +00:00
heapsampling.go test: really force heap profile update in heapsampling.go 2015-11-12 18:32:13 +00:00
helloworld.go
helloworld.out
if.go
import1.go
import2.go
import4.go
import5.go
import.go
index0.go
index1.go
index2.go
index.go Fix several out of date references to 4g/5g/6g/8g/9g. 2015-06-26 03:38:21 +00:00
indirect1.go
indirect.go
init1.go
init.go
initcomma.go
initialize.go
initializerr.go
initloop.go cmd/compile: use []*Node instead of NodeList in sinit 2015-09-05 02:25:01 +00:00
inline.go cmd/compile: add support for a go:noinline directive 2015-10-29 23:16:27 +00:00
int_lit.go
intcvt.go
iota.go
label1.go [dev.ssa] cmd/compile: implement control flow handling 2015-07-23 00:45:26 +00:00
label.go [dev.ssa] cmd/compile: implement control flow handling 2015-07-23 00:45:26 +00:00
linkmain_run.go test: fix linkmain test 2015-12-17 23:36:13 +00:00
linkmain.go cmd/link: reject non-package main toplevel.a file, remove dead code 2015-12-17 20:59:51 +00:00
linkx_run.go cmd/link: remove alternate -X flag spelling 2016-02-19 01:35:25 +00:00
linkx.go cmd/link: detect -X setting non-string variable 2015-06-29 20:28:36 +00:00
literal.go
live1.go
live2.go [dev.ssa] cmd/compile: default compile+test with SSA 2015-10-30 20:35:20 +00:00
live_syscall.go cmd/compile: recognize Syscall-like functions for liveness analysis 2016-01-14 01:16:45 +00:00
live.go [dev.ssa] cmd/compile: default compile+test with SSA 2015-10-30 20:35:20 +00:00
mallocfin.go
map1.go
map.go
maplinear.go
method1.go
method2.go
method3.go
method4.go
method5.go
method.go
named1.go
named.go
nil.go
nilcheck.go [dev.ssa] cmd/compile: make cse faster 2016-01-28 20:59:20 +00:00
nilptr2.go
nilptr3_ssa.go [dev.ssa] cmd/compile: get rid of nil checks before float loads/stores 2016-02-26 04:33:46 +00:00
nilptr3.go [dev.ssa] test: remove extra tests from non-SSA builds 2016-02-26 19:07:16 +00:00
nilptr4.go
nilptr.go
nosplit.go [dev.ssa] cmd/compile: shrink stack guard 2016-02-25 22:32:48 +00:00
nul1.go
opt_branchlikely.go [dev.ssa] cmd/compile: adjust branch likeliness for calls/loops 2016-03-01 20:09:41 +00:00
parentype.go
peano.go
phiopt.go [dev.ssa] cmd/compile/internal/ssa: simplify boolean phis 2016-03-01 17:56:13 +00:00
print.go
print.out
printbig.go
printbig.out
prove.go [dev.ssa] cmd/compile/internal/ssa: remove proven redundant controls. 2016-02-28 19:48:20 +00:00
range.go
recover1.go
recover2.go
recover3.go
recover4.go test: move allocation before munmap in recover4 2015-09-16 08:51:48 +00:00
recover.go
rename1.go
rename.go
reorder2.go test: use go:noinline consistently 2015-11-03 02:01:34 +00:00
reorder.go
return.go
rotate0.go test: re-enable rotate tests 2015-05-28 19:40:58 +00:00
rotate1.go test: re-enable rotate tests 2015-05-28 19:40:58 +00:00
rotate2.go test: re-enable rotate tests 2015-05-28 19:40:58 +00:00
rotate3.go test: re-enable rotate tests 2015-05-28 19:40:58 +00:00
rotate.go
run.go [dev.ssa] Merge remote-tracking branch 'origin/master' into mergebranch 2016-01-07 10:01:08 -08:00
rune.go
runtime.go
shift1.go
shift2.go
sieve.go
sigchld.go
sigchld.out
simassign.go
sinit_run.go all: retire architecture letter in file names, public API 2015-05-21 17:32:17 +00:00
sinit.go cmd/compile: allow static init for unsafe.Pointer(&x) where x is global 2015-07-07 21:51:57 +00:00
sizeof.go
slice3.go
slice3err.go
slicecap.go
sliceopt.go [dev.ssa] cmd/compile: default compile+test with SSA 2015-10-30 20:35:20 +00:00
solitaire.go
stack.go
string_lit.go
stringrange.go
struct0.go
switch2.go cmd/compile: address several more 1.6 TODOs in parser 2015-11-21 07:21:23 +00:00
switch3.go
switch4.go
switch.go
tinyfin.go runtime: fix finalization and profiling of tiny allocations 2015-11-03 18:57:18 +00:00
torture.go
turing.go
typecheck.go
typecheckloop.go cmd/compile: convert typecheck_stack to []*Node 2015-09-06 23:50:51 +00:00
typeswitch1.go
typeswitch2.go
typeswitch3.go
typeswitch.go
undef.go
utf.go
varerr.go
varinit.go
writebarrier.go cmd/compile: add write barrier to type switch 2016-02-12 21:07:21 +00:00
zerodivide.go