https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79985
Alexander Monakov changed:
What|Removed |Added
Status|NEW |RESOLVED
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79985
--- Comment #9 from Alexander Monakov ---
Author: amonakov
Date: Wed May 23 15:01:28 2018
New Revision: 260613
URL: https://gcc.gnu.org/viewcvs?rev=260613=gcc=rev
Log:
df-scan: remove ad-hoc handling of global regs in asms
PR
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79985
--- Comment #8 from Alexander Monakov ---
Unfortunately the above doesn't fully address the issue, as schedulers and
other passes still have no idea that DF makes those assumptions and will allow
reordering of asms:
register int r asm("ebx");
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79985
--- Comment #7 from Alexander Monakov ---
Or rather like this:
diff --git a/gcc/df-scan.c b/gcc/df-scan.c
index 95e1e0df2d5..732705c0385 100644
--- a/gcc/df-scan.c
+++ b/gcc/df-scan.c
@@ -3207,11 +3207,11 @@ df_insn_refs_collect (struct
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79985
Alexander Monakov changed:
What|Removed |Added
Assignee|unassigned at gcc dot gnu.org |amonakov at gcc dot
gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79985
--- Comment #5 from Andrey Belevantsev ---
Well, we can special case this in sel-sched either along the lines of
df-scan.c, or even easier, just forbid any asm reordering given the DF hunk.
Generally speaking, we've been bitten a couple of
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79985
--- Comment #4 from Alexander Monakov ---
It might have been nicer to adjust asms themselves, adding inputs/outputs for
each global reg, if we must pretend the asms implicitly read/write them. That
would allow any subsystem (df, sched-deps,
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79985
--- Comment #3 from Alexander Monakov ---
Since r235809, in df-scan.c:df_insn_refs_collect, there's
3233 if (asm_noperands (PATTERN (insn_info->insn)) >= 0)
3234 for (unsigned i = 0; i < FIRST_PSEUDO_REGISTER; i++)
3235 if
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79985
--- Comment #2 from Segher Boessenkool ---
Fails with -O2 -fselective-scheduling -mcpu=power8; also on BE, does not
fail with power7. Confirmed.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79985
Alexander Monakov changed:
What|Removed |Added
Status|UNCONFIRMED |NEW
Last reconfirmed|
10 matches
Mail list logo