Commit Graph

130200 Commits

Author SHA1 Message Date
Tom de Vries
10e1bdb272 -fuse-caller-save - Support in lra
2014-05-30  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: r211074
2014-05-30 08:43:05 +00:00
Kyrylo Tkachov
569120372d [ARM] Use mov_imm type for movw operations consistently
* config/arm/thumb2.md (*thumb2_movhi_insn): Set type of movw
	to mov_imm.
	* config/arm/vfp.md (*thumb2_movsi_vfp): Likewise.

From-SVN: r211073
2014-05-30 08:31:38 +00:00
Richard Sandiford
98f2f031af ira.c (ira_get_dup_out_num): Check for output operands at the start of the loop.
gcc/
	* ira.c (ira_get_dup_out_num): Check for output operands at
	the start of the loop.  Handle cases where an included alternative
	follows an excluded one.

From-SVN: r211072
2014-05-30 07:35:47 +00:00
GCC Administrator
3901578cd6 Daily bump.
From-SVN: r211071
2014-05-30 00:17:10 +00:00
Mike Stump
79abf19fb6 re PR target/61352 (gcc 4.9.0 fails to execute dsymutil when linking executables on darwin)
PR debug/61352
	* collect2.c (maybe_run_lto_and_relink): Be sure to always run
	post ld passes when lto is used.

From-SVN: r211067
2014-05-29 23:20:39 +00:00
Ian Lance Taylor
9a85ed03da runtime: add the --without-libatomic configure option
This adds the --without-libatomic configure option, which is useful for building libgo
with a non-gcc compiler.

It disables libgo's dependency on libatomic. This
is useful for platforms where it is known that the libatomic runtime
functions are not required, or where the compiler automatically
provides an implementation of them.

From-SVN: r211065
2014-05-29 20:22:27 +00:00
Vladimir Makarov
cc8849a159 re PR rtl-optimization/61325 (aarch64_be build fails)
2014-05-29  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/61325
	* lra-constraints.c (process_address): Rename to
	process_address_1.
	(process_address): New function.

2014-05-29  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/61325
	* gcc.target/aarch64/pr61325.c: New.

From-SVN: r211061
2014-05-29 17:37:23 +00:00
Alan Lawrence
e4c03722c5 Add execution tests of ARM EXT intrinsics
gcc.target/arm/simd/vextQf32_1.c: New file.
	gcc.target/arm/simd/vextQp16_1.c: New file.
	gcc.target/arm/simd/vextQp8_1.c: New file.
	gcc.target/arm/simd/vextQs16_1.c: New file.
	gcc.target/arm/simd/vextQs32_1.c: New file.
	gcc.target/arm/simd/vextQs64_1.c: New file.
	gcc.target/arm/simd/vextQs8_1.c: New file.
	gcc.target/arm/simd/vextQu16_1.c: New file.
	gcc.target/arm/simd/vextQu32_1.c: New file.
	gcc.target/arm/simd/vextQu64_1.c: New file.
	gcc.target/arm/simd/vextQu8_1.c: New file.
	gcc.target/arm/simd/vextQp64_1.c: New file.
	gcc.target/arm/simd/vextf32_1.c: New file.
	gcc.target/arm/simd/vextp16_1.c: New file.
	gcc.target/arm/simd/vextp8_1.c: New file.
	gcc.target/arm/simd/vexts16_1.c: New file.
	gcc.target/arm/simd/vexts32_1.c: New file.
	gcc.target/arm/simd/vexts64_1.c: New file.
	gcc.target/arm/simd/vexts8_1.c: New file.
	gcc.target/arm/simd/vextu16_1.c: New file.
	gcc.target/arm/simd/vextu32_1.c: New file.
	gcc.target/arm/simd/vextu64_1.c: New file.
	gcc.target/arm/simd/vextu8_1.c: New file.
	gcc.target/arm/simd/vextp64_1.c: New file.

