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]

r273892 - in /branches/ibm/pcrel-trunk/gcc: Cha...


Author: meissner
Date: Mon Jul 29 22:57:23 2019
New Revision: 273892

URL: https://gcc.gnu.org/viewcvs?rev=273892&root=gcc&view=rev
Log:
Add pc-relative linker optimization.

[gcc]
2019-07-29  Michael Meissner  <meissner@linux.ibm.com>

	* config/rs6000/pcrel.md: New file.
	* config/rs6000/predicates.md (one_reg_memory_operand): New
	predicate.
	* config/rs6000/rs6000-cpus.def (ISA_FUTURE_MASKS_SERVER): Add
	-mpcrel-opt.
	(OTHER_FUTURE_MASKS): Add -mpcrel-opt.
	(POWERPC_MASKS): Add -mpcrel-opt.
	* config/rs6000/rs6000-passes.def (pass_pcrel_opt): Add pass.
	* config/rs6000/rs6000-pcrel.c: New file.
	* config/rs6000/rs6000-prefixed.c (pcrel_opt_label_num): New
	static to support -mpcrel-opt.
	(rs6000_final_prescan_insn): Add support for -mpcrel-opt.
	(rs6000_asm_output_opcode): Add support for -mpcrel-opt.
	* config/rs6000/rs6000-protos.h (rs6000_final_prescan_insn):
	Update calling signature.
	(make_pass_pcrel_opt): New declaration.
	(rs6000_option_override_internal): Add checks for -mpcrel-opt.
	(rs6000_opt_masks): Add -mpcrel-opt.
	* config/rs6000/rs6000.h (FINAL_PRESCAN_INSN): Update call to
	rs6000_final_prescan_insn.
	* config/rs6000/rs6000.md (pcrel_opt): New RTL attribute.
	(toplevel): Include pcrel.md.
	* config/rs6000/rs6000.opt (-mpcrel-opt): New option.
	* config/rs6000/t-rs6000 (rs6000-pcrel.o): Add build rules.
	(MD_INCLUDES): Add pcrel.md.
	* config.gcc (powerpc*-*-*): Add rs6000-pcrel.c.
	(rs6000*-*-*): Add rs6000-pcrel.c.

[gcc/testsuite]
2019-07-29  Michael Meissner  <meissner@linux.ibm.com>

	* gcc.target/powerpc/pcrel-opt-di.c: New test for pc-relative
	linker optimizations.


Added:
    branches/ibm/pcrel-trunk/gcc/config/rs6000/pcrel.md
    branches/ibm/pcrel-trunk/gcc/config/rs6000/rs6000-pcrel.c
    branches/ibm/pcrel-trunk/gcc/testsuite/gcc.target/powerpc/pcrel-opt-di.c
Modified:
    branches/ibm/pcrel-trunk/gcc/ChangeLog.meissner
    branches/ibm/pcrel-trunk/gcc/config.gcc
    branches/ibm/pcrel-trunk/gcc/config/rs6000/predicates.md
    branches/ibm/pcrel-trunk/gcc/config/rs6000/rs6000-cpus.def
    branches/ibm/pcrel-trunk/gcc/config/rs6000/rs6000-passes.def
    branches/ibm/pcrel-trunk/gcc/config/rs6000/rs6000-prefixed.c
    branches/ibm/pcrel-trunk/gcc/config/rs6000/rs6000-protos.h
    branches/ibm/pcrel-trunk/gcc/config/rs6000/rs6000.c
    branches/ibm/pcrel-trunk/gcc/config/rs6000/rs6000.h
    branches/ibm/pcrel-trunk/gcc/config/rs6000/rs6000.md
    branches/ibm/pcrel-trunk/gcc/config/rs6000/rs6000.opt
    branches/ibm/pcrel-trunk/gcc/config/rs6000/t-rs6000
    branches/ibm/pcrel-trunk/gcc/testsuite/ChangeLog.meissner


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