diff options
| author | Cherry Mui <cherryyz@google.com> | 2023-03-10 16:28:57 -0500 |
|---|---|---|
| committer | Cherry Mui <cherryyz@google.com> | 2023-03-13 22:04:56 +0000 |
| commit | 40a6e2dae5a9c75f1ddc6f97b48b9442c118653f (patch) | |
| tree | dc5ba9498b79aac850a740bb27d38153e601cd3e /src/database/sql/sql_test.go | |
| parent | 7f38067acb738c43d870400dd648662d31456f5f (diff) | |
| download | go-40a6e2dae5a9c75f1ddc6f97b48b9442c118653f.tar.xz | |
cmd/compile: tighten for huge functions in -N mode
Currently, in -N mode we skip the tighten pass. However, for very
large functions, many values live across blocks can cause
pathological behavior in the register allocator, which could use
a huge amount of memory or cause the program to hang. For
functions that large, debugging using a debugger is unlikely to be
very useful (the function is probably generated anyway). So we do
a little optimization to make fewer values live across blocks and
make it easier for the compiler.
Fixes #52180.
Change-Id: I355fe31bb87ea5d0870bb52dd06405dd5d791dab
Reviewed-on: https://go-review.googlesource.com/c/go/+/475339
Reviewed-by: Cuong Manh Le <cuong.manhle.vn@gmail.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Cherry Mui <cherryyz@google.com>
Reviewed-by: Keith Randall <khr@google.com>
Reviewed-by: Keith Randall <khr@golang.org>
Diffstat (limited to 'src/database/sql/sql_test.go')
0 files changed, 0 insertions, 0 deletions
