aboutsummaryrefslogtreecommitdiff
path: root/gcc/go/go-c.h
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-c.h
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-c.h')
-rw-r--r--gcc/go/go-c.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/go/go-c.h b/gcc/go/go-c.h
index 42e86cd..695484c 100644
--- a/gcc/go/go-c.h
+++ b/gcc/go/go-c.h
@@ -49,6 +49,7 @@ struct go_create_gogo_args
int debug_escape_level;
const char* debug_escape_hash;
int64_t nil_check_size_threshold;
+ bool debug_optimization;
};
extern void go_create_gogo (const struct go_create_gogo_args*);