2016-03-30 Michael Matz <matz@suse.de>
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 30 Mar 2016 07:47:40 +0000 (07:47 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 30 Mar 2016 07:47:40 +0000 (07:47 +0000)
commit1140bac5775dcffb8df46cb2f5a97d6d2ab93c58
tree5dd64bc5ae9caf164ad4a275a4e6b6fbc63d9faf
parent02fff375c001a35154624dce79611afd0c44ca19
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234546 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/doc/invoke.texi
gcc/ipa-polymorphic-call.c
gcc/params.def