public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug middle-end/50232] New: [4.7 Regression] reorg.c:3971: undefined reference to `make_return_insns'
@ 2011-08-30  4:31 danglin at gcc dot gnu.org
  2011-08-30  8:15 ` [Bug middle-end/50232] " rguenth at gcc dot gnu.org
                   ` (8 more replies)
  0 siblings, 9 replies; 10+ messages in thread
From: danglin at gcc dot gnu.org @ 2011-08-30  4:31 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50232

             Bug #: 50232
           Summary: [4.7 Regression] reorg.c:3971: undefined reference to
                    `make_return_insns'
    Classification: Unclassified
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: middle-end
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: danglin@gcc.gnu.org
              Host: hppa-unknown-linux-gnu
            Target: hppa-unknown-linux-gnu
             Build: hppa-unknown-linux-gnu


gcc   -g -fkeep-inline-functions -DIN_GCC   -W -Wall -Wwrite-strings
-Wcast-qual
 -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic
-Wno-long-long -Wno-variadic-macros -Wno-overlength-strings
-Wold-style-definitio
n -Wc++-compat -fno-common  -DHAVE_CONFIG_H  -o cc1plus \
              cp/cp-lang.o c-family/stub-objc.o cp/call.o cp/decl.o cp/expr.o
cp
/pt.o cp/typeck2.o cp/class.o cp/decl2.o cp/error.o cp/lex.o cp/parser.o
cp/ptre
e.o cp/rtti.o cp/typeck.o cp/cvt.o cp/except.o cp/friend.o cp/init.o
cp/method.o cp/search.o cp/semantics.o cp/tree.o cp/repo.o cp/dump.o
cp/optimize.o cp/mangl
e.o cp/cp-objcp-common.o cp/name-lookup.o cp/cxx-pretty-print.o
cp/cp-gimplify.o
 tree-mudflap.o attribs.o incpath.o c-family/c-common.o c-family/c-cppbuiltin.o 
c-family/c-dump.o c-family/c-format.o c-family/c-gimplify.o c-family/c-lex.o
c-f
amily/c-omp.o c-family/c-opts.o c-family/c-pch.o c-family/c-ppoutput.o
c-family/
c-pragma.o c-family/c-pretty-print.o c-family/c-semantics.o
c-family/c-ada-spec.
o default-c.o cc1plus-checksum.o main.o tree-browser.o libbackend.a
libcommon-ta
rget.a libcommon.a ../libcpp/libcpp.a ../libdecnumber/libdecnumber.a
libcommon.a
 ../libcpp/libcpp.a   ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a   
 -lmpc -lmpfr -lgmp -rdynamic -ldl  -L../zlib -lz
libbackend.a(reorg.o): In function `dbr_schedule':
/home/dave/gnu/gcc/objdir/gcc/../../gcc/gcc/reorg.c:3971: undefined reference
to `make_return_insns'


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug middle-end/50232] [4.7 Regression] reorg.c:3971: undefined reference to `make_return_insns'
  2011-08-30  4:31 [Bug middle-end/50232] New: [4.7 Regression] reorg.c:3971: undefined reference to `make_return_insns' danglin at gcc dot gnu.org
@ 2011-08-30  8:15 ` rguenth at gcc dot gnu.org
  2011-08-30 12:10 ` bernds at gcc dot gnu.org
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: rguenth at gcc dot gnu.org @ 2011-08-30  8:15 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50232

Richard Guenther <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2011-08-30
                 CC|                            |bernds at gcc dot gnu.org
   Target Milestone|---                         |4.7.0
     Ever Confirmed|0                           |1

--- Comment #1 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-08-30 07:24:54 UTC ---
Confirmed.  Misses some #ifdef (relies on optimization otherwise).

