diff options
author | Michael Matz <matz@suse.de> | 2016-03-30 07:47:40 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2016-03-30 07:47:40 +0000 |
commit | 9c49362f039750b5ea63a32c3e403bd9865a3738 (patch) | |
tree | 5dd64bc5ae9caf164ad4a275a4e6b6fbc63d9faf /gcc/doc | |
parent | ff734e26c2a4efbba465f206e4a7c282a33a2b59 (diff) | |
download | gcc-9c49362f039750b5ea63a32c3e403bd9865a3738.zip gcc-9c49362f039750b5ea63a32c3e403bd9865a3738.tar.gz gcc-9c49362f039750b5ea63a32c3e403bd9865a3738.tar.bz2 |
re PR middle-end/12392 (very long optimized compile)
2016-03-30 Michael Matz <matz@suse.de>
Richard Biener <rguenther@suse.de>
PR ipa/12392
* ipa-polymorphic-call.c (struct type_change_info): Change
speculative to an unsigned allowing to limit the work we do.
(csftc_abort_walking_p): New inline function..
(check_stmt_for_type_change): Limit the number of may-defs
skipped for speculative devirtualization to
max-speculative-devirt-maydefs.
* params.def (max-speculative-devirt-maydefs): New param.
* doc/invoke.texi (--param max-speculative-devirt-maydefs): Document.
Co-Authored-By: Richard Biener <rguenther@suse.de>
From-SVN: r234546
Diffstat (limited to 'gcc/doc')
-rw-r--r-- | gcc/doc/invoke.texi | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index ed1ad62..e9763d4 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -9601,6 +9601,11 @@ Enable emission of special debug stores within HSA kernels which are then read and reported by libgomp plugin. Generation of these stores is disabled by default, use @option{--param hsa-gen-debug-stores=1} to enable it. + +@item max-speculative-devirt-maydefs +The maximum number of may-defs we analyze when looking for a must-def +specifying the dynamic type of an object that invokes a virtual call +we may be able to devirtualize speculatively. @end table @end table |