1
0
mirror of https://github.com/golang/go synced 2024-11-17 18:34:44 -07:00
go/test/typeparam
Matthew Dempsky 38edd9bd8d cmd/compile/internal/noder: shape-based stenciling for unified IR
This CL switches unified IR to use shape-based stenciling with runtime
dictionaries, like the existing non-unified frontend. Specifically,
when instantiating generic functions and types `X[T]`, we now also
instantiated shaped variants `X[shapify(T)]` that can be shared by
`T`'s with common underlying types.

For example, for generic function `F`, `F[int](args...)` will be
rewritten to `F[go.shape.int](&.dict.F[int], args...)`.

For generic type `T` with method `M` and value `t` of type `T[int]`,
`t.M(args...)` will be rewritten to `T[go.shape.int].M(t,
&.dict.T[int], args...)`.

Two notable distinctions from the non-unified frontend:

1. For simplicity, currently shaping is limited to simply converting
type arguments to their underlying type. Subsequent CLs will implement
more aggressive shaping.

2. For generic types, a single dictionary is generated to be shared by
all methods, rather than separate dictionaries for each method. I
originally went with this design because I have an idea of changing
interface calls to pass the itab pointer via the closure
register (which should have zero overhead), and then the interface
wrappers for generic methods could use the *runtime.itab to find the
runtime dictionary that corresponds to the dynamic type. This would
allow emitting fewer method wrappers.

However, this choice does have the consequence that currently even if
a method is unused and its code is pruned by the linker, it may have
produced runtime dictionary entries that need to be kept alive anyway.

I'm open to changing this to generate per-method dictionaries, though
this would require changing the unified IR export data format; so it
would be best to make this decision before Go 1.20.

The other option is making the linker smarter about pruning unneeded
dictionary entries, like how it already prunes itab entries. For
example, the runtime dictionary for `T[int]` could have a `R_DICTTYPE`
meta-relocation against symbol `.dicttype.T[go.shape.int]` that
declares it's a dictionary associated with that type; and then each
method on `T[go.shape.T]` could have `R_DICTUSE` meta-relocations
against `.dicttype.T[go.shape.T]+offset` indicating which fields
within dictionaries of that type need to be preserved.

