public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
From: "cvs-commit at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org> To: gcc-bugs@gcc.gnu.org Subject: [Bug middle-end/38474] compile time explosion in dataflow_set_preserve_mem_locs at -O3 Date: Thu, 29 Apr 2021 08:04:10 +0000 [thread overview] Message-ID: <bug-38474-4-0N23kCBbnz@http.gcc.gnu.org/bugzilla/> (raw) In-Reply-To: <bug-38474-4@http.gcc.gnu.org/bugzilla/> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=38474 --- Comment #101 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Richard Biener <rguenth@gcc.gnu.org>: https://gcc.gnu.org/g:c57a8aea0c3ab8394f7dbfa417ee27b4613f63b7 commit r12-280-gc57a8aea0c3ab8394f7dbfa417ee27b4613f63b7 Author: Richard Biener <rguenther@suse.de> Date: Thu Apr 29 08:32:00 2021 +0200 middle-end/38474 - speedup PTA constraint solving In testcases like PR38474 and PR99912 we're seeing very slow PTA solving. One can observe an excessive amount of forwarding, mostly during sd constraint solving. The way we solve the graph does not avoid forwarding the same bits through multiple paths, and especially when such alternate path involves ESCAPED as intermediate this causes the ESCAPED solution to be expanded in receivers. The following adds heuristic to add_graph_edge which adds forwarding edges but also guards the initial solution forwarding (which is the expensive part) to detect the case of ESCAPED receiving the same set and the destination already containing ESCAPED. This speeds up the PTA solving process by more than 50%. 2021-04-29 Richard Biener <rguenther@suse.de> PR middle-end/38474 * tree-ssa-structalias.c (add_graph_edge): Avoid direct forwarding when indirect forwarding through ESCAPED alread happens.
prev parent reply other threads:[~2021-04-29 8:04 UTC|newest] Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top [not found] <bug-38474-4@http.gcc.gnu.org/bugzilla/> 2011-04-28 16:04 ` [Bug middle-end/38474] slow compilation at -O0 due to expand's temp slot goo rguenth at gcc dot gnu.org 2011-12-02 13:06 ` steven at gcc dot gnu.org 2011-12-02 13:25 ` matz at gcc dot gnu.org 2012-05-27 23:24 ` steven at gcc dot gnu.org 2012-05-29 7:53 ` Joost.VandeVondele at mat dot ethz.ch 2012-05-29 13:09 ` matz at gcc dot gnu.org 2012-05-29 13:12 ` matz at gcc dot gnu.org 2012-05-29 15:08 ` hubicka at gcc dot gnu.org 2012-05-29 16:00 ` jamborm at gcc dot gnu.org 2012-06-15 14:56 ` matz at gcc dot gnu.org 2012-06-15 15:13 ` matz at gcc dot gnu.org 2012-06-15 15:26 ` Joost.VandeVondele at mat dot ethz.ch 2012-06-26 14:26 ` jamborm at gcc dot gnu.org 2012-06-26 14:45 ` matz at gcc dot gnu.org 2012-06-26 14:58 ` rguenth at gcc dot gnu.org 2012-06-26 15:01 ` jamborm at gcc dot gnu.org 2012-06-29 14:34 ` jamborm at gcc dot gnu.org 2012-07-02 15:28 ` jamborm at gcc dot gnu.org 2012-07-02 15:44 ` jamborm at gcc dot gnu.org 2012-07-02 15:53 ` jamborm at gcc dot gnu.org 2012-08-28 8:25 ` steven at gcc dot gnu.org 2012-08-28 11:28 ` Joost.VandeVondele at mat dot ethz.ch 2012-08-28 14:55 ` Joost.VandeVondele at mat dot ethz.ch 2012-08-28 15:07 ` steven at gcc dot gnu.org 2013-03-06 11:01 ` [Bug middle-end/38474] compile time explosion in dataflow_set_preserve_mem_locs at -O3 steven at gcc dot gnu.org 2013-03-07 10:32 ` rguenth at gcc dot gnu.org 2013-03-07 14:55 ` rguenth at gcc dot gnu.org 2013-12-06 13:43 ` rguenth at gcc dot gnu.org 2013-12-06 14:20 ` rguenth at gcc dot gnu.org 2013-12-09 15:13 ` rguenth at gcc dot gnu.org 2013-12-10 12:31 ` rguenth at gcc dot gnu.org 2021-02-10 14:52 ` rguenth at gcc dot gnu.org 2021-02-10 15:03 ` rguenth at gcc dot gnu.org 2021-02-10 15:46 ` rguenth at gcc dot gnu.org 2021-02-10 15:47 ` rguenth at gcc dot gnu.org 2021-02-10 15:51 ` jakub at gcc dot gnu.org 2021-02-10 15:55 ` rguenther at suse dot de 2021-02-10 16:02 ` rguenth at gcc dot gnu.org 2021-02-10 16:06 ` jakub at gcc dot gnu.org 2021-02-10 16:06 ` rguenth at gcc dot gnu.org 2021-02-10 16:28 ` rguenth at gcc dot gnu.org 2021-02-10 16:49 ` jakub at gcc dot gnu.org 2021-02-11 9:32 ` rguenth at gcc dot gnu.org 2021-02-12 8:57 ` cvs-commit at gcc dot gnu.org 2021-02-12 10:29 ` rguenth at gcc dot gnu.org 2021-02-12 10:35 ` rguenth at gcc dot gnu.org 2021-02-12 11:42 ` cvs-commit at gcc dot gnu.org 2021-02-12 14:40 ` rguenth at gcc dot gnu.org 2021-02-16 12:38 ` cvs-commit at gcc dot gnu.org 2021-04-29 8:04 ` cvs-commit at gcc dot gnu.org [this message]
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=bug-38474-4-0N23kCBbnz@http.gcc.gnu.org/bugzilla/ \ --to=gcc-bugzilla@gcc.gnu.org \ --cc=gcc-bugs@gcc.gnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).