1. 29 May, 2014 10 commits
    • Fix rtl-check build · ed00b1fb
      2014-05-29  Tom de Vries  <tom@codesourcery.com>
      
      	* rtl.h (BLOCK_SYMBOL_CHECK): Use SYMBOL_REF_FLAGS.
      
      From-SVN: r211057
      Tom de Vries committed
    • bool_set: Use UTF-8 for accented characters. · 710d672b
      	* include/tr2/bool_set: Use UTF-8 for accented characters.
      	* scripts/run_doxygen: Handle Doxygen 1.8.x change.
      	* doc/doxygen/user.cfg.in: Update to Doxygen 1.8.6 format. Set
      	QUIET=YES, remove obsolete SYMBOL_CACHE_SIZE tag.
      
      From-SVN: r211053
      Jonathan Wakely committed
    • extend.texi: Rewrite inline asm page / re-org asm-related pages. · 2556511e
      2014-05-09  David Wohlferd <LimeGreenSocks@yahoo.com>
      	Andrew Haley <aph@redhat.com>
      	Richard Sandiford <rdsandiford@googlemail.com>
      
      	* doc/extend.texi: Rewrite inline asm page / re-org asm-related
      	pages.
      
      From-SVN: r211051
      David Wohlferd committed
    • iterators.md (shiftable_ops): New code iterator. · 004d3809
              * arm/iterators.md (shiftable_ops): New code iterator.
              (t2_binop0, arith_shift_insn): New code attributes.
      	* arm/predicates.md (shift_nomul_operator): New predicate.
              * arm/arm.md (insn_enabled): Delete.
              (enabled): Remove insn_enabled test.
              (*arith_shiftsi): Delete.  Replace with ...
              (*<arith_shift_insn>_multsi): ... new pattern.
      	(*<arith_shift_insn>_shiftsi): ... new pattern.
      	* config/arm/arm.c (arm_print_operand): Handle operand format 'b'.
      
      Co-Authored-By: Richard Sandiford <rdsandiford@googlemail.com>
      
      From-SVN: r211050
      Richard Earnshaw committed
    • -fuse-caller-save - Enable for MIPS · c2db3f3d
      2014-05-29  Radovan Obradovic  <robradovic@mips.com>
                  Tom de Vries  <tom@codesourcery.com>
      
      	* config/mips/mips.h (POST_CALL_TMP_REG): Define.
      	* config/mips/mips.c (mips_emit_call_insn): Add POST_CALL_TMP_REG
      	clobber.
      	(mips_split_call): Use POST_CALL_TMP_REG.
      	(TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS): Redefine to true.
      
      	* gcc.target/mips/mips.exp: Add use-caller-save to -ffoo/-fno-foo
      	options.
      	* gcc.target/mips/fuse-caller-save.h: New include file.
      	* gcc.target/mips/fuse-caller-save.c: New test.
      	* gcc.target/mips/fuse-caller-save-mips16.c: Same.
      	* gcc.target/mips/fuse-caller-save-micromips.c: Same.
      
      Co-Authored-By: Tom de Vries <tom@codesourcery.com>
      
      From-SVN: r211049
      Radovan Obradovic committed
    • pr52252-ld.c: Fix target and options for the test. · 41455f89
      gcc/testsuite/
              * gcc.dg/vect/pr52252-ld.c: Fix target and options for the test.
      
      From-SVN: r211048
      Evgeny Stupachenko committed
    • Fix bootstrap on powerpc64le-linux-gnu · 4b29b965
      2014-05-29  Tom de Vries  <tom@codesourcery.com>
      
      	* final.c (collect_fn_hard_reg_usage): Guard variable declaration
      	with #ifdef STACK_REGS.
      
      From-SVN: r211047
      Tom de Vries committed
    • varasm.c (get_variable_section): Walk aliases. · 726f0774
      
      	* varasm.c (get_variable_section): Walk aliases.
      	(place_block_symbol): Walk aliases.
      
      From-SVN: r211045
      Jan Hubicka committed
    • Daily bump. · 88650827
      From-SVN: r211041
      GCC Administrator committed
    • runtime: disable split stacks for runtime_printf function under Clang · d76a1885
      LLVM's code generator does not currently support split stacks for vararg
      functions, so we disable split stacks for the only function that uses this
      feature under Clang. This appears to be OK as long as:
      - this function only calls non-inlined, internal-linkage (hence no dynamic
        loader) functions compiled with split stacks (i.e. go_vprintf), which can
        allocate more stack space as required;
      - this function itself does not occupy more than BACKOFF bytes of stack space
        (see libgcc/config/i386/morestack.S).
      These conditions are currently known to be satisfied by Clang on x86-32 and
      x86-64. Note that signal handlers receive slightly less stack space than they
      would normally do if they happen to be called while this function is being
      run. If this turns out to be a problem we could consider increasing BACKOFF.
      
      From-SVN: r211037
      Ian Lance Taylor committed
  2. 28 May, 2014 30 commits
    • runtime: fix misc gcc-isms and undefined behavior · 93c521ea
      This includes the use of __complex and __builtin_ functions where
      unprefixed entities would suffice, and the use of a union for
      bit-casting between types.
      
      From-SVN: r211036
      Ian Lance Taylor committed
    • Fix demangler testsuite crashes with CP_DEMANGLE_DEBUG defined · bc2eed9a
      Running the demangler's testsuite with CP_DEMANGLE_DEBUG defined
      crashes, with:
      
       Program received signal SIGSEGV, Segmentation fault.
       0x000000000040a8c3 in d_dump (dc=0x1, indent=12) at ../../src/libiberty/cp-demangle.c:567
       567       switch (dc->type)
      
       (gdb) bt 3
       #0  0x000000000040a8c3 in d_dump (dc=0x1, indent=12) at ../../src/libiberty/cp-demangle.c:567
       #1  0x000000000040ae47 in d_dump (dc=0x7fffffffd098, indent=10) at ../../src/libiberty/cp-demangle.c:787
       #2  0x000000000040ae47 in d_dump (dc=0x7fffffffd0c8, indent=8) at ../../src/libiberty/cp-demangle.c:787
      
      Note dc=0x1, which is obviously a bogus pointer.  This is the end of
      d_dump recursing for a component type that that doesn't actually have
      subtrees:
      
       787       d_dump (d_left (dc), indent + 2);
       788       d_dump (d_right (dc), indent + 2);
      
      This fixes the two cases the testsuite currently trips on.
      
      libiberty/
      2014-05-28  Pedro Alves  <palves@redhat.com>
      
      	* cp-demangle.c (d_dump): Handle DEMANGLE_COMPONENT_FUNCTION_PARAM
      	and DEMANGLE_COMPONENT_NUMBER.
      
      From-SVN: r211035
      Pedro Alves committed
    • Add myself to MAINTAINERS. · fd9ed1ae
      2014-05-28  Pedro Alves  <palves@redhat.com>
      
      	* MAINTAINERS (Write After Approval): Add myself.
      
      From-SVN: r211034
      Pedro Alves committed
    • revert: lra-int.h (struct lra_reg): Add field actual_call_used_reg_set. · ea0b381f
      2014-05-28  Tom de Vries  <tom@codesourcery.com>
      
      	Revert:
      	2014-05-28  Tom de Vries  <tom@codesourcery.com>
      
      	* lra-int.h (struct lra_reg): Add field actual_call_used_reg_set.
      	* lra.c (initialize_lra_reg_info_element): Add init of
      	actual_call_used_reg_set field.
      	(lra): Call lra_create_live_ranges before lra_inheritance for
      	-fuse-caller-save.
      	* lra-assigns.c (lra_assign): Allow call_used_regs to cross calls for
      	-fuse-caller-save.
      	* lra-constraints.c (need_for_call_save_p): Use actual_call_used_reg_set
      	instead of call_used_reg_set for -fuse-caller-save.
      	* lra-lives.c (process_bb_lives): Calculate actual_call_used_reg_set.
      
      From-SVN: r211033
      Tom de Vries committed
    • md.texi: Document that the % constraint character must be at the beginning of the string. · 73f793e3
      gcc/
      	* doc/md.texi: Document that the % constraint character must
      	be at the beginning of the string.
      	* genoutput.c (validate_insn_alternatives): Check that '=',
      	'+' and '%' only appear at the beginning of a constraint.
      	* ira.c (commutative_constraint_p): Delete.
      	(ira_get_dup_out_num): Expect the '%' commutativity marker to be
      	at the start of the string.
      	* config/alpha/alpha.md (*movmemdi_1, *clrmemdi_1): Remove
      	duplicate '='s.
      	* config/arm/neon.md (bicdi3_neon): Likewise.
      	* config/iq2000/iq2000.md (addsi3_internal, subsi3_internal, sgt_si)
      	(slt_si, sltu_si): Likewise.
      	* config/vax/vax.md (sbcdi3): Likewise.
      	* config/h8300/h8300.md (*cmpstz): Remove duplicate '+'.
      	* config/arc/arc.md (mulsi_600, mulsidi_600, umulsidi_600)
      	(mul64): Move '%' to beginning of constraint.
      	* config/arm/arm.md (*xordi3_insn): Likewise.
      	* config/nds32/nds32.md (add<mode>3, mulsi3, andsi3, iorsi3)
      	(xorsi3): Likewise.
      
      From-SVN: r211031
      Richard Sandiford committed
    • md.texi: Document the restrictions on the "enabled" attribute. · 5a7555ab
      gcc/
      	* doc/md.texi: Document the restrictions on the "enabled" attribute.
      
      From-SVN: r211030
      Richard Sandiford committed
    • re PR c++/47202 (Endless recursion during mangling) · d67ff7b7
      	PR c++/47202
      gcc/cp/
      	* decl.c (cxx_comdat_group): Return a decl.
      	* optimize.c (cdtor_comdat_group): Get its DECL_ASSEMBLER_NAME.
      gcc/
      	* cgraph.h (symtab_node::get_comdat_group_id): New.
      	* cgraphunit.c (analyze_functions): Call it.
      	* symtab.c (dump_symtab_node): Likewise.
      	* tree.c (decl_comdat_group_id): New.
      	* tree.h: Declare it.
      	* lto-streamer-out.c (write_symbol): Use it.
      	* trans-mem.c (ipa_tm_create_version_alias): Likewise.
      
      From-SVN: r211026
      Jason Merrill committed
    • pt.c (tsubst): Check for array of array of unknown bound. · a41acf5f
      	* pt.c (tsubst) [ARRAY_TYPE]: Check for array of array of unknown
      	bound.
      
      From-SVN: r211025
      Jason Merrill committed
    • re PR c++/61242 (Bogus "no matching function for call to… · a33ad58b
      re PR c++/61242 (Bogus "no matching function for call to ‘Foo::Create(<brace-enclosed initializer list>)")
      
      	PR c++/61242
      	* call.c (build_aggr_conv): Ignore passed in flags.
      	(build_array_conv, build_complex_conv): Likewise.
      
      From-SVN: r211024
      Jason Merrill committed
    • PR bootstrap/PR61146 · ecc7533a
      	PR bootstrap/PR61146
      	* wide-int.cc: Do not include longlong.h when compiling with clang.
      
      From-SVN: r211023
      Francois-Xavier Coudert committed
    • tree-ssa-propagate.c (add_control_edge): Print less vertical space. · 6e5799b9
      2014-05-28  Richard Biener  <rguenther@suse.de>
      
      	* tree-ssa-propagate.c (add_control_edge): Print less vertical space.
      	* tree-vrp.c (extract_range_from_ssa_name): Also copy VR_UNDEFINED.
      	(vrp_visit_assignment_or_call): Print less vertical space.
      	(vrp_visit_stmt): Likewise.
      	(vrp_visit_phi_node): Likewise.  For a PHI argument with
      	VR_VARYING range consider recording it as copy.
      
      From-SVN: r211022
      Richard Biener committed
    • revert: hwint.h (HOST_WIDE_INT_PRINT_*): Define in terms of PRI*64. · 47f9fca8
      2014-05-28  Richard Biener  <rguenther@suse.de>
      
      	Revert
      	2014-05-28  Richard Biener  <rguenther@suse.de>
      
      	* hwint.h (HOST_WIDE_INT_PRINT_*): Define in terms of PRI*64.
      
      From-SVN: r211021
      Richard Biener committed
    • expr.c (expand_assignment): Fold the bitpos in the to_rtx if sufficiently… · 7fbf8a3e
      expr.c (expand_assignment): Fold the bitpos in the to_rtx if sufficiently aligned and an offset is used at...
      
      2014-05-28  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              * expr.c (expand_assignment): Fold the bitpos in the to_rtx if
              sufficiently aligned and an offset is used at the same time.
              (expand_expr_real_1): Likewise.
      
      From-SVN: r211020
      Bernd Edlinger committed
    • re PR middle-end/61045 (Wrong constant folding) · b017a174
      2014-05-28  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/61045
      	* fold-const.c (fold_comparison): When folding
      	X +- C1 CMP Y +- C2 to X CMP Y +- C2 +- C1 also ensure
      	the sign of the remaining constant operand stays the same.
      
      	* gcc.dg/pr61045.c: New testcase.
      
      From-SVN: r211018
      Richard Biener committed
    • RL78 64bit double support added · a4d6bf7e
      From-SVN: r211017
      Kaushik Phatak committed
    • RL78 64bit double support added · 96360888
      From-SVN: r211016
      Kaushik Phatak committed
    • Centralise clearing hardware capabilities with Sun ld · 3c698bf0
      	gcc:
      	* configure.ac ($gcc_cv_ld_clearcap): New test.
      	* configure: Regenerate.
      	* config.in: Regenerate.
      	* config/sol2.opt (mclear-hwcap): New option.
      	* config/sol2.h (LINK_CLEARCAP_SPEC): Define.
      	* config/sol2-clearcap.map: Moved here from
      	testsuite/gcc.target/i386/clearcap.map.
      	* config/sol2-clearcapv2.map: Move here from
      	gcc.target/i386/clearcapv2.map.
      	* config/t-sol2 (install): Depend on install-clearcap-map.
      	(install-clearcap-map): New target.
      	* doc/invoke.texi (Option Summary, Solaris 2 Options): Document
      	-mclear-hwcap.
      
      	gcc/testsuite:
      	* lib/clearcap.exp: New file.
      	* gcc.dg/vect/vect.exp: Load clearcap.exp.
      	Remove clearcap_ldflags handling.
      	Call clearcap-init, clearcap-finish.
      	* gcc.target/i386/i386.exp: Likewise.
      	* gcc.target/i386/clearcap.map: Move to ../config/sol2-clearcap.map.
      	* gcc.target/i386/clearcapv2.map: Move to
      	../config/sol2-clearcapv2.map.
      	* gcc.target/x86_64/abi/avx/abi-avx.exp: Likewise.
      	* gcc.target/x86_64/abi/avx512f/abi-avx512f.exp: Likewise.
      
      	libitm:
      	* acinclude.m4 (LIBITM_CHECK_LINKER_HWCAP): Check for
      	-mclear-hwcap instead.
      	* configure: Regenerate.
      	* clearcap.map: Remove.
      
      From-SVN: r211014
      Rainer Orth committed
    • hwint.h (*_HALF_WIDE_INT*): Move to ... · 4c8bd90f
      2014-05-28  Richard Biener  <rguenther@suse.de>
      
      	* hwint.h (*_HALF_WIDE_INT*): Move to ...
      	* wide-int.cc (HOST_BITS_PER_HALF_WIDE_INT, HOST_HALF_WIDE_INT):
      	... here and remove the rest.
      	* hwint.h (HOST_WIDE_INT_PRINT_*): Define in terms of PRI*64.
      
      From-SVN: r211013
      Richard Biener committed
    • re PR tree-optimization/61335 (wrong code with -O2 -fbounds-check) · a896172d
      2014-05-28  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/61335
      	* tree-vrp.c (vrp_visit_phi_node): If the compare of old and
      	new range fails, drop to varying.
      
      	* gfortran.dg/pr61335.f90: New testcase.
      
      From-SVN: r211012
      Richard Biener committed
    • vxworks.h (VXCPU_FOR_8548): New. · 49664873
      2014-05-28  Olivier Hainque  <hainque@adacore.com>
      
              * config/rs6000/vxworks.h (VXCPU_FOR_8548): New. Default to PPC85XX.
              (CPP_SPEC): Add entry for -mcpu=8548.
              * config/rs6000/vxworksae.h: Reinstate. Override VXCPU_FOR_8548.
              * config.gcc (powerpc-wrs-vxworksae, tm_file): Add back vxworksae.h.
      
      From-SVN: r211011
      Olivier Hainque committed
    • -fuse-caller-save - Support in lra · b8c6a45a
      2014-05-28  Tom de Vries  <tom@codesourcery.com>
      
      	* lra-int.h (struct lra_reg): Add field actual_call_used_reg_set.
      	* lra.c (initialize_lra_reg_info_element): Add init of
      	actual_call_used_reg_set field.
      	(lra): Call lra_create_live_ranges before lra_inheritance for
      	-fuse-caller-save.
      	* lra-assigns.c (lra_assign): Allow call_used_regs to cross calls for
      	-fuse-caller-save.
      	* lra-constraints.c (need_for_call_save_p): Use actual_call_used_reg_set
      	instead of call_used_reg_set for -fuse-caller-save.
      	* lra-lives.c (process_bb_lives): Calculate actual_call_used_reg_set.
      
      From-SVN: r211010
      Tom de Vries committed
    • -fuse-caller-save - Add documentation · dbe7d9e3
      2014-05-28  Radovan Obradovic  <robradovic@mips.com>
                  Tom de Vries  <tom@codesourcery.com>
      
      	* doc/invoke.texi (@item Optimization Options): Add -fuse-caller-save to
      	gccoptlist.
      	(@item -fuse-caller-save): New item.
      
      Co-Authored-By: Tom de Vries <tom@codesourcery.com>
      
      From-SVN: r211009
      Radovan Obradovic committed
    • -fuse-caller-save - Enable by default at O2 and higher · 5c989bbf
      2014-05-28  Radovan Obradovic  <robradovic@mips.com>
                  Tom de Vries  <tom@codesourcery.com>
      
      	* opts.c (default_options_table): Add OPT_LEVELS_2_PLUS entry with
      	OPT_fuse_caller_save.
      
      Co-Authored-By: Tom de Vries <tom@codesourcery.com>
      
      From-SVN: r211008
      Radovan Obradovic committed
    • -fuse-caller-save - Use collected register usage information · c2ba7e7a
      2014-05-28  Radovan Obradovic  <robradovic@mips.com>
                  Tom de Vries  <tom@codesourcery.com>
      
      	* df-scan.c (df_get_call_refs): Use get_call_reg_set_usage.
      	* caller-save.c (setup_save_areas, save_call_clobbered_regs): Use
      	get_call_reg_set_usage.
      	* resource.c (mark_set_resources, mark_target_live_regs): Use
      	get_call_reg_set_usage.
      	* ira-int.h (struct ira_allocno): Add crossed_calls_clobbered_regs
      	field.
      	(ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS): Define.
      	* ira-lives.c (process_bb_node_lives): Use get_call_reg_set_usage.
      	Calculate ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS.
      	* ira-build.c (ira_create_allocno): Init
      	ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS.
      	(create_cap_allocno, propagate_allocno_info)
      	(propagate_some_info_from_allocno)
      	(copy_info_to_removed_store_destinations): Handle
      	ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS.
      	* ira-costs.c (ira_tune_allocno_costs): Use
      	ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS to adjust costs.
      
      Co-Authored-By: Tom de Vries <tom@codesourcery.com>
      
      From-SVN: r211007
      Radovan Obradovic committed
    • -fuse-caller-save - Collect register usage information · 27c07cc5
      2014-05-28  Radovan Obradovic  <robradovic@mips.com>
                  Tom de Vries  <tom@codesourcery.com>
      
      	* cgraph.h (struct cgraph_rtl_info): Add function_used_regs
      	and function_used_regs_valid fields.
      	* final.c: Move include of hard-reg-set.h to before rtl.h to declare
      	find_all_hard_reg_sets.
      	(collect_fn_hard_reg_usage, get_call_fndecl, get_call_cgraph_rtl_info)
      	(get_call_reg_set_usage): New function.
      	(rest_of_handle_final): Use collect_fn_hard_reg_usage.
      	* regs.h (get_call_reg_set_usage): Declare.
      
      Co-Authored-By: Tom de Vries <tom@codesourcery.com>
      
      From-SVN: r211006
      Radovan Obradovic committed
    • re PR libgcc/61152 (Missing GCC Runtime Library Exception in some files that are… · ca48e5ef
      re PR libgcc/61152 (Missing GCC Runtime Library Exception in some files that are included in libgcc)
      
      gcc/
      	PR libgcc/61152
      	* config/dbx.h (License): Add Runtime Library Exception.
      	* config/newlib-stdint.h (License): Same.
      	* config/rtems.h (License): Same
      	* config/initfini-array.h (License): Same
      	* config/v850/v850.h (License): Same.
      	* config/v850/v850-opts.h (License): Same
      	* config/v850/rtems.h (License): Same.
      
      From-SVN: r211004
      Georg-Johann Lay committed
    • 2014-05-25 Paolo Carlini <paolo.carlini@oracle.com> · 171fa27e
      	* Fix typo in ChangeLog entry.
      
      From-SVN: r211003
      Paolo Carlini committed
    • re PR target/61044 (Computed goto on AVR fails to use word-addressing) · 92747f7d
      	PR target/61044
      	* doc/extend.texi (Local Labels): Note that label differences are
      	not supported for AVR.
      
      From-SVN: r210999
      Georg-Johann Lay committed
    • rtl.h (set_for_reg_notes): Declare. · c8912e53
      2014-05-26  Richard Sandiford  <rdsandiford@googlemail.com>
                  Olivier Hainque  <hainque@adacore.com>
      
              * rtl.h (set_for_reg_notes): Declare.
              * emit-rtl.c (set_for_reg_notes): New function.
              (set_unique_reg_note): Use it.
              * optabs.c (add_equal_note): Likewise
      
      
      Co-Authored-By: Olivier Hainque <hainque@adacore.com>
      
      From-SVN: r210998
      Richard Sandiford committed
    • aarch64.md (stack_protect_set_<mode>): Use <w> for the register in assembly template. · 9c6ab05f
      2014-05-27  Andrew Pinski  <apinski@cavium.com>
      
      	* config/aarch64/aarch64.md (stack_protect_set_<mode>):
      	Use <w> for the register in assembly template.
      	(stack_protect_test): Use the mode of operands[0] for the
      	result.
      	(stack_protect_test_<mode>): Use <w> for the register
      	in assembly template.
      
      From-SVN: r210996
      Andrew Pinski committed