gcc/ChangeLog:

        * tree-sra.c (scalarizable_type_p): Comment variable-length arrays.
        (completely_scalarize): Comment zero-length arrays.
        (get_access_replacement): Correct comment re. precondition.
---
 gcc/tree-sra.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/gcc/tree-sra.c b/gcc/tree-sra.c
index f851758..e15df1f 100644
--- a/gcc/tree-sra.c
+++ b/gcc/tree-sra.c
@@ -956,6 +956,7 @@ scalarizable_type_p (tree type)
        ;
       else if ((tree_to_shwi (TYPE_SIZE (type)) <= 0)
               || !tree_fits_shwi_p (TYPE_MAX_VALUE (TYPE_DOMAIN (type))))
+       /* Variable-length array, do not allow scalarization.  */
        return false;
 
       tree elem = TREE_TYPE (type);
@@ -1005,6 +1006,7 @@ completely_scalarize (tree base, tree decl_type, 
HOST_WIDE_INT offset, tree ref)
        tree minidx = TYPE_MIN_VALUE (TYPE_DOMAIN (decl_type));
        gcc_assert (TREE_CODE (minidx) == INTEGER_CST);
        tree maxidx = TYPE_MAX_VALUE (TYPE_DOMAIN (decl_type));
+       /* Skip (some) zero-length arrays; others have MAXIDX == MINIDX - 1.  */
        if (maxidx)
          {
            gcc_assert (TREE_CODE (maxidx) == INTEGER_CST);
@@ -2146,7 +2148,7 @@ create_access_replacement (struct access *access)
   return repl;
 }
 
-/* Return ACCESS scalar replacement, create it if it does not exist yet.  */
+/* Return ACCESS scalar replacement, which must exist.  */
 
 static inline tree
 get_access_replacement (struct access *access)
-- 
1.9.1

Reply via email to