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]

[PTR-PLUS] Fix the matrix testcase failures


Hi,
  The problem here is the new pass was not ready to handle 
POINTER_PLUS_EXPR (this is why we should merge it in sooner than later, I 
will send out a status to the gcc@ list later about other issues and 
such).  This patch adds support for POINTER_PLUS_EXPR to matrix-reorg.c.

Note I was able to remove a comment about checking for integal types 
because the second operand is now always an integal type.

Committed to the branch after a bootstrap/test on i686-linux-gnu with no 
regressions and the matrix testcases now all pass.

Thanks,
Andrew Pinski


ChangeLog:

        * matrix-reorg.c (collect_data_for_malloc_call): Stmt
        will now only be either INDIRECT_REF and POINTER_PLUS_EXPR.
        Offset only holds something for PLUS_EXPR.
        (ssa_accessed_in_tree): Handle POINTER_PLUS_EXPR just as
        a PLUS_EXPR.
        (analyze_transpose): POINTER_PLUS_EXPR will only show up now
        and not PLUS_EXPR.
        (analyze_accesses_for_modify_stmt): Likewise.
        Remove comment about the type being integral type as it is
        wrong now.
        (analyze_matrix_accesses): Handle POINTER_PLUS_EXPR as
        PLUS_EXPR.
        (transform_access_sites): POINTER_PLUS_EXPR will only show up now
        and not PLUS_EXPR.
        Correct the type which the artimentic is done in (is now 
sizetype).
        Reindent one loop.

Attachment: fixmatrix.diff.txt
Description: Text document


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