Bernd, seems to be caused by your patch.


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug middle-end/50232] [4.7 Regression] reorg.c:3971: undefined reference to `make_return_insns'
  2011-08-30  4:31 [Bug middle-end/50232] New: [4.7 Regression] reorg.c:3971: undefined reference to `make_return_insns' danglin at gcc dot gnu.org
  2011-08-30  8:15 ` [Bug middle-end/50232] " rguenth at gcc dot gnu.org
@ 2011-08-30 12:10 ` bernds at gcc dot gnu.org
  2011-08-30 14:39 ` dave.anglin at bell dot net
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: bernds at gcc dot gnu.org @ 2011-08-30 12:10 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50232

--- Comment #2 from Bernd Schmidt <bernds at gcc dot gnu.org> 2011-08-30 11:31:34 UTC ---
Ugh, code prettyfication gone wrong. Will fix.

However, you'll probably also want to add "return" patterns to PA for
optimization.


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug middle-end/50232] [4.7 Regression] reorg.c:3971: undefined reference to `make_return_insns'
  2011-08-30  4:31 [Bug middle-end/50232] New: [4.7 Regression] reorg.c:3971: undefined reference to `make_return_insns' danglin at gcc dot gnu.org
  2011-08-30  8:15 ` [Bug middle-end/50232] " rguenth at gcc dot gnu.org
  2011-08-30 12:10 ` bernds at gcc dot gnu.org
@ 2011-08-30 14:39 ` dave.anglin at bell dot net
  2011-08-30 15:30 ` bernds at gcc dot gnu.org
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: dave.anglin at bell dot net @ 2011-08-30 14:39 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50232

--- Comment #3 from dave.anglin at bell dot net 2011-08-30 14:29:10 UTC ---
On 8/30/2011 7:31 AM, bernds at gcc dot gnu.org wrote:
> However, you'll probably also want to add "return" patterns to PA for
> optimization.
>
I don't think the conditions required to define a "return" pattern are 
met.  Possibly,
a "simple_return" pattern could be defined.  Is this what you are 
suggesting?

Dave


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug middle-end/50232] [4.7 Regression] reorg.c:3971: undefined reference to `make_return_insns'
  2011-08-30  4:31 [Bug middle-end/50232] New: [4.7 Regression] reorg.c:3971: undefined reference to `make_return_insns' danglin at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2011-08-30 14:39 ` dave.anglin at bell dot net
@ 2011-08-30 15:30 ` bernds at gcc dot gnu.org
  2011-08-31  5:42 ` dave.anglin at bell dot net
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: bernds at gcc dot gnu.org @ 2011-08-30 15:30 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50232

--- Comment #4 from Bernd Schmidt <bernds at gcc dot gnu.org> 2011-08-30 15:06:05 UTC ---
Surely the PA has some kind of return instruction?
Most ports define a "return" pattern with an insn condition that requires that
the epilogue is empty. In that case, jumps to the end of the function will be
replaced by return instructions. Also, the "return" pattern can in this case
emit either a "return" or a "simple_return" rtx; they are equivalent if there
is no epilogue.

You can define a "simple_return" pattern, but it will only gain anything once
the final shrink-wrapping bits are in.


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug middle-end/50232] [4.7 Regression] reorg.c:3971: undefined reference to `make_return_insns'
  2011-08-30  4:31 [Bug middle-end/50232] New: [4.7 Regression] reorg.c:3971: undefined reference to `make_return_insns' danglin at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2011-08-30 15:30 ` bernds at gcc dot gnu.org
@ 2011-08-31  5:42 ` dave.anglin at bell dot net
  2011-09-03 16:22 ` danglin at gcc dot gnu.org
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: dave.anglin at bell dot net @ 2011-08-31  5:42 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50232

--- Comment #5 from dave.anglin at bell dot net 2011-08-31 01:10:16 UTC ---
On 30-Aug-11, at 11:06 AM, bernds at gcc dot gnu.org wrote:

> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50232
>
> --- Comment #4 from Bernd Schmidt <bernds at gcc dot gnu.org>  
> 2011-08-30 15:06:05 UTC ---
> Surely the PA has some kind of return instruction?
> Most ports define a "return" pattern with an insn condition that  
> requires that
> the epilogue is empty. In that case, jumps to the end of the  
> function will be
> replaced by return instructions. Also, the "return" pattern can in  
> this case
> emit either a "return" or a "simple_return" rtx; they are equivalent  
> if there
> is no epilogue.


Thanks.  I'm testing a patch.

Dave
--
John David Anglin    dave.anglin@bell.net


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug middle-end/50232] [4.7 Regression] reorg.c:3971: undefined reference to `make_return_insns'
  2011-08-30  4:31 [Bug middle-end/50232] New: [4.7 Regression] reorg.c:3971: undefined reference to `make_return_insns' danglin at gcc dot gnu.org
                   ` (4 preceding siblings ...)
  2011-08-31  5:42 ` dave.anglin at bell dot net
@ 2011-09-03 16:22 ` danglin at gcc dot gnu.org
  2011-09-03 16:31 ` danglin at gcc dot gnu.org
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: danglin at gcc dot gnu.org @ 2011-09-03 16:22 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50232

