This is the mail archive of the gcc-cvs@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]

r242185 - in /branches/ARM/sve-branch/gcc: csel...


Author: rsandifo
Date: Fri Nov 11 17:14:50 2016
New Revision: 242185

URL: https://gcc.gnu.org/viewcvs?rev=242185&root=gcc&view=rev
Log:
Turn HARD_REGNO_CALL_PART_CLOBBERED into a target hook

Later patches will change the size of a machine_mode from
a compile-time constant to a runtime invariant.  Static
type checking forces target-independent code to treat the
modes as runtime invariants unless it has done the work to
prove that they're not.  However, target-specific code can
continue to treat the modes as constant-sized, if that
assumption is correct for the target.

The main snag with this approach is that target-independent
code still uses target-specific macros.  The best fix for
this would of course be to complete the transtion to using
target hooks instead.  However, that's a lot of work,
especially since some of the macros are still used in
preprocessor conditions.

This patch instead adds a MACRO_MODE wrapper that can be
used around mode arguments to target-specific macros.

The first use case is in a partial conversion of
HARD_REGNO_CALL_PART_CLOBBERED to a target hook:
target-independent code now uses the hook, but ports still
define the macro.  It would be good to convert the ports to
define the hook directly, but that's left as future work.

Modified:
    branches/ARM/sve-branch/gcc/cselib.c
    branches/ARM/sve-branch/gcc/doc/tm.texi
    branches/ARM/sve-branch/gcc/doc/tm.texi.in
    branches/ARM/sve-branch/gcc/ira-conflicts.c
    branches/ARM/sve-branch/gcc/ira-costs.c
    branches/ARM/sve-branch/gcc/lra-constraints.c
    branches/ARM/sve-branch/gcc/lra-lives.c
    branches/ARM/sve-branch/gcc/machmode.h
    branches/ARM/sve-branch/gcc/regcprop.c
    branches/ARM/sve-branch/gcc/reginfo.c
    branches/ARM/sve-branch/gcc/regrename.c
    branches/ARM/sve-branch/gcc/regs.h
    branches/ARM/sve-branch/gcc/reload.c
    branches/ARM/sve-branch/gcc/reload1.c
    branches/ARM/sve-branch/gcc/sched-deps.c
    branches/ARM/sve-branch/gcc/sel-sched.c
    branches/ARM/sve-branch/gcc/target.def
    branches/ARM/sve-branch/gcc/targhooks.c
    branches/ARM/sve-branch/gcc/targhooks.h


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