From-SVN: r211059
2014-05-29 17:24:34 +00:00
Alan Lawrence
ae0533da54 Detect EXT patterns to vec_perm_const, use for EXT intrinsics
* config/aarch64/aarch64-builtins.c (aarch64_types_binopv_qualifiers,
        TYPES_BINOPV): New static data.
        * config/aarch64/aarch64-simd-builtins.def (im_lane_bound): New builtin.
        * config/aarch64/aarch64-simd.md (aarch64_ext, aarch64_im_lane_boundsi):
        New patterns.
        * config/aarch64/aarch64.c (aarch64_expand_vec_perm_const_1): Match
        patterns for EXT.
        (aarch64_evpc_ext): New function.

        * config/aarch64/iterators.md (UNSPEC_EXT): New enum element.

        * config/aarch64/arm_neon.h (vext_f32, vext_f64, vext_p8, vext_p16,
        vext_s8, vext_s16, vext_s32, vext_s64, vext_u8, vext_u16, vext_u32,
        vext_u64, vextq_f32, vextq_f64, vextq_p8, vextq_p16, vextq_s8,
        vextq_s16, vextq_s32, vextq_s64, vextq_u8, vextq_u16, vextq_u32,
        vextq_u64): Replace __asm with __builtin_shuffle and im_lane_boundsi.

From-SVN: r211058
2014-05-29 16:57:42 +00:00
Tom de Vries
ed00b1fb97 Fix rtl-check build
2014-05-29  Tom de Vries  <tom@codesourcery.com>

	* rtl.h (BLOCK_SYMBOL_CHECK): Use SYMBOL_REF_FLAGS.

From-SVN: r211057
2014-05-29 16:32:16 +00:00
Jonathan Wakely
710d672b08 bool_set: Use UTF-8 for accented characters.
* 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
2014-05-29 15:04:43 +01:00
David Wohlferd
2556511ee0 extend.texi: Rewrite inline asm page / re-org asm-related pages.
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
2014-05-29 11:50:22 +00:00
Richard Earnshaw
004d38098c iterators.md (shiftable_ops): New code iterator.
* 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
2014-05-29 09:39:07 +00:00
Radovan Obradovic
c2db3f3d39 -fuse-caller-save - Enable for MIPS
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
2014-05-29 08:59:08 +00:00
Evgeny Stupachenko
41455f8918 pr52252-ld.c: Fix target and options for the test.
gcc/testsuite/
        * gcc.dg/vect/pr52252-ld.c: Fix target and options for the test.

From-SVN: r211048
2014-05-29 08:53:02 +00:00
Tom de Vries
4b29b96587 Fix bootstrap on powerpc64le-linux-gnu
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
2014-05-29 08:25:05 +00:00
Jan Hubicka
726f0774e0 varasm.c (get_variable_section): Walk aliases.
* varasm.c (get_variable_section): Walk aliases.
	(place_block_symbol): Walk aliases.

From-SVN: r211045
2014-05-29 06:14:52 +00:00
GCC Administrator
886508277f Daily bump.
From-SVN: r211041
2014-05-29 00:16:57 +00:00
Ian Lance Taylor
d76a1885bd runtime: disable split stacks for runtime_printf function under Clang
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
2014-05-29 00:03:30 +00:00
Ian Lance Taylor
93c521ea9c runtime: fix misc gcc-isms and undefined behavior
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
2014-05-28 23:10:47 +00:00
Pedro Alves
bc2eed9a8e Fix demangler testsuite crashes with CP_DEMANGLE_DEBUG defined
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
2014-05-28 21:55:41 +00:00
Pedro Alves
fd9ed1ae2d Add myself to MAINTAINERS.
2014-05-28  Pedro Alves  <palves@redhat.com>

	* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r211034
2014-05-28 21:51:47 +00:00
Tom de Vries
ea0b381f6e revert: lra-int.h (struct lra_reg): Add field actual_call_used_reg_set.
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
2014-05-28 21:50:28 +00:00
Richard Sandiford
73f793e3bb md.texi: Document that the % constraint character must be at the beginning of the string.
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
2014-05-28 19:49:18 +00:00
Richard Sandiford
5a7555ab10 md.texi: Document the restrictions on the "enabled" attribute.
gcc/
	* doc/md.texi: Document the restrictions on the "enabled" attribute.

From-SVN: r211030
2014-05-28 19:30:35 +00:00
Jason Merrill
d67ff7b75d re PR c++/47202 (Endless recursion during mangling)
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
2014-05-28 12:38:23 -04:00
Jason Merrill
a41acf5f3e pt.c (tsubst): Check for array of array of unknown bound.
* pt.c (tsubst) [ARRAY_TYPE]: Check for array of array of unknown
	bound.

