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]

Re: Use predicates for RTL objects


Updated patchset now including target subdirs. I have tested all of them
by building cross-compilers and comparing object files (except for
tilegx which doesn't appear to build any more in trunk).

Patches are attached as tar.gz as its too big otherwise.

gcc/ChangeLog:

2019-08-05  Arvind Sankar  <nivedita@alum.mit.edu>

	* rtl.h: Add CONST_VECTOR_P and CONST_STRING_P.
	* gcc/alias.c, gcc/asan.c, gcc/bb-reorder.c, gcc/bt-load.c: Use predicate macros for rtx_code comparisons.
	* gcc/builtins.c, gcc/caller-save.c, gcc/calls.c, gcc/cfgbuild.c: Likewise.
	* gcc/cfgcleanup.c, gcc/cfgexpand.c, gcc/cfgrtl.c, gcc/combine-stack-adj.c: Likewise.
	* gcc/combine.c, gcc/common.md, gcc/cprop.c, gcc/cse.c, gcc/cselib.c: Likewise.
	* gcc/dbxout.c, gcc/defaults.h, gcc/df-core.c, gcc/df-problems.c, gcc/df-scan.c: Likewise.
	* gcc/df.h, gcc/dojump.c, gcc/dse.c, gcc/dwarf2asm.c, gcc/dwarf2out.c: Likewise.
	* gcc/emit-rtl.c, gcc/explow.c, gcc/expmed.c, gcc/expr.c, gcc/final.c: Likewise.
	* gcc/function.c, gcc/fwprop.c, gcc/gcse-common.c, gcc/gcse.c, gcc/genattrtab.c: Likewise.
	* gcc/genpreds.c, gcc/genrecog.c, gcc/gensupport.c, gcc/ifcvt.c: Likewise.
	* gcc/internal-fn.c, gcc/ira-build.c, gcc/ira-conflicts.c, gcc/ira-costs.c: Likewise.
	* gcc/ira-emit.c, gcc/ira-lives.c, gcc/ira.c, gcc/jump.c, gcc/loop-doloop.c: Likewise.
	* gcc/loop-invariant.c, gcc/loop-iv.c, gcc/loop-unroll.c, gcc/lower-subreg.c: Likewise.
	* gcc/lra-constraints.c, gcc/lra-eliminations.c, gcc/lra.c, gcc/mode-switching.c: Likewise.
	* gcc/modulo-sched.c, gcc/optabs.c, gcc/postreload-gcse.c, gcc/postreload.c: Likewise.
	* gcc/print-rtl.c, gcc/read-rtl-function.c, gcc/read-rtl.c, gcc/recog.c: Likewise.
	* gcc/ree.c, gcc/reg-stack.c, gcc/regcprop.c, gcc/reginfo.c, gcc/regrename.c: Likewise.
	* gcc/reload.c, gcc/reload1.c, gcc/reorg.c, gcc/resource.c, gcc/rtl.c: Likewise.
	* gcc/rtlanal.c, gcc/rtlhooks.c, gcc/sched-deps.c, gcc/sched-rgn.c: Likewise.
	* gcc/sel-sched.c, gcc/simplify-rtx.c, gcc/symtab.c, gcc/tree-ssa-address.c: Likewise.
	* gcc/valtrack.c, gcc/var-tracking.c, gcc/varasm.c, gcc/xcoffout.h: Likewise.
	* gcc/config/aarch64/aarch64-simd.md, gcc/config/aarch64/aarch64-sve.md: Likewise.
	* gcc/config/aarch64/aarch64.c, gcc/config/aarch64/aarch64.md: Likewise.
	* gcc/config/aarch64/predicates.md: Likewise.
	* gcc/config/alpha/alpha.c, gcc/config/alpha/alpha.md, gcc/config/alpha/predicates.md, 
	* gcc/config/arc/arc.c, gcc/config/arc/arc.h, gcc/config/arc/arc.md: Likewise.
	* gcc/config/arc/fpx.md, gcc/config/arc/predicates.md, gcc/config/arc/simdext.md, 
	* gcc/config/arm/aarch-common.c, gcc/config/arm/arm.c, gcc/config/arm/arm.h: Likewise.
	* gcc/config/arm/arm.md, gcc/config/arm/predicates.md, gcc/config/arm/thumb1.md, 
	* gcc/config/avr/avr.c: Likewise.
	* gcc/config/bfin/bfin.c, gcc/config/bfin/bfin.h, gcc/config/bfin/bfin.md: Likewise.
	* gcc/config/bfin/predicates.md: Likewise.
	* gcc/config/c6x/c6x.c, gcc/config/c6x/c6x.h, gcc/config/c6x/c6x.md: Likewise.
	* gcc/config/c6x/predicates.md: Likewise.
	* gcc/config/cr16/cr16.c, gcc/config/cr16/cr16.h, gcc/config/cr16/cr16.md: Likewise.
	* gcc/config/cr16/predicates.md: Likewise.
	* gcc/config/cris/cris.c, gcc/config/cris/cris.h, gcc/config/cris/cris.md, 
	* gcc/config/csky/constraints.md, gcc/config/csky/csky.c, gcc/config/csky/csky.h: Likewise.
	* gcc/config/csky/csky.md, gcc/config/csky/predicates.md: Likewise.
	* gcc/config/darwin.c, gcc/config/darwin.h: Likewise.
	* gcc/config/epiphany/epiphany.c, gcc/config/epiphany/epiphany.h: Likewise.
	* gcc/config/epiphany/epiphany.md, gcc/config/epiphany/predicates.md: Likewise.
	* gcc/config/fr30/fr30.c, gcc/config/fr30/fr30.h, gcc/config/fr30/fr30.md: Likewise.
	* gcc/config/fr30/predicates.md: Likewise.
	* gcc/config/frv/frv.c, gcc/config/frv/frv.h, gcc/config/frv/frv.md: Likewise.
	* gcc/config/frv/predicates.md, 
	* gcc/config/ft32/constraints.md, gcc/config/ft32/ft32.c: Likewise.
	* gcc/config/ft32/ft32.md, gcc/config/ft32/predicates.md, 
	* gcc/config/gcn/gcn-valu.md, gcc/config/gcn/gcn.c, 
	* gcc/config/gcn/gcn.md, gcc/config/gcn/predicates.md, 
	* gcc/config/h8300/h8300.c, gcc/config/h8300/h8300.h, 
	* gcc/config/h8300/h8300.md, gcc/config/h8300/predicates.md, 
	* gcc/config/i386/i386-expand.c, gcc/config/i386/i386-features.c: Likewise.
	* gcc/config/i386/i386.c, gcc/config/i386/i386.h, gcc/config/i386/i386.md: Likewise.
	* gcc/config/i386/predicates.md, gcc/config/i386/sse.md, gcc/config/i386/winnt.c: Likewise.
	* gcc/config/ia64/ia64.c, gcc/config/ia64/ia64.md, gcc/config/ia64/predicates.md: Likewise.
	* gcc/config/ia64/vect.md, gcc/config/iq2000/iq2000.c: Likewise.
	* gcc/config/iq2000/iq2000.h, gcc/config/iq2000/iq2000.md: Likewise.
	* gcc/config/iq2000/predicates.md: Likewise.
	* gcc/config/lm32/lm32.c, gcc/config/lm32/lm32.h, gcc/config/lm32/lm32.md, 
	* gcc/config/m32c/addsub.md, gcc/config/m32c/m32c.c, 
	* gcc/config/m32c/muldiv.md, gcc/config/m32c/predicates.md, 
	* gcc/config/m32r/constraints.md, gcc/config/m32r/m32r.c, gcc/config/m32r/m32r.h: Likewise.
	* gcc/config/m32r/m32r.md, gcc/config/m32r/predicates.md, 
	* gcc/config/m68k/constraints.md, gcc/config/m68k/m68k.c, gcc/config/m68k/m68k.h: Likewise.
	* gcc/config/m68k/m68k.md, gcc/config/m68k/predicates.md, 
	* gcc/config/mcore/constraints.md, gcc/config/mcore/mcore.c: Likewise.
	* gcc/config/mcore/mcore.h, gcc/config/mcore/mcore.md: Likewise.
	* gcc/config/mcore/predicates.md, 
	* gcc/config/microblaze/constraints.md, gcc/config/microblaze/microblaze.c: Likewise.
	* gcc/config/microblaze/microblaze.h, gcc/config/microblaze/microblaze.md: Likewise.
	* gcc/config/microblaze/predicates.md, 
	* gcc/config/mips/mips.c, gcc/config/mips/mips.md, gcc/config/mips/predicates.md: Likewise.
	* gcc/config/mmix/mmix.c, gcc/config/mmix/mmix.md, gcc/config/mmix/predicates.md, 
	* gcc/config/mn10300/constraints.md, gcc/config/mn10300/mn10300.c: Likewise.
	* gcc/config/mn10300/mn10300.h, gcc/config/mn10300/mn10300.md: Likewise.
	* gcc/config/mn10300/predicates.md, 
	* gcc/config/moxie/constraints.md, gcc/config/moxie/moxie.c, 
	* gcc/config/moxie/moxie.md, gcc/config/moxie/predicates.md, 
	* gcc/config/msp430/msp430.c, gcc/config/msp430/msp430.md, 
	* gcc/config/nds32/constraints.md, gcc/config/nds32/nds32-cost.c: Likewise.
	* gcc/config/nds32/nds32-dspext.md, gcc/config/nds32/nds32-fp-as-gp.c: Likewise.
	* gcc/config/nds32/nds32-intrinsic.c, gcc/config/nds32/nds32-md-auxiliary.c: Likewise.
	* gcc/config/nds32/nds32-memory-manipulation.c: Likewise.
	* gcc/config/nds32/nds32-multiple.md: Likewise.
	* gcc/config/nds32/nds32-pipelines-auxiliary.c: Likewise.
	* gcc/config/nds32/nds32-predicates.c, gcc/config/nds32/nds32-relax-opt.c: Likewise.
	* gcc/config/nds32/nds32-utils.c, gcc/config/nds32/nds32.c: Likewise.
	* gcc/config/nds32/nds32.h, gcc/config/nds32/nds32.md: Likewise.
	* gcc/config/nds32/predicates.md: Likewise.
	* gcc/config/nios2/nios2.c, gcc/config/nios2/predicates.md: Likewise.
	* gcc/config/nvptx/nvptx.c, gcc/config/nvptx/nvptx.md: Likewise.
	* gcc/config/or1k/or1k.c, 
	* gcc/config/pa/pa.c, gcc/config/pa/pa.h, 
	* gcc/config/pa/pa.md, gcc/config/pa/predicates.md, 
	* gcc/config/pdp11/pdp11.c, gcc/config/pdp11/pdp11.md, 
	* gcc/config/pru/predicates.md, gcc/config/pru/pru.c, gcc/config/pru/pru.md: Likewise.
	* gcc/config/riscv/constraints.md, gcc/config/riscv/riscv.c, gcc/config/riscv/riscv.md, 
	* gcc/config/rl78/constraints.md, gcc/config/rl78/rl78-expand.md: Likewise.
	* gcc/config/rl78/rl78.c, gcc/config/rl78/rl78.h: Likewise.
	* gcc/config/rs6000/freebsd64.h, gcc/config/rs6000/linux64.h: Likewise.
	* gcc/config/rs6000/predicates.md, gcc/config/rs6000/rs6000-p8swap.c: Likewise.
	* gcc/config/rs6000/rs6000.c, gcc/config/rs6000/rs6000.h: Likewise.
	* gcc/config/rs6000/rtems.h, gcc/config/rs6000/sysv4.h: Likewise.
	* gcc/config/rs6000/xcoff.h: Likewise.
	* gcc/config/rx/constraints.md, gcc/config/rx/rx.c, gcc/config/rx/rx.h: Likewise.
	* gcc/config/rx/rx.md: Likewise.
	* gcc/config/s390/predicates.md, gcc/config/s390/s390.c: Likewise.
	* gcc/config/s390/s390.h, gcc/config/s390/s390.md: Likewise.
	* gcc/config/sh/predicates.md, gcc/config/sh/sh.c: Likewise.
	* gcc/config/sh/sh.h, gcc/config/sh/sh.md: Likewise.
	* gcc/config/sparc/predicates.md, gcc/config/sparc/sparc.c, gcc/config/sparc/sparc.md, 
	* gcc/config/spu/constraints.md, gcc/config/spu/predicates.md: Likewise.
	* gcc/config/spu/spu-builtins.md, gcc/config/spu/spu.c: Likewise.
	* gcc/config/spu/spu.h, gcc/config/spu/spu.md, 
	* gcc/config/stormy16/predicates.md, gcc/config/stormy16/stormy16.c, 
	* gcc/config/tilegx/predicates.md, 
	* gcc/config/tilegx/tilegx.c, gcc/config/tilegx/tilegx.md, 
	* gcc/config/tilepro/predicates.md, gcc/config/tilepro/tilepro.c, 
	* gcc/config/v850/constraints.md, gcc/config/v850/predicates.md: Likewise.
	* gcc/config/v850/v850.c, gcc/config/v850/v850.md: Likewise.
	* gcc/config/vax/predicates.md, gcc/config/vax/vax.c, gcc/config/vax/vax.md, 
	* gcc/config/visium/predicates.md, 
	* gcc/config/visium/visium.c, gcc/config/visium/visium.md, 
	* gcc/config/xtensa/predicates.md, gcc/config/xtensa/xtensa.c: Likewise.
	* gcc/config/xtensa/xtensa.h, gcc/config/xtensa/xtensa.md: Likewise.

Attachment: rtl-predicate.tar.gz
Description: Binary data


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