* [Bug inline-asm/16194] [3.4/4.0/4.1 Regression] global register with inline-asm and clobered
[not found] <bug-16194-8804@http.gcc.gnu.org/bugzilla/>
@ 2005-10-30 22:38 ` mmitchel at gcc dot gnu dot org
2006-01-31 22:15 ` [Bug inline-asm/16194] [3.4/4.0/4.1/4.2 " amylaar at gcc dot gnu dot org
` (9 subsequent siblings)
10 siblings, 0 replies; 13+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2005-10-30 22:38 UTC (permalink / raw)
To: gcc-bugs
------- Comment #13 from mmitchel at gcc dot gnu dot org 2005-10-30 22:38 -------
Set to P2; I'd like to fix this, if possible, since it's hard enough to write
extended asm code without getting ICEs.
--
mmitchel at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Priority|P3 |P2
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16194
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug inline-asm/16194] [3.4/4.0/4.1/4.2 Regression] global register with inline-asm and clobered
[not found] <bug-16194-8804@http.gcc.gnu.org/bugzilla/>
2005-10-30 22:38 ` [Bug inline-asm/16194] [3.4/4.0/4.1 Regression] global register with inline-asm and clobered mmitchel at gcc dot gnu dot org
@ 2006-01-31 22:15 ` amylaar at gcc dot gnu dot org
2006-02-01 15:32 ` hp at gcc dot gnu dot org
` (8 subsequent siblings)
10 siblings, 0 replies; 13+ messages in thread
From: amylaar at gcc dot gnu dot org @ 2006-01-31 22:15 UTC (permalink / raw)
To: gcc-bugs
------- Comment #14 from amylaar at gcc dot gnu dot org 2006-01-31 22:15 -------
(In reply to comment #9)
> Patch here: <http://gcc.gnu.org/ml/gcc-patches/2005-01/msg00868.html>.
Considering the issues Jeffrey Law has brought up, a function that calls itself
recursively for subexpressions seems to be a better fit.
doc/tm.texi also advertises the use of decl_overlaps_hard_reg_set_p for use in
target ports; in order to make this function really useful, it should
incorporate this scanning of subexpressions. Its only current target-specific
use, in cris/cris.c , also seems like it would make more sense if this
functionality
was included.
--
amylaar at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |joern dot rennecke at st dot
| |com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16194
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug inline-asm/16194] [3.4/4.0/4.1/4.2 Regression] global register with inline-asm and clobered
[not found] <bug-16194-8804@http.gcc.gnu.org/bugzilla/>
2005-10-30 22:38 ` [Bug inline-asm/16194] [3.4/4.0/4.1 Regression] global register with inline-asm and clobered mmitchel at gcc dot gnu dot org
2006-01-31 22:15 ` [Bug inline-asm/16194] [3.4/4.0/4.1/4.2 " amylaar at gcc dot gnu dot org
@ 2006-02-01 15:32 ` hp at gcc dot gnu dot org
2006-02-01 21:56 ` amylaar at gcc dot gnu dot org
` (7 subsequent siblings)
10 siblings, 0 replies; 13+ messages in thread
From: hp at gcc dot gnu dot org @ 2006-02-01 15:32 UTC (permalink / raw)
To: gcc-bugs
------- Comment #15 from hp at gcc dot gnu dot org 2006-02-01 15:32 -------
(In reply to comment #14)
I'm not surprised that decl_overlaps_hard_reg_set_p is only used in
config/cris/cris.c or that it may seem limited in its implementation.
It's just a convenience function invented for it's current use.
It's a recent change too, see ChangeLog-2005. Nice to hear it has
potential for other uses too. Having it scan subexpressions seems
useful. Don't forget to update the head comment, adding
"... or a sub-expression referring to an asm-declared register"
or something to the effect of describing the extended functionality.
--
hp at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC|hp at axis dot com |hp at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16194
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug inline-asm/16194] [3.4/4.0/4.1/4.2 Regression] global register with inline-asm and clobered
[not found] <bug-16194-8804@http.gcc.gnu.org/bugzilla/>
` (2 preceding siblings ...)
2006-02-01 15:32 ` hp at gcc dot gnu dot org
@ 2006-02-01 21:56 ` amylaar at gcc dot gnu dot org
2006-02-09 19:17 ` amylaar at gcc dot gnu dot org
` (6 subsequent siblings)
10 siblings, 0 replies; 13+ messages in thread
From: amylaar at gcc dot gnu dot org @ 2006-02-01 21:56 UTC (permalink / raw)
To: gcc-bugs
------- Comment #16 from amylaar at gcc dot gnu dot org 2006-02-01 21:56 -------
(In reply to comment #15)
> I'm not surprised that decl_overlaps_hard_reg_set_p is only used in
> config/cris/cris.c or that it may seem limited in its implementation.
> It's just a convenience function invented for it's current use.
> It's a recent change too, see ChangeLog-2005. Nice to hear it has
> potential for other uses too. Having it scan subexpressions seems
> useful. Don't forget to update the head comment, adding
> "... or a sub-expression referring to an asm-declared register"
> or something to the effect of describing the extended functionality.
>
Since we are no longer scanning only decls, and I need to return a tree so
that the caller can tell where the problem is,I have named the function that
does the scan differently. See:
http://gcc.gnu.org/ml/gcc-patches/2006-02/msg00087.html
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16194
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug inline-asm/16194] [3.4/4.0/4.1/4.2 Regression] global register with inline-asm and clobered
[not found] <bug-16194-8804@http.gcc.gnu.org/bugzilla/>
` (3 preceding siblings ...)
2006-02-01 21:56 ` amylaar at gcc dot gnu dot org
@ 2006-02-09 19:17 ` amylaar at gcc dot gnu dot org
2006-02-09 20:25 ` [Bug inline-asm/16194] [3.4/4.0/4.1 " pinskia at gcc dot gnu dot org
` (5 subsequent siblings)
10 siblings, 0 replies; 13+ messages in thread
From: amylaar at gcc dot gnu dot org @ 2006-02-09 19:17 UTC (permalink / raw)
To: gcc-bugs
------- Comment #17 from amylaar at gcc dot gnu dot org 2006-02-09 19:17 -------
Subject: Bug 16194
Author: amylaar
Date: Thu Feb 9 19:17:09 2006
New Revision: 110810
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=110810
Log:
PR inline-asm/16194
gcc:
* tree.h (decl_overlaps_hard_reg_set_p) Don't declare.
(tree_overlaps_hard_reg_set): Declare.
* stmt.c (decl_overlaps_hard_reg_set_p): Now static. Change return
type and signature to match function type expected by walk_tree.
(tree_overlaps_hard_reg_set): New function.
(decl_conflicts_with_clobbers_p): Rename to:
(tree_conflicts_with_clobbers_p). Take HARD_REG_SET * argument.
Use tree_overlaps_hard_reg_set. Changed caller.
* doc/tm.texi (TARGET_MD_ASM_CLOBBERS): Replace
decl_overlaps_hard_reg_set_p with tree_overlaps_hard_reg_set.
* cris.c (cris_md_asm_clobbers): Likewise.
gcc/testsuite:
* gcc.dg/pr16194.c: New test.
Added:
trunk/gcc/testsuite/gcc.dg/pr16194.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/cris/cris.c
trunk/gcc/doc/tm.texi
trunk/gcc/stmt.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree.h
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16194
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug inline-asm/16194] [3.4/4.0/4.1 Regression] global register with inline-asm and clobered
[not found] <bug-16194-8804@http.gcc.gnu.org/bugzilla/>
` (4 preceding siblings ...)
2006-02-09 19:17 ` amylaar at gcc dot gnu dot org
@ 2006-02-09 20:25 ` pinskia at gcc dot gnu dot org
2006-02-09 21:53 ` amylaar at gcc dot gnu dot org
` (4 subsequent siblings)
10 siblings, 0 replies; 13+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-02-09 20:25 UTC (permalink / raw)
To: gcc-bugs
------- Comment #18 from pinskia at gcc dot gnu dot org 2006-02-09 20:25 -------
Fixed at least on the mainline.
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Known to work|3.2.3 |3.2.3 4.2.0
Summary|[3.4/4.0/4.1/4.2 Regression]|[3.4/4.0/4.1 Regression]
|global register with inline-|global register with inline-
|asm and clobered |asm and clobered
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16194
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug inline-asm/16194] [3.4/4.0/4.1 Regression] global register with inline-asm and clobered
[not found] <bug-16194-8804@http.gcc.gnu.org/bugzilla/>
` (5 preceding siblings ...)
2006-02-09 20:25 ` [Bug inline-asm/16194] [3.4/4.0/4.1 " pinskia at gcc dot gnu dot org
@ 2006-02-09 21:53 ` amylaar at gcc dot gnu dot org
2006-02-14 14:36 ` amylaar at gcc dot gnu dot org
` (3 subsequent siblings)
10 siblings, 0 replies; 13+ messages in thread
From: amylaar at gcc dot gnu dot org @ 2006-02-09 21:53 UTC (permalink / raw)
To: gcc-bugs
------- Comment #19 from amylaar at gcc dot gnu dot org 2006-02-09 21:53 -------
(In reply to comment #17)
I am currently testing the back-merged patch in the 4.1 branch on
i686-pc-linux-gnu native, X sh-elf, X sh64-elf, X arm-elf and X cris-elf.
I have no intention on working on this bug in the other affected branches.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16194
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug inline-asm/16194] [3.4/4.0/4.1 Regression] global register with inline-asm and clobered
[not found] <bug-16194-8804@http.gcc.gnu.org/bugzilla/>
` (6 preceding siblings ...)
2006-02-09 21:53 ` amylaar at gcc dot gnu dot org
@ 2006-02-14 14:36 ` amylaar at gcc dot gnu dot org
2006-03-11 3:21 ` [Bug inline-asm/16194] [3.4/4.0 " mmitchel at gcc dot gnu dot org
` (2 subsequent siblings)
10 siblings, 0 replies; 13+ messages in thread
From: amylaar at gcc dot gnu dot org @ 2006-02-14 14:36 UTC (permalink / raw)
To: gcc-bugs
------- Comment #20 from amylaar at gcc dot gnu dot org 2006-02-14 14:36 -------
Subject: Bug 16194
Author: amylaar
Date: Tue Feb 14 14:36:15 2006
New Revision: 110970
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=110970
Log:
PR inline-asm/16194
2006-01-31 J"orn Rennecke <joern.rennecke@st.com>
gcc:
* tree.h (decl_overlaps_hard_reg_set_p) Don't declare.
(tree_overlaps_hard_reg_set): Declare.
* stmt.c (decl_overlaps_hard_reg_set_p): Now static. Change return
type and signature to match function type expected by walk_tree.
(tree_overlaps_hard_reg_set): New function.
(decl_conflicts_with_clobbers_p): Rename to:
(tree_conflicts_with_clobbers_p). Take HARD_REG_SET * argument.
Use tree_overlaps_hard_reg_set. Changed caller.
* doc/tm.texi (TARGET_MD_ASM_CLOBBERS): Replace
decl_overlaps_hard_reg_set_p with tree_overlaps_hard_reg_set.
* cris.c (cris_md_asm_clobbers): Likewise.
gcc/testsuite:
* gcc.dg/pr16194.c: New test.
Added:
branches/gcc-4_1-branch/gcc/testsuite/gcc.dg/pr16194.c
- copied unchanged from r110810, trunk/gcc/testsuite/gcc.dg/pr16194.c
Modified:
branches/gcc-4_1-branch/gcc/ChangeLog
branches/gcc-4_1-branch/gcc/config/cris/cris.c
branches/gcc-4_1-branch/gcc/doc/tm.texi
branches/gcc-4_1-branch/gcc/stmt.c
branches/gcc-4_1-branch/gcc/testsuite/ChangeLog
branches/gcc-4_1-branch/gcc/tree.h
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16194
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug inline-asm/16194] [3.4/4.0 Regression] global register with inline-asm and clobered
[not found] <bug-16194-8804@http.gcc.gnu.org/bugzilla/>
` (7 preceding siblings ...)
2006-02-14 14:36 ` amylaar at gcc dot gnu dot org
@ 2006-03-11 3:21 ` mmitchel at gcc dot gnu dot org
2007-01-18 2:56 ` [Bug inline-asm/16194] [4.0 " gdr at gcc dot gnu dot org
2007-01-18 3:01 ` pinskia at gcc dot gnu dot org
10 siblings, 0 replies; 13+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2006-03-11 3:21 UTC (permalink / raw)
To: gcc-bugs
--
mmitchel at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|4.0.3 |4.0.4
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16194
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug inline-asm/16194] [4.0 Regression] global register with inline-asm and clobered
[not found] <bug-16194-8804@http.gcc.gnu.org/bugzilla/>
` (8 preceding siblings ...)
2006-03-11 3:21 ` [Bug inline-asm/16194] [3.4/4.0 " mmitchel at gcc dot gnu dot org
@ 2007-01-18 2:56 ` gdr at gcc dot gnu dot org
2007-01-18 3:01 ` pinskia at gcc dot gnu dot org
10 siblings, 0 replies; 13+ messages in thread
From: gdr at gcc dot gnu dot org @ 2007-01-18 2:56 UTC (permalink / raw)
To: gcc-bugs
------- Comment #21 from gdr at gcc dot gnu dot org 2007-01-18 02:56 -------
Fixed in GCC-4.1.x.
Won't fix in GCC-4.0.x
--
gdr at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
Target Milestone|4.0.4 |4.1.2
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16194
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug inline-asm/16194] [4.0 Regression] global register with inline-asm and clobered
[not found] <bug-16194-8804@http.gcc.gnu.org/bugzilla/>
` (9 preceding siblings ...)
2007-01-18 2:56 ` [Bug inline-asm/16194] [4.0 " gdr at gcc dot gnu dot org
@ 2007-01-18 3:01 ` pinskia at gcc dot gnu dot org
10 siblings, 0 replies; 13+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2007-01-18 3:01 UTC (permalink / raw)
To: gcc-bugs
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|4.1.2 |4.1.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16194
^ permalink raw reply [flat|nested] 13+ messages in thread