r242086 - in /branches/ARM/sve-branch/gcc: comb...

rsandifo@gcc.gnu.org rsandifo@gcc.gnu.org
Fri Nov 11 16:57:00 GMT 2016


Author: rsandifo
Date: Fri Nov 11 16:57:17 2016
New Revision: 242086

URL: https://gcc.gnu.org/viewcvs?rev=242086&root=gcc&view=rev
Log:
Add a load_extend_op wrapper

LOAD_EXTEND_OP only applies to scalar integer modes that
are narrower than a word.  However, callers weren't
consistent about which of these checks they made beforehand,
and also weren't consistent about whether "smaller" was
based on (bit)size or precision (IMO it's the latter).
This patch adds a wrapper to try to make the macro easier
to use.

LOAD_EXTEND_OP is often used to disable transformations
that aren't beneficial when extends from memory are free,
so being stricter about the check accidentally exposed
more optimisation opportunities.

"SUBREG_BYTE (...) == 0" and subreg_lowpart_p are implied
by paradoxical_subreg_p, so the patch also removes some
redundant tests.

The patch doesn't change reload, since different checks
could have unforeseen consequences.

Modified:
    branches/ARM/sve-branch/gcc/combine.c
    branches/ARM/sve-branch/gcc/cse.c
    branches/ARM/sve-branch/gcc/fold-const.c
    branches/ARM/sve-branch/gcc/fwprop.c
    branches/ARM/sve-branch/gcc/postreload.c
    branches/ARM/sve-branch/gcc/rtl.h
    branches/ARM/sve-branch/gcc/rtlanal.c



More information about the Gcc-cvs mailing list