1. 04 Mar, 2015 4 commits
  2. 03 Mar, 2015 27 commits
    • re PR target/65249 (unable to find a register to spill in class 'R0_REGS' when… · ac841cf7
      re PR target/65249 (unable to find a register to spill in class 'R0_REGS' when compiling protobuf on sh4)
      
      PR target/65249
      * config/sh/sh.md (symGOT_load): Use R0 reg for operands[2] when
        called for __stack_chk_guard symbol.
      
      From-SVN: r221165
      Kaz Kojima committed
    • rl78-real.md (*addqi_real): Allow SADDR types for inc/dec. · f6115d44
      * config/rl78/rl78-real.md (*addqi_real): Allow SADDR types for
      inc/dec.
      (*addhi3_real): Likewise.
      * config/rl78/rl78-virt.md (*inc<mode>3_virt): Additional
      pattern to match incrementing memory.
      * config/rl78/predicates.md (rl78_1_2_operand): New.
      * config/rl78/rl78.c (rl78_force_nonfar_3): Allow far mem-mem if
      it's the same and only mem.
      (rl78_alloc_physical_registers_op2): If there's effectively only
      one MEM, transcode it into HL.
      (rl78_far_p): Reject addresses that aren't legitimate.
      
      From-SVN: r221164
      DJ Delorie committed
    • re PR c++/65295 ([C++1y] constexpr function causes ICE if it returns a local… · bf66b9b4
      re PR c++/65295 ([C++1y] constexpr function causes ICE if it returns a local variable bigger than 16 bytes)
      
      	PR c++/65295
      	* constexpr.c (cxx_eval_constant_expression): Remove assert in
      	RESULT_DECL handling.
      
      From-SVN: r221161
      Aldy Hernandez committed
    • re PR libstdc++/64883 (FAIL: 17_intro/headers/c++*/all_attributes.cc (test for… · 71ca36ba
      re PR libstdc++/64883 (FAIL: 17_intro/headers/c++*/all_attributes.cc (test for excess errors) on x86_64-apple-darwin10)
      
      2015-03-03  Iain Sandoe  <iain@codesourcery.com>
      
      	PR libstdc++/64883
      	* testsuite/17_intro/headers/c++1998/all_attributes.cc: Don't check
      	visibility for Darwin.
      	* testsuite/17_intro/headers/c++200x/all_attributes.cc: Likewise, and
      	also deprecated.
      	* testsuite/17_intro/headers/c++2014/all_attributes.cc: Likewise.
      
      From-SVN: r221160
      Iain Sandoe committed
    • fold-const.c (round_up_loc): Cast divisor to HOST_WIDE_INT before negating it. · 3a5c579a
      	* fold-const.c (round_up_loc): Cast divisor to HOST_WIDE_INT before
      	negating it.
      
      	* tree-sra.c (pa_sra_preliminary_function_checks): Fix typo in message.
      
      From-SVN: r221159
      Eric Botcazou committed
    • Implement call0 ABI for xtensa · 590e2636
      call0 is an ABI that doesn't use register windows.
      
      2015-03-03  Max Filippov  <jcmvbkbc@gmail.com>
      
      gcc/
      	* config/xtensa/constraints.md ("a" constraint): Include stack
      	pointer in case of call0 ABI.
      	("q" constraint): Make empty in case of call0 ABI.
      	("D" constraint): Include stack pointer in case of call0 ABI.
      	* config/xtensa/xtensa-protos.h (xtensa_set_return_address,
      	xtensa_expand_epilogue, xtensa_regno_to_class): Add new function
      	prototypes.
      	* config/xtensa/xtensa.c (xtensa_callee_save_size): New
      	variable.
      	(xtensa_regno_to_class): Make it a local variable in the
      	function xtensa_regno_to_class.
      	(xtensa_function_epilogue, TARGET_ASM_FUNCTION_EPILOGUE): Remove
      	macro, function prototype and implementation.
      	(reg_nonleaf_alloc_order): Make it a local variable in the
      	function order_regs_for_local_alloc.
      	(xtensa_conditional_register_usage): New function.
      	(TARGET_CONDITIONAL_REGISTER_USAGE): Define macro.
      	(xtensa_valid_move): Allow direct moves to stack pointer
      	register in call0 ABI.
      	(xtensa_setup_frame_addresses): Only spill register windows in
      	windowed ABI.
      	(xtensa_emit_call): Emit call(x)8 or call(x)0 in windowed and
      	call0 ABI respectively.
      	(xtensa_function_arg_1): Only mark a7 register for copying in
      	windowed ABI.
      	(xtensa_call_save_reg): New function.
      	(compute_frame_size): Add space for callee saved register
      	storage to the frame size in call0 ABI.
      	(xtensa_expand_prologue): Generate code to set up stack frame
      	and save callee-saved registers in call0 ABI.
      	(xtensa_expand_epilogue): New function.
      	(xtensa_set_return_address): New function.
      	(xtensa_return_addr): Calculate return address in call0 ABI.
      	(xtensa_builtin_saveregs): Only mark a7 register for copying and
      	emit copying code in windowed ABI.
      	(order_regs_for_local_alloc): Add preferred register allocation
      	order for non-leaf function in call0 ABI.
      	(xtensa_static_chain): Add atatic chain passing for call0 ABI.
      	(xtensa_asm_trampoline_template): Add trampoline generation for
      	call0 ABI.
      	(xtensa_trampoline_init): Add trampoline initialization for
      	call0 ABI.
      	(xtensa_conditional_register_usage, xtensa_regno_to_class): New
      	functions.
      	* config/xtensa/xtensa.h (TARGET_WINDOWED_ABI): New macro.
      	(TARGET_CPU_CPP_BUILTINS): Add built-in define for call0 ABI.
      	(CALL_USED_REGISTERS): Modify to encode both windowed and call0
      	ABI call-used registers.
      	(HARD_FRAME_POINTER_REGNUM): Add frame pointer for call0 ABI.
      	(INCOMING_REGNO, OUTGOING_REGNO): Use argument unchanged in
      	call0 ABI.
      	(REG_CLASS_CONTENTS): Include all registers into the preferred
      	reload registers set, adjust the set in the
      	xtensa_conditional_register_usage.
      	(xtensa_regno_to_class): Drop variable declaration.
      	(REGNO_REG_CLASS): Redefine to use xtensa_regno_to_class
      	function.
      	(WINDOW_SIZE): Define as 8 or 0 for windowed and call0 ABI
      	respectively.
      	(FUNCTION_PROFILER): Add _mcount call for call0 ABI.
      	(TRAMPOLINE_SIZE): Define trampoline size for call0 ABI.
      	(RETURN_ADDR_IN_PREVIOUS_FRAME): Define to 0 in call0 ABI.
      	(ASM_OUTPUT_POOL_PROLOGUE): Always generate literal pool
      	location in call0 ABI.
      	(EH_RETURN_STACKADJ_RTX): New definition, use a10 for passing
      	stack adjustment size when handling exception.
      	(CRT_CALL_STATIC_FUNCTION): Add definition for call0 ABI.
      	* config/xtensa/xtensa.md (A9_REG, UNSPECV_BLOCKAGE): New
      	definitions.
      	("return" pattern): Generate ret.n/ret in call0 ABI.
      	("epilogue" pattern): Expand epilogue.
      	("nonlocal_goto" pattern): Use default in call0 ABI.
      	("eh_return" pattern): Move implementation to eh_set_a0_windowed,
      	emit eh_set_a0_* depending on ABI.
      	("eh_set_a0_windowed" pattern): Former eh_return pattern.
      	("eh_set_a0_call0", "blockage"): New patterns.
      
      libgcc/
      	* config/xtensa/lib2funcs.S (__xtensa_libgcc_window_spill,
      	__xtensa_nonlocal_goto): Don't compile for call0 ABI.
      	(__xtensa_sync_caches): Only use entry and retw in windowed ABI,
      	use ret in call0 ABI.
      	* config/xtensa/t-windowed: New file.
      	* libgcc/config/xtensa/t-xtensa (LIB2ADDEH): Move to t-windowed.
      	* libgcc/configure: Regenerated.
      	* libgcc/configure.ac: Check if xtensa target is configured for
      	windowed ABI and thus needs to use custom unwind code.
      
      From-SVN: r221158
      Max Filippov committed
    • re PR ipa/65287 (Current trunk ICE in address_matters_p, at symtab.c:1908) · d76b082e
      
      	PR ipa/65287
      	* gcc.dg/ipa/pr65287.c: New test.
      
      From-SVN: r221157
      Jan Hubicka committed
    • re PR ipa/65287 (Current trunk ICE in address_matters_p, at symtab.c:1908) · 6fb12821
      	PR ipa/65287
      	* ipa-icf.c (sem_variable::parse): Skip all alias variables.
      	* gcc.dg/ipa/pr65287.c: New test.
      
      From-SVN: r221156
      Martin Liska committed
    • PR 65138/target · a6a62c01
      2015-03-03  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	PR 65138/target
      	* config/rs6000/rs6000-tables.opt: Regenerate table.
      
      From-SVN: r221155
      Michael Meissner committed
    • MAINTAINERS: Remove Paul Brook as a Fortran and ARM maintainer. · f2b86778
      	* MAINTAINERS: Remove Paul Brook as a Fortran and ARM
      	maintainer.
      	Remove Richard Henderson as a maintainer for the x86 port.
      
      From-SVN: r221154
      Jeff Law committed
    • [PATCH][DOC]Fix an obvious type in md.texi · 0ab9eed6
      2015-03-03  Renlin Li  <renlin.li@arm.com>
      
      gcc/
      
      	* doc/md.texi (@item ^): ChangeLog ? into ^.
      
      From-SVN: r221152
      Renlin Li committed
    • Regenerate doc/tm.texi · a55bbe13
      	* doc/tm.texi: Regenerated.
      
      From-SVN: r221151
      H.J. Lu committed
    • Turn RETURN_ADDR_IN_PREVIOUS_FRAME into C expression · 2e612c47
      This allows a target to support both windowed and non-windowed ABI.
      
      2015-03-03  Max Filippov  <jcmvbkbc@gmail.com>
      
      gcc/
      	* builtins.c (expand_builtin_return_addr): Add
      	RETURN_ADDR_IN_PREVIOUS_FRAME to 'if' condition, remove
      	surrounding #ifdef.
      	* config/sparc/sparc.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Change
      	definition to 1.
      	* config/xtensa/xtensa.h (RETURN_ADDR_IN_PREVIOUS_FRAME):
      	Likewise.
      	* defaults.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Define to 0 if
      	undefined.
      	* doc/tm.texi.in (RETURN_ADDR_IN_PREVIOUS_FRAME): Update
      	paragraph.
      
      From-SVN: r221150
      Max Filippov committed
    • MAINTAINERS (CPU Port Maintainers): Update my email address. · 9dd44d1c
      2015-03-03  Joern Rennecke  <gnu@amylaar.uk>
      
              * MAINTAINERS (CPU Port Maintainers): Update my email address.
      
      From-SVN: r221149
      Joern Rennecke committed
    • tree-sra.c (ipa_sra_check_caller_data): New type. · ebde4f8e
      2015-03-03  Martin Jambor  <mjambor@suse.cz>
                  Eric Botcazou  <ebotcazou@adacore.com>
      
      gcc/
              * tree-sra.c (ipa_sra_check_caller_data): New type.
              (has_caller_p): Removed.
              (ipa_sra_check_caller): New function.
              (ipa_sra_preliminary_function_checks): Use it.
      
      gcc/changelog/
              * gnat.dg/specs/pack12.ads: New test.
      
      
      
      Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com>
      
      From-SVN: r221148
      Martin Jambor committed
    • ICF: Use bit or instead of if branch. · 21ce14d3
      	* ipa-icf.c (sem_item_optimizer::merge_classes): Use bit or
      	instead of if branch.
      
      From-SVN: r221147
      Martin Liska committed
    • re PR ipa/65282 (wrong code at -Os and above on x86_64-linux-gnu) · 3c031cbe
      Fix PR ipa/65282.
      
      	* gcc.dg/ipa/PR65282.c: New test.
      	PR ipa/65282
      	* ipa-icf.c (sem_variable::equals): Fix wrong condition.
      
      From-SVN: r221146
      Martin Liska committed
    • re PR tree-optimization/65241 (ICE (in remove_local_expressions_from_table, at… · 2f159d9f
      re PR tree-optimization/65241 (ICE (in remove_local_expressions_from_table, at tree-ssa-dom.c:1081))
      
      	PR tree-optimization/65241
      	* tree-ssa-dom.c (lookup_avail_expr): Only modify the avail_expr
      	hash table if INSERT is true.
      
      	PR tree-optimization/65241
      	* gcc.c-torture/compile/pr65241.c: New test.
      
      From-SVN: r221145
      Jeff Law committed
    • re PR target/65296 ([avr] fix various issues with specs file generation) · 5cb8b86e
      	PR target/65296
      	* config.gcc (extra_gcc_objs) [avr-*-rtems*]: Remove.
      
      From-SVN: r221144
      Georg-Johann Lay committed
    • re PR target/64331 (regcprop propagates registers noted as REG_DEAD) · 2b4293a3
      gcc/
      	PR target/64331
      	* config/avr/avr.c (context.h, tree-pass.h): Include them.
      	(avr_pass_data_recompute_notes): New static variable.
      	(avr_pass_recompute_notes): New class.
      	(avr_register_passes): New static function.
      	(avr_option_override): Call it.
      gcc/testsuite/
      	PR target/64331
      	* gcc.target/avr/torture/pr64331.c: New test.
      
      From-SVN: r221143
      Georg-Johann Lay committed
    • Fix various problems with specs file generation. · 38822076
      gcc/
      	Fix various problems with specs file generation.
      	PR target/65296
      	* config.gcc (extra_gcc_objs) [avr]: Remove.
      	* config/avr/driver-avr.c: Remove file.
      	* config/avr/t-avr (driver-avr.o): Remove rule.
      	(gen-avr-mmcu-specs): Use CXX_FOR_BUILD, CXXFLAGS_FOR_BUILD and
      	INCLUDES to build.  Depend on TM_H.
      	* config/avr/gen-avr-mmcu-specs.c: Tidy up code.  Fix various
      	build warnings.  Fix non-matching types and non-existing %-codes.
      	(tm.h): Include.
      	(*lib) [!WITH_AVRLIBC]: Don't link libdev.a.
      	(*libgcc) [WITH_AVRLIBC]: Add "-lm".
      	* config/avr/avrlibc.h (LIBGCC_SPEC): Remove definition.
      	* config/avr/avr.h (DRIVER_SELF_SPECS): Fix handling of -march=.
      	(CPP_SPEC, CC1PLUS_SPEC, ASM_SPEC, LINK_SPEC, LIB_SPEC)
      	(LIBGCC_SPEC): Remove definitions.
      
      From-SVN: r221141
      Georg-Johann Lay committed
    • ia64.c (expand_vec_perm_interleave_2): Use gen_raw_REG to create a register in testing mode. · b4b78e2d
      	* config/ia64/ia64.c (expand_vec_perm_interleave_2): Use gen_raw_REG
      	to create a register in testing mode.
      
      From-SVN: r221139
      Eric Botcazou committed
    • re PR target/65263 (ICE (error: unrecognizable insn / in insn_min_length, at… · 17d1bf76
      re PR target/65263 (ICE (error: unrecognizable insn / in insn_min_length, at config/rs6000/rs6000.md) on powerpc64le-linux-gnu)
      
      Fix PR ipa/65263.
      
      	PR ipa/65263
      	* cgraph.c (cgraph_node::has_thunk_p): New function.
      	* cgraph.h (cgraph_node::has_thunk_p: Likewise.
      	* ipa-icf.c (redirect_all_callers): Do not redirect thunks.
      	(sem_function::merge): Assert is changed.
      	* g++.dg/ipa/pr65263.C: New test.
      
      
      Co-Authored-By: Jan Hubicka <hubicka@ucw.cz>
      
      From-SVN: r221134
      Martin Liska committed
    • re PR ipa/65087 (r220742 causes: ICE: in ipcp_verify_propagated_values, at ipa-cp.c:1057) · bd31fe14
      Fix PR ipa/65087.
      
      	PR ipa/65087
      	* ipa-icf.c (sem_item_optimizer::execute): Change function
      	return value to boolean.
      	(sem_item_optimizer::merge_classes): Likewise.
      	(ipa_icf_driver): Return TODO_remove_functions in case there's
      	a merge operation processed.
      	* ipa-icf.h: Change function return value to boolean.
      
      
      Co-Authored-By: Martin Jambor <mjambor@suse.cz>
      
      From-SVN: r221133
      Martin Liska committed
    • PR 65138/target · 0eef284e
      2015-03-02  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	PR 65138/target
      	* config/rs6000/rs6000-cpus.def (powerpc64le): Add new generic
      	processor type for 64-bit little endian PowerPC.
      
      	* config/rs6000/rs6000.c (rs6000_option_override_internal): If
      	-mdebug=reg, print TARGET_DEFAULT.  Fix logic to use
      	TARGET_DEFAULT if there is no default cpu.  Fix -mdebug=reg
      	printing built-in mask so it does not pass NULL pointers.
      
      	* doc/invoke.texi (IBM RS/6000 and PowerPC options): Document
      	-mcpu=powerpc64le.
      
      From-SVN: r221132
      Michael Meissner committed
    • Daily bump. · a0d62069
      From-SVN: r221131
      GCC Administrator committed
    • re PR target/58158 (ICE with conditional moves on GPRs with a floating point… · 7096a068
      re PR target/58158 (ICE with conditional moves on GPRs with a floating point conditional on mipsel with loongson2f)
      
      2015-03-02  Steve Ellcey  <sellcey@imgtec.com>
      
      	PR target/58158
      	* config/mips/mips.md (mov<mode>cc): Change ISA_HAS_SEL check to
      	!ISA_HAS_FP_CONDMOVE.
      
      From-SVN: r221128
      Steve Ellcey committed
  3. 02 Mar, 2015 9 commits