public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Alexander Monakov <amonakov@ispras.ru>
To: "Jose E. Marchesi" <jose.marchesi@oracle.com>
Cc: Richard Biener <richard.guenther@gmail.com>,
	 Qing Zhao <qing.zhao@oracle.com>,
	gcc-patches@gcc.gnu.org
Subject: Re: [PATCH V2] Disable sched1 in functions that call setjmp
Date: Sat, 24 Dec 2022 13:18:02 +0300 (MSK)	[thread overview]
Message-ID: <1a49a999-b0ac-84e4-d4dc-f366c86b06b0@ispras.ru> (raw)
In-Reply-To: <87edsp86ni.fsf@oracle.com>


On Sat, 24 Dec 2022, Jose E. Marchesi wrote:

> However, there is something I don't understand: wouldn't sched2
> introduce the same problem when -fsched2-use-superblocks is specified?

Superblocks are irrelevant, a call instruction does not end a basic block
and the problematic motion happens within a BB on your testcase. Didn't you
ask about this already?

> In that case, the option a) would need to be expanded to disable sched2
> as well, and b) wouldn't have effect (!after_reload)?

See my response to Qing Zhao, I think due to special-casing of pseudos
that are live at setjmp during register allocation, sched2 will not move
them in such manner (they should be assigned to memory and I don't expect
sched2 will move such MEMs across calls). But of course there may be holes
in this theory.

On some targets disabling sched2 is not so easy because it's responsible
for VLIW packing (bundling on ia64).

Alexander

  parent reply	other threads:[~2022-12-24 10:18 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-22 17:32 Jose E. Marchesi
2022-12-22 17:56 ` Alexander Monakov
2022-12-22 19:28   ` Qing Zhao
2022-12-23  7:33     ` Alexander Monakov
2022-12-23 14:34       ` Qing Zhao
2022-12-23 15:03         ` Alexander Monakov
2022-12-23 17:27           ` Jose E. Marchesi
2022-12-23 17:31             ` Alexander Monakov
2022-12-23 17:45               ` Jose E. Marchesi
2022-12-23 19:21               ` Qing Zhao
2022-12-23 19:36                 ` Alexander Monakov
2022-12-23 19:57                   ` Qing Zhao
2022-12-24  8:10                     ` Alexander Monakov
2022-12-24  9:26                       ` Richard Biener
2022-12-24  9:58                         ` Jose E. Marchesi
2022-12-24 10:06                           ` Richard Biener
2022-12-24 10:18                           ` Alexander Monakov [this message]
2022-12-26  0:29                           ` Segher Boessenkool
2023-01-05 18:11                       ` Qing Zhao
2022-12-23 10:05   ` Richard Sandiford
2022-12-23 10:42     ` Jose E. Marchesi
2023-01-13 18:20       ` [PATCH] sched-deps: do not schedule pseudos across calls [PR108117] Alexander Monakov
2023-01-13 18:23         ` Richard Sandiford
2023-01-13 18:33         ` Jose E. Marchesi

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=1a49a999-b0ac-84e4-d4dc-f366c86b06b0@ispras.ru \
    --to=amonakov@ispras.ru \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=jose.marchesi@oracle.com \
    --cc=qing.zhao@oracle.com \
    --cc=richard.guenther@gmail.com \
    /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: link
Be 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).