fold-const.c (fold_ternary_loc): Detect identity permutations.
authorMarc Glisse <marc.glisse@inria.fr>
Tue, 21 Aug 2012 13:27:00 +0000 (15:27 +0200)
committerMarc Glisse <glisse@gcc.gnu.org>
Tue, 21 Aug 2012 13:27:00 +0000 (13:27 +0000)
commit8a3ffc5d39c44c2e7923f5ad39c1b6392c429cb0
treeed52f070800b50c7623028376b73988cddec35ad
parentb6db991c9585c615212f7019484e6d288883ade0
fold-const.c (fold_ternary_loc): Detect identity permutations.

2012-08-21  Marc Glisse  <marc.glisse@inria.fr>

gcc/
* fold-const.c (fold_ternary_loc): Detect identity permutations.
Canonicalize permutations more.
* tree-ssa-forwprop.c (is_combined_permutation_identity): New function.
(simplify_permutation): Likewise.
(ssa_forward_propagate_and_combine): Call it.

gcc/testsuite/
* gcc.dg/tree-ssa/forwprop-19.c: New testcase.
* gcc.dg/fold-perm.c: Likewise.

From-SVN: r190561
gcc/ChangeLog
gcc/fold-const.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/fold-perm.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/forwprop-19.c [new file with mode: 0644]
gcc/tree-ssa-forwprop.c