public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug rtl-optimization/63210] ira does not select the best register compared with gcc 4.8 for ARM THUMB1
[not found] <bug-63210-4@http.gcc.gnu.org/bugzilla/>
@ 2014-09-09 6:07 ` zhenqiang.chen at arm dot com
2014-09-24 7:01 ` zqchen at gcc dot gnu.org
` (4 subsequent siblings)
5 siblings, 0 replies; 6+ messages in thread
From: zhenqiang.chen at arm dot com @ 2014-09-09 6:07 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63210
--- Comment #1 from Zhenqiang Chen <zhenqiang.chen at arm dot com> ---
Here is a workaround patch to show the point.
diff --git a/gcc/ira-color.c b/gcc/ira-color.c
index e2ea359..1573fb5 100644
--- a/gcc/ira-color.c
+++ b/gcc/ira-color.c
@@ -1709,6 +1709,8 @@ assign_hard_reg (ira_allocno_t a, bool retry_p)
{
ira_allocno_t conflict_a = OBJECT_ALLOCNO (conflict_obj);
enum reg_class conflict_aclass;
+ HARD_REG_SET prof_regs;
+ prof_regs = ALLOCNO_COLOR_DATA (conflict_a)->profitable_hard_regs;
/* Reload can give another class so we need to check all
allocnos. */
@@ -1780,7 +1782,7 @@ assign_hard_reg (ira_allocno_t a, bool retry_p)
hard_regno = ira_class_hard_regs[aclass][j];
ira_assert (hard_regno >= 0);
k = ira_class_hard_reg_index[conflict_aclass][hard_regno];
- if (k < 0)
+ if (k < 0 || !TEST_HARD_REG_BIT (prof_regs, hard_regno))
continue;
full_costs[j] -= conflict_costs[k];
}
For this case, "r0" is not available for r115. The conflict for r110 on "r0"
maybe meaningless.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug rtl-optimization/63210] ira does not select the best register compared with gcc 4.8 for ARM THUMB1
[not found] <bug-63210-4@http.gcc.gnu.org/bugzilla/>
2014-09-09 6:07 ` [Bug rtl-optimization/63210] ira does not select the best register compared with gcc 4.8 for ARM THUMB1 zhenqiang.chen at arm dot com
@ 2014-09-24 7:01 ` zqchen at gcc dot gnu.org
2014-10-28 12:57 ` ramana at gcc dot gnu.org
` (3 subsequent siblings)
5 siblings, 0 replies; 6+ messages in thread
From: zqchen at gcc dot gnu.org @ 2014-09-24 7:01 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63210
--- Comment #2 from zqchen at gcc dot gnu.org ---
Author: zqchen
Date: Wed Sep 24 07:00:55 2014
New Revision: 215540
URL: https://gcc.gnu.org/viewcvs?rev=215540&root=gcc&view=rev
Log:
ChangeLog:
2014-09-24 Zhenqiang Chen <zhenqiang.chen@arm.com>
PR rtl-optimization/63210
* ira-color.c (assign_hard_reg): Ignore conflict cost if the
HARD_REGNO is not availabe for CONFLICT_A.
testsuite/ChangeLog:
2014-09-24 Zhenqiang Chen <zhenqiang.chen@arm.com>
* gcc.target/arm/pr63210.c: New test.
Added:
trunk/gcc/testsuite/gcc.target/arm/pr63210.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/ira-color.c
trunk/gcc/testsuite/ChangeLog
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug rtl-optimization/63210] ira does not select the best register compared with gcc 4.8 for ARM THUMB1
[not found] <bug-63210-4@http.gcc.gnu.org/bugzilla/>
2014-09-09 6:07 ` [Bug rtl-optimization/63210] ira does not select the best register compared with gcc 4.8 for ARM THUMB1 zhenqiang.chen at arm dot com
2014-09-24 7:01 ` zqchen at gcc dot gnu.org
@ 2014-10-28 12:57 ` ramana at gcc dot gnu.org
2014-10-29 3:30 ` zhenqiang.chen at arm dot com
` (2 subsequent siblings)
5 siblings, 0 replies; 6+ messages in thread
From: ramana at gcc dot gnu.org @ 2014-10-28 12:57 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63210
Ramana Radhakrishnan <ramana at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |ramana at gcc dot gnu.org
Known to work| |4.8.3
Known to fail| |5.0
--- Comment #3 from Ramana Radhakrishnan <ramana at gcc dot gnu.org> ---
Fixed is it? And does it fail in GCC 4.9 ?
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug rtl-optimization/63210] ira does not select the best register compared with gcc 4.8 for ARM THUMB1
[not found] <bug-63210-4@http.gcc.gnu.org/bugzilla/>
` (2 preceding siblings ...)
2014-10-28 12:57 ` ramana at gcc dot gnu.org
@ 2014-10-29 3:30 ` zhenqiang.chen at arm dot com
2014-10-29 9:28 ` ramana at gcc dot gnu.org
2014-12-04 14:19 ` yroux at gcc dot gnu.org
5 siblings, 0 replies; 6+ messages in thread
From: zhenqiang.chen at arm dot com @ 2014-10-29 3:30 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63210
--- Comment #4 from Zhenqiang Chen <zhenqiang.chen at arm dot com> ---
(In reply to Ramana Radhakrishnan from comment #3)
> Fixed is it? And does it fail in GCC 4.9 ?
Fixed on trunk. Same fail in GCC 4.9.
It is a performance issue. Do you think it is OK for 4.9?
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug rtl-optimization/63210] ira does not select the best register compared with gcc 4.8 for ARM THUMB1
[not found] <bug-63210-4@http.gcc.gnu.org/bugzilla/>
` (3 preceding siblings ...)
2014-10-29 3:30 ` zhenqiang.chen at arm dot com
@ 2014-10-29 9:28 ` ramana at gcc dot gnu.org
2014-12-04 14:19 ` yroux at gcc dot gnu.org
5 siblings, 0 replies; 6+ messages in thread
From: ramana at gcc dot gnu.org @ 2014-10-29 9:28 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63210
Ramana Radhakrishnan <ramana at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution|--- |FIXED
Target Milestone|--- |5.0
--- Comment #5 from Ramana Radhakrishnan <ramana at gcc dot gnu.org> ---
(In reply to Zhenqiang Chen from comment #4)
> (In reply to Ramana Radhakrishnan from comment #3)
> > Fixed is it? And does it fail in GCC 4.9 ?
>
> Fixed on trunk. Same fail in GCC 4.9.
>
> It is a performance issue. Do you think it is OK for 4.9?
If it is a 4.9 regression you should be marking it as so in the bug report-
change the title to [4.9 regression] and fill up the "Known to Fail" fields.
I cannot possibly comment if it is suitable for 4.9 branch or not.
I'm marking this as fixed for 5.0 - if you get this backported please remember
to change the target milestone to the appropriate 4.9 milestone.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug rtl-optimization/63210] ira does not select the best register compared with gcc 4.8 for ARM THUMB1
[not found] <bug-63210-4@http.gcc.gnu.org/bugzilla/>
` (4 preceding siblings ...)
2014-10-29 9:28 ` ramana at gcc dot gnu.org
@ 2014-12-04 14:19 ` yroux at gcc dot gnu.org
5 siblings, 0 replies; 6+ messages in thread
From: yroux at gcc dot gnu.org @ 2014-12-04 14:19 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63210
--- Comment #6 from Yvan Roux <yroux at gcc dot gnu.org> ---
Author: yroux
Date: Thu Dec 4 14:19:00 2014
New Revision: 218368
URL: https://gcc.gnu.org/viewcvs?rev=218368&root=gcc&view=rev
Log:
gcc/
2014-12-04 Yvan Roux <yvan.roux@linaro.org>
Backport from trunk r215540.
2014-09-24 Zhenqiang Chen <zhenqiang.chen@arm.com>
PR rtl-optimization/63210
* ira-color.c (assign_hard_reg): Ignore conflict cost if the
HARD_REGNO is not available for CONFLICT_A.
gcc/testsuite/
2014-12-04 Yvan Roux <yvan.roux@linaro.org>
Backport from trunk r215540.
2014-09-24 Zhenqiang Chen <zhenqiang.chen@arm.com>
* gcc.target/arm/pr63210.c: New test.
Added:
branches/linaro/gcc-4_9-branch/gcc/testsuite/gcc.target/arm/pr63210.c
Modified:
branches/linaro/gcc-4_9-branch/gcc/ChangeLog.linaro
branches/linaro/gcc-4_9-branch/gcc/ira-color.c
branches/linaro/gcc-4_9-branch/gcc/testsuite/ChangeLog.linaro
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2014-12-04 14:19 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <bug-63210-4@http.gcc.gnu.org/bugzilla/>
2014-09-09 6:07 ` [Bug rtl-optimization/63210] ira does not select the best register compared with gcc 4.8 for ARM THUMB1 zhenqiang.chen at arm dot com
2014-09-24 7:01 ` zqchen at gcc dot gnu.org
2014-10-28 12:57 ` ramana at gcc dot gnu.org
2014-10-29 3:30 ` zhenqiang.chen at arm dot com
2014-10-29 9:28 ` ramana at gcc dot gnu.org
2014-12-04 14:19 ` yroux at gcc dot gnu.org
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).