From-SVN: r211025
2014-05-28 12:30:46 -04:00
Jason Merrill
a33ad58be1 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
2014-05-28 11:55:03 -04:00
Francois-Xavier Coudert
ecc7533ad7 PR bootstrap/PR61146
PR bootstrap/PR61146
	* wide-int.cc: Do not include longlong.h when compiling with clang.

From-SVN: r211023
2014-05-28 15:17:29 +00:00
Richard Biener
6e5799b904 tree-ssa-propagate.c (add_control_edge): Print less vertical space.
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
2014-05-28 14:24:09 +00:00
Richard Biener
47f9fca855 revert: hwint.h (HOST_WIDE_INT_PRINT_*): Define in terms of PRI*64.
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
2014-05-28 14:17:45 +00:00
Bernd Edlinger
7fbf8a3ede 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
2014-05-28 13:37:02 +00:00
Richard Biener
b017a17489 re PR middle-end/61045 (Wrong constant folding)
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
2014-05-28 12:44:11 +00:00
Kaushik Phatak
a4d6bf7e9f RL78 64bit double support added
From-SVN: r211017
2014-05-28 12:23:15 +00:00
Kaushik Phatak
9636088816 RL78 64bit double support added
From-SVN: r211016
2014-05-28 12:22:19 +00:00
Rainer Orth
3c698bf09b Centralise clearing hardware capabilities with Sun ld
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
2014-05-28 11:32:54 +00:00
Richard Biener
4c8bd90f9f hwint.h (*_HALF_WIDE_INT*): Move to ...
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
2014-05-28 11:07:48 +00:00
Richard Biener
a896172d19 re PR tree-optimization/61335 (wrong code with -O2 -fbounds-check)
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
2014-05-28 11:07:06 +00:00
Olivier Hainque
49664873f8 vxworks.h (VXCPU_FOR_8548): New.
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
2014-05-28 09:51:07 +00:00
Tom de Vries
b8c6a45ab7 -fuse-caller-save - Support in lra
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
2014-05-28 09:43:52 +00:00
Radovan Obradovic
dbe7d9e3ff -fuse-caller-save - Add documentation
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
2014-05-28 09:43:41 +00:00
Radovan Obradovic
5c989bbf87 -fuse-caller-save - Enable by default at O2 and higher
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
2014-05-28 09:43:32 +00:00
Radovan Obradovic
c2ba7e7a62 -fuse-caller-save - Use collected register usage information
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
2014-05-28 09:43:21 +00:00
Radovan Obradovic
27c07cc5d0 -fuse-caller-save - Collect register usage information
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
2014-05-28 09:43:11 +00:00
Georg-Johann Lay
ca48e5efae 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
2014-05-28 09:33:04 +00:00
Paolo Carlini
171fa27eb3 2014-05-25 Paolo Carlini <paolo.carlini@oracle.com>
* Fix typo in ChangeLog entry.

From-SVN: r211003
2014-05-28 08:59:32 +00:00
Georg-Johann Lay
92747f7d22 re PR target/61044 (Computed goto on AVR fails to use word-addressing)
PR target/61044
	* doc/extend.texi (Local Labels): Note that label differences are
	not supported for AVR.

From-SVN: r210999
2014-05-28 08:42:25 +00:00
Richard Sandiford
c8912e539b rtl.h (set_for_reg_notes): Declare.
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
2014-05-28 08:41:27 +00:00
Andrew Pinski
9c6ab05f6a aarch64.md (stack_protect_set_<mode>): Use <w> for the register in assembly template.
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
2014-05-27 18:24:53 -07:00
DJ Delorie
69c7a374a1 rx.c (add_vector_labels): New.
* config/rx/rx.c (add_vector_labels): New.
(rx_output_function_prologue): Call it.
(rx_handle_func_attribute): Don't require empty arguments.
(rx_handle_vector_attribute): New.
(rx_attribute_table): Add "vector" attribute.
* doc/extend.texi (interrupt, vector): Document new/changed
RX-specific attributes.

* config/rx/rx.c (rx_adjust_insn_length): Skip for non-insns.

From-SVN: r210995
2014-05-27 20:37:00 -04:00