> Am 24.12.2022 um 09:11 schrieb Alexander Monakov via Gcc-patches > <gcc-patches@gcc.gnu.org>: > > >> On Fri, 23 Dec 2022, Qing Zhao wrote: >> >> BTW, Why sched1 is not enabled on x86 by default? > > Register allocation is tricky on x86 due to small number of general-purpose > registers, and sched1 can make it even more difficult. I think before register > pressure modeling was added, sched1 could not be enabled because then > allocation > would sometimes fail, and now there's no incentive to enable it, as it is not > so > important for modern x86 CPUs. Perhaps someone else has a more comprehensive > answer. > >> Another question is: As discussed in the original bug PR57067: >> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57067 The root cause of this >> issue related to the abnormal control flow edges (from setjmp/longjmp) cannot >> be represented correctly at RTL stage, shall we fix this root cause instead? > > You'd need an experienced reviewer to work with you, especially on high-level > design decisions such as "How ABNORMAL_DISPATCHER should be represented on > RTL". > I'm afraid it's not just a matter of applying a small patch in one place. For nonlocal goto we Thread the abnormal dispatcher. Of course by regenerating abnormal edges, not by keeping and modifying them. We cannot re-generate the (optimal) set of abnormal edges for setjmp so we want to preserve those edges. But as you say it’s a very non-trivial change. Richard > Alexander
Re: [PATCH V2] Disable sched1 in functions that call setjmp
Richard Biener via Gcc-patches Sat, 24 Dec 2022 01:27:19 -0800
- Re: [PATCH V2] Disable sched1 in fu... Alexander Monakov via Gcc-patches
- Re: [PATCH V2] Disable sched1 i... Qing Zhao via Gcc-patches
- Re: [PATCH V2] Disable sche... Alexander Monakov via Gcc-patches
- Re: [PATCH V2] Disable ... Jose E. Marchesi via Gcc-patches
- Re: [PATCH V2] Dis... Alexander Monakov via Gcc-patches
- Re: [PATCH V2] Dis... Jose E. Marchesi via Gcc-patches
- Re: [PATCH V2] Dis... Qing Zhao via Gcc-patches
- Re: [PATCH V2] Dis... Alexander Monakov via Gcc-patches
- Re: [PATCH V2] Dis... Qing Zhao via Gcc-patches
- Re: [PATCH V2] Dis... Alexander Monakov via Gcc-patches
- Re: [PATCH V2] Dis... Richard Biener via Gcc-patches
- Re: [PATCH V2] Dis... Jose E. Marchesi via Gcc-patches
- Re: [PATCH V2] Dis... Richard Biener via Gcc-patches
- Re: [PATCH V2] Dis... Alexander Monakov via Gcc-patches
- Re: [PATCH V2] Dis... Segher Boessenkool
- Re: [PATCH V2] Dis... Qing Zhao via Gcc-patches
- Re: [PATCH V2] Disable sched1 in functio... Richard Sandiford via Gcc-patches
- Re: [PATCH V2] Disable sched1 in fu... Jose E. Marchesi via Gcc-patches
- [PATCH] sched-deps: do not sche... Alexander Monakov
- Re: [PATCH] sched-deps: do ... Richard Sandiford via Gcc-patches
- Re: [PATCH] sched-deps: do ... Jose E. Marchesi via Gcc-patches