aboutsummaryrefslogtreecommitdiff
path: root/gcc/go/go-lang.c
diff options
context:
space:
mode:
authorCherry Zhang <cherryyz@google.com>2019-05-08 00:14:17 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2019-05-08 00:14:17 +0000
commitf837b9c41a6ca8be317a762410fb7811b3fddde6 (patch)
treef8579ea0f1e87d926a24f76f63ead381e96c34be /gcc/go/go-lang.c
parenta88158bc4daca182f0f39a2b667223d13b5a46e6 (diff)
downloadgcc-f837b9c41a6ca8be317a762410fb7811b3fddde6.zip
gcc-f837b9c41a6ca8be317a762410fb7811b3fddde6.tar.gz
gcc-f837b9c41a6ca8be317a762410fb7811b3fddde6.tar.bz2
compiler: add an option to emit optimization diagnostics
Add a -fgo-debug-optimization option to emit optimization diagnostics. This can be used for testing optimizations. Apply this to the range clear optimizations of maps and arrays. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/170002 gcc/go: * lang.opt (-fgo-debug-optimization): New option. * go-c.h (struct go_create_gogo_args): Add debug_optimization field. * go-lang.c (go_langhook_init): Set debug_optimization field. * gccgo.texi (Invoking gccgo): Document -fgo-debug-optimization. gcc/testsuite: * go.dg/arrayclear.go: New test. * go.dg/mapclear.go: New test. From-SVN: r270993
Diffstat (limited to 'gcc/go/go-lang.c')
-rw-r--r--gcc/go/go-lang.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/go/go-lang.c b/gcc/go/go-lang.c
index dd22fda..94f2cb2 100644
--- a/gcc/go/go-lang.c
+++ b/gcc/go/go-lang.c
@@ -118,6 +118,7 @@ go_langhook_init (void)
args.debug_escape_level = go_debug_escape_level;
args.debug_escape_hash = go_debug_escape_hash;
args.nil_check_size_threshold = TARGET_AIX ? -1 : 4096;
+ args.debug_optimization = go_debug_optimization;
args.linemap = go_get_linemap();
args.backend = go_get_backend();
go_create_gogo (&args);