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]

[patch] PR tree-optimization/26359 (creating memtags during vectorization)


Pass dce-loop is removing the entire body of the loop in the attached
testcase, after the loop has been vectorized, because
is_hidden_global_store returns false for the vectorized store stmt. This is
because the new memtag we create for the new vector pointer that is used in
the vectorized store is not marked as global. This patch fixes that, and
also sets other fields in the new memtag (inspired by the function
create_sft). Is this ok?

Bootstrapped and tested on the vectorizer testcases on powerpc-linux.

ok for mainline?

thanks,
dorit

:ADDPATCH SSA:

Changelog:
        PR tree-optimization/26359
        * tree-ssa-alias.c (new_type_alias): Set fields for new tag.

testsuite/Changelog:
        PR tree-optimizations/26359
        * gcc.dg/vect/vect.exp: Compile tests prefixed with
"dump-tree-dceloop"
        with -fdump-tree-dceloop-details.
        * gcc.dg/vect/dump-tree-dceloop-pr26359.c: New test.

(See attached file: pr26359.patch.txt)

Attachment: pr26359.patch.txt
Description: Text document


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