This is the mail archive of the gcc-patches@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]

Re: condition DCE of partially dead calls


On Fri, May 30, 2008 at 12:11 AM, Xinliang David Li <davidxl@google.com> wrote:
> 2) Enabled only when target float format is IEEE format.

+  /* The limit constants used in the implementation
+     assume IEEE floating point format.  Other formats
+     can be supported in the future if needed.  */
+  return (flag_tree_builtin_call_dce != 0
+          && TARGET_FLOAT_FORMAT == IEEE_FLOAT_FORMAT);

This check is incorrect really as the float format might be different
from the double format which might be different from the long double
format.
Plus REAL_MODE_FORMAT is what you should be checking as
TARGET_FLOAT_FORMAT just supplies the default but REAL_MODE_FORMAT can
be changed:
  if (TARGET_LONG_DOUBLE_128 && !TARGET_IEEEQUAD)
    REAL_MODE_FORMAT (TFmode) = &ibm_extended_format;

Once the spu float format are submitted the spu port will be changed
such TARGET_FLOAT_FORMAT is defined to SPU_FLOAT_FORMAT but the double
format will be ieee.

Thanks,
Andrew Pinski


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