Simplify creation of target_clones (PR lto/66295)
authorMartin Liska <mliska@suse.cz>
Fri, 3 Feb 2017 15:22:47 +0000 (16:22 +0100)
committerMartin Liska <marxin@gcc.gnu.org>
Fri, 3 Feb 2017 15:22:47 +0000 (15:22 +0000)
commit46a2ab580a762b0fc3e64dc4ab24d459a4bd1fd2
treefab289c285703064b0e0cefe1edc142fb8fff07c
parent31a31c9dc19b0a20a69c282b8760147bf79e37a6
Simplify creation of target_clones (PR lto/66295)

2017-02-03  Martin Liska  <mliska@suse.cz>

PR lto/66295
* multiple_target.c (create_dispatcher_calls): Redirect edge
from a caller of a dispatcher.
(expand_target_clones): Make the clones local.
(ipa_target_clone): Do both target clones and resolvers.
(ipa_dispatcher_calls): Remove the pass.
(pass_dispatcher_calls::gate): Likewise.
(make_pass_dispatcher_calls): Likewise.
* passes.def (pass_target_clone): Put as very first IPA early
pass.
2017-02-03  Martin Liska  <mliska@suse.cz>

PR lto/66295
* gcc.target/i386/mvc9.c: New test.

From-SVN: r245155
gcc/ChangeLog
gcc/multiple_target.c
gcc/passes.def
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/mvc9.c [new file with mode: 0644]