This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug optimization/12282] builtin function return value ignored


PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

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


steven at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |dnovillo at redhat dot com
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|                            |1
   Last reconfirmed|0000-00-00 00:00:00         |2003-09-15 07:23:08
               date|                            |


------- Additional Comments From steven at gcc dot gnu dot org  2003-09-15 07:23 -------
It's another "DCE kills necessary store" bug.  Here's the tree DCE dump for the
first DCE run:

Processing worklist:
processing: exit (0)
processing: foo (r.5_11)
Marking useful stmt: r.5_11 = &r
Marking useful stmt: T.4_8 = 1.41421353816986083984375e+0
processing: T.4_8 = 1.41421353816986083984375e+0
processing: r.5_11 = &r
                                                                                
Eliminating unnecessary instructions:
Deleting : q_10 = T.4_8
Deleting : r = T.3_5
Deleting : T.3_5 = 1.41421353816986083984375e+0
Deleting : r.2_4 = 2.0e+0
Deleting : q_3 = 2.0e+0
Deleting : r = 2.0e+0
                                                                                
;; Function main (main)
                                                                                
main ()
{
  float r.2;
  float T.3;
  float T.4;
  float * r.5;
  float r;
  float q;
  extern  exit;
                                                                                
                                                                                
  # BLOCK 0.  PRED: -1.  SUCC:.
  (void)0;
  (void)0;
  (void)0;
  (void)0;
  (void)0;
  T.4_8 = 1.41421353816986083984375e+0;
  (void)0;
  r.5_11 = &r;
                                                                                
  #   r_12 = VDEF <r_9>;
  foo (r.5_11);
  exit (0);
}


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]