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

r242231 - in /branches/ARM/sve-branch/gcc: alia...


Author: rsandifo
Date: Fri Nov 11 17:23:26 2016
New Revision: 242231

URL: https://gcc.gnu.org/viewcvs?rev=242231&root=gcc&view=rev
Log:
poly_int: MEM_OFFSET and MEM_SIZE

This patch changes the MEM_OFFSET and MEM_SIZE memory attributes
from HOST_WIDE_INT to poly_int64.  Most of it is mechanical,
but there is one change in behaviour in widen_memory_access.
Previously the main while loop broke with:

      /* Similarly for the decl.  */
      else if (DECL_P (attrs.expr)
               && DECL_SIZE_UNIT (attrs.expr)
               && TREE_CODE (DECL_SIZE_UNIT (attrs.expr)) == INTEGER_CST
               && compare_tree_int (DECL_SIZE_UNIT (attrs.expr), size) >= 0
               && (! attrs.offset_known_p || attrs.offset >= 0))
        break;

but it seemed wrong to optimistically assume the best case
when the offset isn't known (and thus might be negative).
The patch therefore drops it when converting the offset
check to the may/must interface.

Modified:
    branches/ARM/sve-branch/gcc/alias.c
    branches/ARM/sve-branch/gcc/cfgcleanup.c
    branches/ARM/sve-branch/gcc/dce.c
    branches/ARM/sve-branch/gcc/dwarf2out.c
    branches/ARM/sve-branch/gcc/emit-rtl.c
    branches/ARM/sve-branch/gcc/emit-rtl.h
    branches/ARM/sve-branch/gcc/print-rtl.c
    branches/ARM/sve-branch/gcc/rtl.h
    branches/ARM/sve-branch/gcc/rtlanal.c
    branches/ARM/sve-branch/gcc/simplify-rtx.c
    branches/ARM/sve-branch/gcc/var-tracking.c


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