Change-Id: I369580b1d93d19640a4b5ecada4f6231adcce3fd
Reviewed-on: https://go-review.googlesource.com/c/go/+/421821
Reviewed-by: David Chase <drchase@google.com>
Reviewed-by: Keith Randall <khr@golang.org>
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
Reviewed-by: Cuong Manh Le <cuong.manhle.vn@gmail.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
2022-08-18 13:16:21 +00:00
..
absdiffimp2.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
absdiffimp.dir
aliasimp.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
chansimp.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
dedup.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
factimp.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
gencrawler.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
geninline.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue46461b.dir
issue47514c.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue47775.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue47892.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue47892b.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue48094.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue48094b.dir
issue48185a.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue48185b.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue48280.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue48306.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue48337a.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue48337b.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue48454.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue48462.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue48716.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue48962.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue49027.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue49241.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue49246.dir
issue49497.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue49524.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue49536.dir cmd/compile: fix reentrancy issue in unified IR function body reading 2022-03-07 06:23:18 +00:00
issue49659.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue49667.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue49893.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue50121.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue50121b.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue50437.dir
issue50481b.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue50481c.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue50485.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue50486.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue50552.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue50561.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue50598.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue50841.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue51219.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue51219b.dir test: add new test case for 51219 that triggers the types2 issue 2022-02-28 14:59:04 +00:00
issue51250a.dir cmd/compile: don't include instantiating types in type hash 2022-03-03 00:23:02 +00:00
issue51367.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue51423.dir cmd/compile: fix re-export closure 2022-03-11 00:42:08 +00:00
issue51836.dir cmd/compile/internal/importer: key tparams by Package instead of pkgname 2022-03-22 21:38:10 +00:00
issue52117.dir cmd/compile: set correct package for vars/params/results from nested instantiation 2022-04-28 20:14:34 +00:00
issue54302.dir cmd/compile: fix import/export of ODYNAMICDOTTYPE 2022-08-06 15:20:00 +00:00
listimp2.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
listimp.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
mapimp.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
mapsimp.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
mdempsky test: test method expressions promoted to derived types 2022-08-09 16:42:12 +00:00
mincheck.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
minimp.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
mutualimp.dir
orderedmapsimp.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
pairimp.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
recoverimp.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
select.dir
setsimp.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
sliceimp.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
stringerimp.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
structinit.dir
valimp.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
absdiff2.go go/types, types2: disable field accesses through type parameters 2022-03-09 21:26:42 +00:00
absdiff3.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
absdiff.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
absdiffimp2.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
absdiffimp.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
adder.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
aliasimp.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
append.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
boundmethod.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
builtins.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
chans.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
chansimp.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
combine.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
cons.go test/typeparam: fix copyright message 2022-04-21 23:41:49 +00:00
dedup.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
dedup.out
dictionaryCapture-noinline.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
dictionaryCapture.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
dottype.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
dottype.out
double.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
eface.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
equal.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
fact.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
factimp.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
gencrawler.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
gencrawler.out
genembed2.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
genembed.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
geninline.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
graph.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
ifaceconv.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
importtest.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
index2.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
index.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
interfacearg.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue23536.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue39755.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue42758.go cmd/compile: remove duplicate const logic from typecheck 2022-03-07 18:17:40 +00:00
issue44688.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue45547.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue45722.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue45738.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue45817.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue46461.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue46461b.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue46472.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue46591.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47258.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47272.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47272.out
issue47514.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47514b.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47514c.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47631.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47676.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47684.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47684b.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47684c.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47708.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47710.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47713.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47713.out
issue47716.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47723.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47740.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47740.out
issue47740b.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47775.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47775b.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47797.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47877.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47878.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47892.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47892b.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47896.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47901.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47924.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47925.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47925b.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47925c.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47925d.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47929.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47948.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47966.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48013.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48016.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48030.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48042.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48047.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48049.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48056.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48094.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48094b.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48137.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48185a.go
issue48185b.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48191.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48198.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48225.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48253.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48276a.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48276a.out go/types, types2: fix implements and identical predicates 2022-01-31 20:35:07 +00:00
issue48276b.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48280.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48306.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48317.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48318.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48337a.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48337a.out
issue48337b.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48344.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48424.go go/types, types2: correctly consider ~ (tilde) in constraint type inference 2022-03-01 23:48:58 +00:00
issue48453.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48454.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48462.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48537.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48538.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48598.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48602.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48604.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48609.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48617.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48645a.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48645a.out
issue48645b.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48711.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48716.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48838.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48962.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue49027.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue49049.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue49241.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue49246.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue49295.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue49309.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue49421.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue49432.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue49497.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue49516.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue49524.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue49536.go cmd/compile: fix reentrancy issue in unified IR function body reading 2022-03-07 06:23:18 +00:00
issue49538.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue49547.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue49611.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue49659.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue49659b.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue49667.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue49875.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue49893.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50002.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50109.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50109.out
issue50109b.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50121.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50121b.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50147.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50177.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50193.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50193.out
issue50259.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50264.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50317.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50417.go go/types, types2: disable field accesses through type parameters 2022-03-09 21:26:42 +00:00
issue50417b.go go/types, types2: disable field accesses through type parameters 2022-03-09 21:26:42 +00:00
issue50419.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50437.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50481b.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50481c.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50481c.out
issue50485.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50486.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50552.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50561.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50598.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50642.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50690a.go go/types, types2: disable field accesses through type parameters 2022-03-09 21:26:42 +00:00
issue50690a.out
issue50690b.go go/types, types2: disable field accesses through type parameters 2022-03-09 21:26:42 +00:00
issue50690b.out
issue50690c.go go/types, types2: disable field accesses through type parameters 2022-03-09 21:26:42 +00:00
issue50690c.out
issue50833.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50841.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50993.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue51219.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue51219.out test: add new test case for 51219 that triggers the types2 issue 2022-02-28 14:59:04 +00:00
issue51219b.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue51232.go go/types, types2: disable inference for type instances 2022-03-07 21:18:15 +00:00
issue51233.go go/types, types2: disable inference for type instances 2022-03-07 21:18:15 +00:00
issue51236.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue51245.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue51250a.go cmd/compile: don't include instantiating types in type hash 2022-03-03 00:23:02 +00:00
issue51303.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue51303.out cmd/compile: deal with constructed types that have shapes in them 2022-02-28 19:38:22 +00:00
issue51355.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue51367.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue51423.go cmd/compile: fix re-export closure 2022-03-11 00:42:08 +00:00
issue51521.go test: add test case for #51521 2022-03-07 14:07:18 +00:00
issue51522a.go cmd/compile: fix transform of OEQ/ONE when one arg is a type param 2022-03-10 18:50:50 +00:00
issue51522b.go cmd/compile: fix expression switches using type parameters 2022-03-10 19:30:33 +00:00
issue51700.go cmd/compile: always write fun[0] in incomplete itab 2022-04-12 17:06:19 +00:00
issue51733.go cmd/compile: pointers to notinheap types need their own shape 2022-03-18 19:22:30 +00:00
issue51765.go cmd/compile: replace Type.OrigSym with Type.OrigType 2022-03-21 21:57:24 +00:00
issue51832.go cmd/compile: catch pointless recursion on function types 2022-05-24 20:35:40 +00:00
issue51836.go cmd/compile/internal/importer: key tparams by Package instead of pkgname 2022-03-22 21:38:10 +00:00
issue51840.go test: add test case for #51840 2022-05-10 19:40:04 +00:00
issue51909.go cmd/compile: don't inline fn with shape params, but passed no shape arg 2022-05-14 00:29:30 +00:00
issue51925.go cmd/compile: don't inline fn with shape params, but passed no shape arg 2022-05-14 00:29:30 +00:00
issue52026.go cmd/compile: use dictionary to convert type to shaped interface type 2022-05-03 21:36:22 +00:00
issue52117.go cmd/compile: set correct package for vars/params/results from nested instantiation 2022-04-28 20:14:34 +00:00
issue52124.go test: extend issue52124.go to also test #52139 2022-04-07 19:16:46 +00:00
issue52228.go cmd/compile: always write fun[0] in incomplete itab 2022-04-12 17:06:19 +00:00
issue52241.go cmd/compile: allow exporting .rcvr ident 2022-05-06 21:07:37 +00:00
issue53254.go cmd/compile: don't use dictionary convert to shaped empty interface 2022-06-22 22:14:02 +00:00
issue53390.go cmd/compile: skip substituting closures in unsafe builtins arguments 2022-06-18 00:48:50 +00:00
issue53406.go cmd/compile: fix assert condition in generic method call 2022-06-22 16:25:18 +00:00
issue53419.go test: add regress test for #53419 2022-06-17 22:44:22 +00:00
issue53477.go test: add regress test for #53477 2022-06-21 15:00:37 +00:00
issue53762.go cmd/compile: fix type assert in dict pass 2022-07-13 16:06:45 +00:00
issue54135.go test: improve generic type assertion test 2022-08-01 20:44:41 +00:00
issue54302.go cmd/compile: fix import/export of ODYNAMICDOTTYPE 2022-08-06 15:20:00 +00:00
issue376214.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
list2.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
list.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
listimp2.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
listimp.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
lockable.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
map.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
mapimp.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
maps.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
mapsimp.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
metrics.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
min.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
mincheck.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
minimp.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
mutualimp.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
nested.go cmd/compile/internal/noder: shape-based stenciling for unified IR 2022-08-18 13:16:21 +00:00
nested.out
ordered.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
orderedmap.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
orderedmapsimp.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
pair.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
pairimp.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
pragma.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
recoverimp.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
recoverimp.out
select.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
sets.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
setsimp.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
settable.go go/types, types2: correctly consider ~ (tilde) in constraint type inference 2022-03-01 23:48:58 +00:00
shape1.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
shape1.out
sliceimp.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
slices.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
smallest.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
smoketest.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
stringable.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
stringer.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
stringerimp.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
struct.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
structinit.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
subdict.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
sum.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
tparam1.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
typelist.go go/types, types2: correctly consider ~ (tilde) in constraint type inference 2022-03-01 23:48:58 +00:00
typeswitch1.go test: additional generic type switch test coverage 2022-03-07 13:47:58 +00:00
typeswitch1.out test: additional generic type switch test coverage 2022-03-07 13:47:58 +00:00
typeswitch2.go test: additional generic type switch test coverage 2022-03-07 13:47:58 +00:00
typeswitch2.out test: additional generic type switch test coverage 2022-03-07 13:47:58 +00:00
typeswitch3.go test: additional generic type switch test coverage 2022-03-07 13:47:58 +00:00
typeswitch3.out test: additional generic type switch test coverage 2022-03-07 13:47:58 +00:00
typeswitch4.go test: additional generic type switch test coverage 2022-03-07 13:47:58 +00:00
typeswitch4.out test: additional generic type switch test coverage 2022-03-07 13:47:58 +00:00
typeswitch5.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
typeswitch5.out
typeswitch6.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
typeswitch6.out
typeswitch7.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
typeswitch7.out
valimp.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
value.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00