r242309 - in /branches/ARM/sve-branch/gcc: expr...

rsandifo@gcc.gnu.org rsandifo@gcc.gnu.org
Fri Nov 11 17:38:00 GMT 2016


Author: rsandifo
Date: Fri Nov 11 17:38:23 2016
New Revision: 242309

URL: https://gcc.gnu.org/viewcvs?rev=242309&root=gcc&view=rev
Log:
Make ivopts handle calls to internal functions

ivopts previously treated pointer arguments to internal functions
like IFN_MASK_LOAD and IFN_MASK_STORE as normal gimple values.
This patch makes it treat them as addresses instead.  This makes
a significant difference to the code quality for SVE loops,
since we can then use loads and stores with scaled indices.

The patch also adds support for ADDR_EXPRs of TARGET_MEM_REFs,
which are the natural way of representing the result of the
ivopts transformation.

Added:
    branches/ARM/sve-branch/gcc/testsuite/gcc.target/aarch64/sve_loop_add_2.c
    branches/ARM/sve-branch/gcc/testsuite/gcc.target/aarch64/sve_loop_add_3.c
Modified:
    branches/ARM/sve-branch/gcc/expr.c
    branches/ARM/sve-branch/gcc/gimple-expr.c
    branches/ARM/sve-branch/gcc/gimple-expr.h
    branches/ARM/sve-branch/gcc/internal-fn.c
    branches/ARM/sve-branch/gcc/testsuite/gcc.dg/tree-ssa/scev-10.c
    branches/ARM/sve-branch/gcc/testsuite/gcc.dg/tree-ssa/scev-11.c
    branches/ARM/sve-branch/gcc/testsuite/gcc.dg/tree-ssa/scev-12.c
    branches/ARM/sve-branch/gcc/testsuite/gcc.dg/tree-ssa/scev-9.c
    branches/ARM/sve-branch/gcc/testsuite/gcc.target/aarch64/sve_while_1.c
    branches/ARM/sve-branch/gcc/testsuite/gcc.target/aarch64/sve_while_2.c
    branches/ARM/sve-branch/gcc/testsuite/gcc.target/aarch64/sve_while_3.c
    branches/ARM/sve-branch/gcc/testsuite/gcc.target/aarch64/sve_while_4.c
    branches/ARM/sve-branch/gcc/tree-ssa-loop-ivopts.c



More information about the Gcc-cvs mailing list