public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug optimization/13643] New: __builtin_constant_p() fails to notice known value of member variable
@ 2004-01-11  9:50 bryner at brianryner dot com
  2004-01-11  9:51 ` [Bug optimization/13643] " bryner at brianryner dot com
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: bryner at brianryner dot com @ 2004-01-11  9:50 UTC (permalink / raw)
  To: gcc-bugs

The testcase can probably demonstrate this better than I can verbalize it. 
Basically, I have an object allocated on the stack that initializes a member
variable to a constant.  I then call an inlined function on the object which
wants to use __builtin_constant_p() on the member variable.  The constant check
evaluates to false... it seems like the compiler should have sufficient
information to determine the value of the member variable.  In particular, note
that for struct B in the test case, the |if| in the inline function is optimized
away at compile time.  Therefore it seems like __builtin_constant_p() should
evaluate to true in struct A.

(It should be fairly obvious what I'm trying to do here -- eliminate an
unnecessary call to delete(NULL) when mPtr is known to be null at compile time).

-- 
           Summary: __builtin_constant_p() fails to notice known value of
                    member variable
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: optimization
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: bryner at brianryner dot com
                CC: gcc-bugs at gcc dot gnu dot org
  GCC host triplet: i686-pc-linux-gnu


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


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

* [Bug optimization/13643] __builtin_constant_p() fails to notice known value of member variable
  2004-01-11  9:50 [Bug optimization/13643] New: __builtin_constant_p() fails to notice known value of member variable bryner at brianryner dot com
@ 2004-01-11  9:51 ` bryner at brianryner dot com
  2004-01-11 16:07 ` pinskia at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: bryner at brianryner dot com @ 2004-01-11  9:51 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From bryner at brianryner dot com  2004-01-11 09:51 -------
Created an attachment (id=5450)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=5450&action=view)
testcase

Compiled with:
c++ -Os -c -o test_const.o test_const.cpp

$ c++ -v
Reading specs from /usr/gcc34/lib/gcc/i686-pc-linux-gnu/3.4.0/specs
Configured with: ../gcc/configure --prefix=/usr/gcc34 --enable-shared
--enable-threads=posix --disable-checking --with-system-zlib
--enable-__cxa_atexit --enable-languages=c,c++ --host=i686-pc-linux-gnu
Thread model: posix
gcc version 3.4.0 20040110 (experimental)


-- 


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


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

* [Bug optimization/13643] __builtin_constant_p() fails to notice known value of member variable
  2004-01-11  9:50 [Bug optimization/13643] New: __builtin_constant_p() fails to notice known value of member variable bryner at brianryner dot com
  2004-01-11  9:51 ` [Bug optimization/13643] " bryner at brianryner dot com
  2004-01-11 16:07 ` pinskia at gcc dot gnu dot org
@ 2004-01-11 16:07 ` pinskia at gcc dot gnu dot org
  2004-05-13 20:17 ` [Bug tree-optimization/13643] " pinskia at gcc dot gnu dot org
  3 siblings, 0 replies; 5+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-01-11 16:07 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-01-11 16:07 -------
Fixed on the tree-ssa already so suspending it.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |SUSPENDED


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


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

* [Bug optimization/13643] __builtin_constant_p() fails to notice known value of member variable
  2004-01-11  9:50 [Bug optimization/13643] New: __builtin_constant_p() fails to notice known value of member variable bryner at brianryner dot com
  2004-01-11  9:51 ` [Bug optimization/13643] " bryner at brianryner dot com
@ 2004-01-11 16:07 ` pinskia at gcc dot gnu dot org
  2004-01-11 16:07 ` pinskia at gcc dot gnu dot org
  2004-05-13 20:17 ` [Bug tree-optimization/13643] " pinskia at gcc dot gnu dot org
  3 siblings, 0 replies; 5+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-01-11 16:07 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-01-11 16:07 -------
Confirmed on the mainline but ...

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|normal                      |enhancement
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|                            |1
           Keywords|                            |pessimizes-code
   Last reconfirmed|0000-00-00 00:00:00         |2004-01-11 16:07:05
               date|                            |
   Target Milestone|---                         |tree-ssa
            Version|unknown                     |3.4.0


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


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

* [Bug tree-optimization/13643] __builtin_constant_p() fails to notice known value of member variable
  2004-01-11  9:50 [Bug optimization/13643] New: __builtin_constant_p() fails to notice known value of member variable bryner at brianryner dot com
                   ` (2 preceding siblings ...)
  2004-01-11 16:07 ` pinskia at gcc dot gnu dot org
@ 2004-05-13 20:17 ` pinskia at gcc dot gnu dot org
  3 siblings, 0 replies; 5+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-05-13 20:17 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-05-13 11:33 -------
Fixed for 3.5.0 by the merge of the tree-ssa.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|SUSPENDED                   |RESOLVED
          Component|rtl-optimization            |tree-optimization
         Resolution|                            |FIXED
   Target Milestone|tree-ssa                    |3.5.0


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


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

end of thread, other threads:[~2004-05-13 11:33 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-01-11  9:50 [Bug optimization/13643] New: __builtin_constant_p() fails to notice known value of member variable bryner at brianryner dot com
2004-01-11  9:51 ` [Bug optimization/13643] " bryner at brianryner dot com
2004-01-11 16:07 ` pinskia at gcc dot gnu dot org
2004-01-11 16:07 ` pinskia at gcc dot gnu dot org
2004-05-13 20:17 ` [Bug tree-optimization/13643] " pinskia at gcc dot gnu dot 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).