--- Comment #6 from John David Anglin <danglin at gcc dot gnu.org> 2011-09-03 16:21:38 UTC ---
Author: danglin
Date: Sat Sep  3 16:21:27 2011
New Revision: 178500

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=178500
Log:
    PR Bug middle-end/50232
    * config/pa/pa.md (return): Define "return" insn pattern.
    (epilogue): Use it when no epilogue is needed.
    * config/pa/pa.c (pa_can_use_return_insn): New function.
    * config/pa/pa-protos.h (pa_can_use_return_insn): Declare.


Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/pa/pa-protos.h
    trunk/gcc/config/pa/pa.c
    trunk/gcc/config/pa/pa.md


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug middle-end/50232] [4.7 Regression] reorg.c:3971: undefined reference to `make_return_insns'
  2011-08-30  4:31 [Bug middle-end/50232] New: [4.7 Regression] reorg.c:3971: undefined reference to `make_return_insns' danglin at gcc dot gnu.org
                   ` (5 preceding siblings ...)
  2011-09-03 16:22 ` danglin at gcc dot gnu.org
@ 2011-09-03 16:31 ` danglin at gcc dot gnu.org
  2011-10-10 12:30 ` rguenth at gcc dot gnu.org
  2012-03-12 17:08 ` danglin at gcc dot gnu.org
  8 siblings, 0 replies; 10+ messages in thread
From: danglin at gcc dot gnu.org @ 2011-09-03 16:31 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50232

--- Comment #7 from John David Anglin <danglin at gcc dot gnu.org> 2011-09-03 16:30:42 UTC ---
Author: danglin
Date: Sat Sep  3 16:30:32 2011
New Revision: 178501

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=178501
Log:
    PR middle-end/50232
    Correct log entry for last change.


Modified:
    trunk/gcc/ChangeLog


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug middle-end/50232] [4.7 Regression] reorg.c:3971: undefined reference to `make_return_insns'
  2011-08-30  4:31 [Bug middle-end/50232] New: [4.7 Regression] reorg.c:3971: undefined reference to `make_return_insns' danglin at gcc dot gnu.org
                   ` (6 preceding siblings ...)
  2011-09-03 16:31 ` danglin at gcc dot gnu.org
@ 2011-10-10 12:30 ` rguenth at gcc dot gnu.org
  2012-03-12 17:08 ` danglin at gcc dot gnu.org
  8 siblings, 0 replies; 10+ messages in thread
From: rguenth at gcc dot gnu.org @ 2011-10-10 12:30 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50232

Richard Guenther <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED

--- Comment #8 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-10-10 12:30:19 UTC ---
Fixed.


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug middle-end/50232] [4.7 Regression] reorg.c:3971: undefined reference to `make_return_insns'
  2011-08-30  4:31 [Bug middle-end/50232] New: [4.7 Regression] reorg.c:3971: undefined reference to `make_return_insns' danglin at gcc dot gnu.org
                   ` (7 preceding siblings ...)
  2011-10-10 12:30 ` rguenth at gcc dot gnu.org
@ 2012-03-12 17:08 ` danglin at gcc dot gnu.org
  8 siblings, 0 replies; 10+ messages in thread
From: danglin at gcc dot gnu.org @ 2012-03-12 17:08 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50232

--- Comment #9 from John David Anglin <danglin at gcc dot gnu.org> 2012-03-12 17:08:28 UTC ---
Author: danglin
Date: Mon Mar 12 17:08:20 2012
New Revision: 185252

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=185252
Log:
    Backport from mainline
    2011-09-03  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>

    PR Bug middle-end/50232
    * config/pa/pa.md (return): Define "return" insn pattern.
    (epilogue): Use it when no epilogue is needed.
    * config/pa/pa.c (pa_can_use_return_insn): New function.
    * config/pa/pa-protos.h (pa_can_use_return_insn): Declare.


Modified:
    branches/gcc-4_6-branch/gcc/ChangeLog
    branches/gcc-4_6-branch/gcc/config/pa/pa-protos.h
    branches/gcc-4_6-branch/gcc/config/pa/pa.c
    branches/gcc-4_6-branch/gcc/config/pa/pa.md


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2012-03-12 17:08 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-08-30  4:31 [Bug middle-end/50232] New: [4.7 Regression] reorg.c:3971: undefined reference to `make_return_insns' danglin at gcc dot gnu.org
2011-08-30  8:15 ` [Bug middle-end/50232] " rguenth at gcc dot gnu.org
2011-08-30 12:10 ` bernds at gcc dot gnu.org
2011-08-30 14:39 ` dave.anglin at bell dot net
2011-08-30 15:30 ` bernds at gcc dot gnu.org
2011-08-31  5:42 ` dave.anglin at bell dot net
2011-09-03 16:22 ` danglin at gcc dot gnu.org
2011-09-03 16:31 ` danglin at gcc dot gnu.org
2011-10-10 12:30 ` rguenth at gcc dot gnu.org
2012-03-12 17:08 ` danglin 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).