Commit Graph

113578 Commits

Author SHA1 Message Date
Jason Merrill
a8e237782f re PR c++/51137 ([C++0x] [4.7 Regression] ICE with -std=c++0x and virtual inheritance)
PR c++/51137
	* class.c (build_base_path): Don't do calculation in templates.

From-SVN: r181444
2011-11-17 11:34:59 -05:00
Michael Matz
f14c43566a re PR tree-optimization/50644 (ICE in set_is_used added today)
PR middle-end/50644
	PR middle-end/50741

	* tree-ssa-live.c (mark_all_vars_used_1): Recurse only for decls of
	current function.
	(remove_unused_locals): Ditto.

testsuite/

	* g++.dg/tree-ssa/pr50741.C: New.

From-SVN: r181443
2011-11-17 16:03:56 +00:00
Rainer Orth
d846e425c9 Provide all dummy functions in alloc_cpp.cc, eh_cpp.cc
* alloc_cpp.cc [__osf__] (_ZnwX, _ZdlPv, _ZnaX, _ZdaPv,
	_ZnwXRKSt9nothrow_t, _ZdlPvRKSt9nothrow_t, _ZdaPvRKSt9nothrow_t):
	Dummy functions.
	* eh_cpp.cc [__osf__] (__cxa_allocate_exception, __cxa_throw,
	__cxa_begin_catch, __cxa_end_catch, __cxa_tm_cleanup): Likewise.

From-SVN: r181442
2011-11-17 11:34:33 +00:00
Rainer Orth
1502e1556c Skip simulate-thread tests on all alpha targets
* lib/gcc-simulate-thread.exp (simulate-thread): Skip on
	alpha*-*-*.

From-SVN: r181441
2011-11-17 11:25:10 +00:00
Jonathan Wakely
ee42e4b6ef status_cxx2011.xml: Status of piecewise construction and ios_base::failure.
* doc/xml/manual/status_cxx2011.xml: Status of piecewise construction
	and ios_base::failure.
	* doc/xml/manual/backwards_compatibility.xml: List headers in
	alphabetical order.

From-SVN: r181438
2011-11-17 10:14:11 +00:00
Richard Henderson
4eace304b8 Copy ALIAS_SET_MEMORY_BARRIER when creating a new MEM for atomic ops.
* config/alpha/alpha.c (alpha_split_compare_and_swap_12): Copy
	ALIAS_SET_MEMORY_BARRIER when creating a new memory.
	(alpha_split_atomic_exchange_12): Likewise.
	* config/rs6000/rs6000.c (rs6000_adjust_atomic_subword): Likewise.

From-SVN: r181436
2011-11-16 20:44:27 -08:00
David Edelsohn
00449933e6 inclhack.def (aix_once_init_[12]): New fixes.
* inclhack.def (aix_once_init_[12]): New fixes.
        * fixincl.x: Regenerate.
        * tests/base/pthread.h: Update.

From-SVN: r181434
2011-11-16 21:28:07 -05:00
GCC Administrator
091d26a69c Daily bump.
From-SVN: r181431
2011-11-17 00:18:35 +00:00
Uros Bizjak
e6972b8faa memopt-6.c: Cleanup tmedge tree dump.
* gcc.dg/tm/memopt-6.c: Cleanup tmedge tree dump.
	* gcc.dg/tm/memopt-13.c: Cleanup tmmark tree dump.
	* g++.dg/eh/array1.C: Cleanup gimple tree dump.

From-SVN: r181426
2011-11-17 00:09:17 +01:00
Tobias Burnus
c3f3495248 re PR fortran/39427 (F2003: Procedures with same name as types/type constructors)
gcc/fortran
2011-11-16  Tobias Burnus  <burnus@net-b.de>

        PR fortran/39427
        PR fortran/37829
        * decl.c (match_data_constant, match_data_constant,
        * variable_decl,
        gfc_match_decl_type_spec, access_attr_decl,
        check_extended_derived_type, gfc_match_derived_decl,
        gfc_match_derived_decl, gfc_match_derived_decl) Modified to deal
        with DT constructors.
        * gfortran.h (gfc_find_dt_in_generic,
        gfc_convert_to_structure_constructor): New function prototypes.
        * interface.c (check_interface0, check_interface1,
        gfc_search_interface): Ignore DT constructors in generic list.
        * match.h (gfc_match_structure_constructor): Update prototype.
        * match.c (match_derived_type_spec): Ensure that one uses the DT
        not the generic function.
        * module.c (MOD_VERSION): Bump.
        (dt_lower_string, dt_upper_string): New functions.
        (find_use_name_n, find_use_operator, compare_true_names,
        find_true_name, add_true_name, fix_mio_expr, load_needed,
        read_module, write_dt_extensions, write_symbol): Changes to deal with
        different symtree vs. sym names.
        (create_derived_type): Create also generic procedure.
        * parse.c (gfc_fixup_sibling_symbols): Don't regard DT and
        * generic
        function as the same.
        * primary.c (gfc_convert_to_structure_constructor): New
        * function.
        (gfc_match_structure_constructor): Restructured; calls
        gfc_convert_to_structure_constructor.
        (build_actual_constructor, gfc_match_rvalue): Update for DT generic
        functions.
        * resolve.c (resolve_formal_arglist, resolve_structure_cons,
        is_illegal_recursion, resolve_generic_f, resolve_variable,
        resolve_fl_variable_derived, resolve_fl_derived0,
        resolve_symbol): Handle DT and DT generic constructors.
        * symbol.c (gfc_use_derived, gfc_undo_symbols,
        gen_special_c_interop_ptr, gen_cptr_param,
        generate_isocbinding_symbol, gfc_get_derived_super_type): Handle
        derived-types, which are hidden in the generic type.
        (gfc_find_dt_in_generic): New function
        * trans-array.c (gfc_conv_array_initializer): Replace
        * FL_PARAMETER
        expr by actual value.
        * trans-decl.c (gfc_get_module_backend_decl,
        * gfc_trans_use_stmts):
        Ensure that we use the DT and not the generic function.
        * trans-types.c (gfc_get_derived_type): Ensure that we use the
        * DT
        and not the generic procedure.

gcc/testsuite/
2011-11-16  Tobias Burnus  <burnus@net-b.de>

        PR fortran/39427
        PR fortran/37829
        * gfortran.dg/constructor_1.f90: New.
        * gfortran.dg/constructor_2.f90: New.
        * gfortran.dg/constructor_3.f90: New.
        * gfortran.dg/constructor_4.f90: New.
        * gfortran.dg/constructor_5.f90: New.
        * gfortran.dg/constructor_6.f90: New.
        * gfortran.dg/use_only_5.f90: New.
        * gfortran.dg/c_ptr_tests_17.f90: New.
        * gfortran.dg/c_ptr_tests_18.f90: New.
        * gfortran.dg/used_types_25.f90: New.
        * gfortran.dg/used_types_26.f90: New
        * gfortran.dg/type_decl_3.f90: New.
        * gfortran.dg/function_types_3.f90: Update dg-error.
        * gfortran.dg/result_1.f90: Ditto.
        * gfortran.dg/structure_constructor_3.f03: Ditto.
        * gfortran.dg/structure_constructor_4.f03: Ditto.

From-SVN: r181425
2011-11-16 22:37:43 +01:00
Joseph Myers
16e835bb5c * config/i386/i386elf.h (PREFERRED_DEBUGGING_TYPE): Remove.
From-SVN: r181423
2011-11-16 20:35:27 +00:00
David Edelsohn
27b0b3571e rs6000.c (rs6000_xcoff_section_type_flags): Default to minimum alignment if decl is NULL.
* config/rs6000/rs6000.c (rs6000_xcoff_section_type_flags):
        Default to minimum alignment if decl is NULL.

From-SVN: r181422
2011-11-16 13:33:52 -05:00
Uros Bizjak
c05e32f58d sse.md (round<mode>2_vec_pack_sfix): Optimize V2DFmode sequence for AVX.
* config/i386/sse.md (round<mode>2_vec_pack_sfix): Optimize V2DFmode
	sequence for AVX.
	(<sse4_1>_round<ssemodesuffix>_vec_pack_sfix<avxsizesuffix>): Ditto.

From-SVN: r181421
2011-11-16 19:28:08 +01:00
Matthew Gretton-Dann
a6bbb56fef pr30858.c: Update expected output for architectures with multiple vector sizes.
2011-10-16  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>

	* gcc.dg/vect/pr30858.c: Update expected output for
	architectures with multiple vector sizes.

From-SVN: r181420
2011-11-16 18:19:37 +00:00
Matthew Gretton-Dann
425d737b36 lib1funcs.asm (udivsi3): Add support for divide functions.
2011-11-16  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>

	* config/arm/lib1funcs.asm (udivsi3): Add support for divide
	functions.
	(aeabi_uidivmod): Likewise.	
	(umodsi3): Likewise.
	(divsi3): Likewise.
	(aeabi_idivmod): Likewise.
	(modsi3): Likewise.

From-SVN: r181419
2011-11-16 18:02:12 +00:00
Venkataramanan Kumar
0fe1f31b9e * doc/invoke.texi: Document AMD bdver1 and btver1.
From-SVN: r181417
2011-11-16 17:31:38 +00:00
Richard Earnshaw
77b1138b71 re PR target/49641 (Wrong code for ARMv4T and stmia)
2011-11-16  Richard Earnshaw  <rearnsha@arm.com>
	    Bernd Schmidt <bernds@coudesourcery.com>
	    Sebastian Huber <sebastian.huber@embedded-brains.de>

	PR target/49641
	* config/arm/arm.c (store_multiple_sequence): Avoid cases where
	the base reg is stored iff compiling for Thumb1.

	* gcc.target/arm/pr49641.c: New test.

Co-Authored-By: Bernd Schmidt <bernds@codesourcery.com>
Co-Authored-By: Sebastian Huber <sebastian.huber@embedded-brains.de>

From-SVN: r181416
2011-11-16 17:02:44 +00:00
Andrew MacLeod
3b04e1e4c4 re PR libstdc++/51102 (missing macros in <atomic>)
2011-11-16  Andrew MacLeod  <amacleod@redhat.com>

	PR libstdc++/51102
	* include/bits/atomic_base.h (ATOMIC_BOOL_LOCK_FREE,
	ATOMIC_POINTER_LOCK_FREE): New. Add missing macros.

From-SVN: r181414
2011-11-16 15:43:15 +00:00
Razya Ladelsky
1a4571cb56 re PR tree-optimization/49960 (inconsistent outputs when enabling autopar for a self -dependence testcase)
PR tree-optimization/49960

	* tree-data-ref.c (initialize_data_dependence_relation): Add initializations. 
	Remove call to compute_self_dependence.
	(compute_affine_dependence): Remove the !DDR_SELF_REFERENCE condition.
	(compute_self_dependence): Remove old code. Add call to compute_affine_dependence.
	(compute_all_dependences): Remove call to compute_self_dependence. 
	Add call to compute_affine_dependence.

From-SVN: r181411
2011-11-16 15:01:47 +00:00
Razya Ladelsky
4122ed2b77 re PR tree-optimization/49960 (inconsistent outputs when enabling autopar for a self -dependence testcase)
PR tree-optimization/49960

	* gcc.dg/autopar/pr49960.c: New test.
	* gcc.dg/autopar/pr49960-1.c: New test.

From-SVN: r181410
2011-11-16 14:59:14 +00:00
Razya Ladelsky
3f660e4726 re PR tree-optimization/49960 (inconsistent outputs when enabling autopar for a self -dependence testcase)
PR tree-optimization/49960

	* gcc.dg/autopar/pr49960.c: New test.
	* gcc.dg/autopar/pr49960-1.c: New test.

From-SVN: r181409
2011-11-16 14:58:04 +00:00
Uros Bizjak
807133470c re PR bootstrap/51098 (bootstrap failed on avx i686, svn revision 181259 to 181267)
PR bootstrap/51098
	* acinclude.m4 (LIBITM_CHECK_AS_AVX): Fix target selector.
	* configure: Regenerate.

From-SVN: r181408
2011-11-16 15:51:13 +01:00
Paolo Carlini
75abb33d21 2011-11-16 Paolo Carlini <paolo.carlini@oracle.com>
* Fix name in ChangeLog entry.

From-SVN: r181407
2011-11-16 10:23:59 +00:00
Andreas Krebbel
41272e2a5d re PR middle-end/50325 (76 new fails with rev. 177691)
2011-11-16  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	PR middle-end/50325
	* expmed.c (store_bit_field_1): Use extract_bit_field on big
	endian targets if the source cannot be exactly covered by word
	mode chunks.

From-SVN: r181405
2011-11-16 09:27:56 +00:00
Tristan Gingold
f2a176dcf5 qrnnd.S: Use specific pseudos for VMS.
2011-11-16  Tristan Gingold  <gingold@adacore.com>

	* config/alpha/qrnnd.S: Use specific pseudos for VMS.

From-SVN: r181403
2011-11-16 08:36:46 +00:00
Joseph Myers
4a7bdab0f2 i386elf.h (ASM_OUTPUT_ASCII): Change STRING_LIMIT to ELF_STRING_LIMIT.
* config/i386/i386elf.h (ASM_OUTPUT_ASCII): Change STRING_LIMIT to
	ELF_STRING_LIMIT.

From-SVN: r181400
2011-11-16 00:21:56 +00:00
GCC Administrator
36fbf1dd21 Daily bump.
From-SVN: r181399
2011-11-16 00:18:50 +00:00
Richard Henderson
2371d1a0a1 alpha: Convert to atomic optabs.
From-SVN: r181395
2011-11-15 15:43:08 -08:00
Paolo Carlini
6dc88283f6 re PR libstdc++/51142 ([C++0x] map::erase(key) doesn't compile with -D_GLIBCXX_DEBUG.)
2011-11-15  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/51142
	* include/debug/unordered_map (unordered_map<>::erase(iterator),
	unordered_multimap<>::erase(iterator)): Add, consistently with
	LWG 2059.
	* include/debug/unordered_set (unordered_set<>::erase(iterator),
	unordered_multiset<>::erase(iterator)): Likewise.
	* include/debug/map.h (map<>::erase(iterator)): Likewise.
	* include/debug/multimap.h (multimap<>::erase(iterator)): Likewise.
	* include/profile/map.h (map<>::erase(iterator)): Likewise.
	* include/profile/multimap.h (multimap<>::erase(iterator)): Likewise.
	* include/bits/hashtable.h (_Hashtable<>::erase(iterator)): Likewise.
	* include/bits/stl_map.h (map<>::erase(iterator)): Likewise.
	* include/bits/stl_multimap.h (multimap<>::erase(iterator)): Likewise.
	* include/bits/stl_tree.h (_Rb_tree<>::erase(iterator)): Likewise.
	* testsuite/23_containers/unordered_map/erase/51142.cc: New.
	* testsuite/23_containers/multimap/modifiers/erase/51142.cc: Likewise.
	* testsuite/23_containers/set/modifiers/erase/51142.cc: Likewise.
	* testsuite/23_containers/unordered_multimap/erase/51142.cc: Likewise.
	* testsuite/23_containers/unordered_set/erase/51142.cc: Likewise.
	* testsuite/23_containers/multiset/modifiers/erase/51142.cc: Likewise.
	* testsuite/23_containers/unordered_multiset/erase/51142.cc: Likewise.
	* testsuite/23_containers/map/modifiers/erase/51142.cc: Likewise.

From-SVN: r181394
2011-11-15 23:28:49 +00:00
Tom de Vries
f01fe5f68a pr43864.c: Check for absence of 'Invalid sum' in pre tree-dump.
2011-11-16  Tom de Vries  <tom@codesourcery.com>

	* gcc.dg/pr43864.c: Check for absence of 'Invalid sum' in pre tree-dump.
	* gcc.dg/pr43864-2.c: Same.
	* gcc.dg/pr43864-3.c: Same.
	* gcc.dg/pr43864-4.c: Same.

From-SVN: r181393
2011-11-15 23:04:46 +00:00
Tom de Vries
fa405d7bbe tree-ssa-tail-merge.c (replace_block_by): Add frequency of bb2 to bb1.
2011-11-16  Tom de Vries  <tom@codesourcery.com>

	* tree-ssa-tail-merge.c (replace_block_by): Add frequency of bb2 to bb1.

From-SVN: r181392
2011-11-15 23:04:39 +00:00
Alan Modra
1ff2fd21dc re PR rtl-optimization/51051 (build fails on cris-elf building libstdc++-v3)
PR rtl-optimization/51051
	PR bootstrap/51086
	* function.c (thread_prologue_and_epilogue_insns): Guard
	emitting return with single_succ_p test.

From-SVN: r181391
2011-11-16 08:40:46 +10:30
Uros Bizjak
e35525e9b4 sse2-cvt-vec.c: New test.
* gcc.target/i386/sse2-cvt-vec.c: New test.
	* gcc.target/i386/avx-cvt-vec.c: Ditto.
	* gcc.target/i386/avx-cvt-2-vec.c: Ditto.

From-SVN: r181390
2011-11-15 20:40:04 +01:00
Joern Rennecke
f41fc8aaaa epiphany.md (mov<mode>cc): Fix code to get mode from CMP_OP1 if CMP_OP0 is VOIDmode.
* config/epiphany/epiphany.md (mov<mode>cc): Fix code to
        get mode from CMP_OP1 if CMP_OP0 is VOIDmode.

From-SVN: r181388
2011-11-15 19:06:32 +00:00
Uros Bizjak
76a2c904df sse.md (vec_pack_trunc_v2df): Optimize sequence for AVX.
* config/i386/sse.md (vec_pack_trunc_v2df): Optimize sequence for AVX.
	(vec_pack_sfix_trunc_v2df): Ditto.
	(vec_pack_sfix_v2df): Ditto.
	(vec_pack_sfix_trunc_v4df): Generate fix_truncv4dfv4si2 and
	avx_vec_concatv8si patterns.
	(vec_pack_sfix_v4df): Generate avx_cvtpd2dq256 and
	avx_vec_concatv8si patterns.

testsuite/ChangeLog:

	* gcc.target/i386/avx-floor-sfix-2-vec.c: New test.
	* gcc.target/i386/avx-ceil-sfix-2-vec.c: Ditto.
	* gcc.target/i386/avx-rint-sfix-2-vec.c: Ditto.
	* gcc.target/i386/avx-round-sfix-2-vec.c: Ditto.

From-SVN: r181387
2011-11-15 19:45:20 +01:00
Iain Sandoe
6bbb00938c gcc-simulate-thread.exp (simulate-thread): Do not run on powerpc*-*-darwin* targets.
gcc/testsuite:

	* lib/gcc-simulate-thread.exp (simulate-thread): Do not run on
	powerpc*-*-darwin* targets.

From-SVN: r181384
2011-11-15 13:16:17 +00:00
Torvald Riegel
69b765189a Require parentheses when parsing transaction expressions.
gcc/
	* c-parser.c (c_parser_transaction_expression): Require parentheses
	when parsing transaction expressions.

	gcc/cp/
	* parser.c (cp_parser_transaction_expression): Require parentheses
	when parsing transaction expressions.

	gcc/testsuite/
	* c-c++-common/tm/trxn-expr-3.c: New test.

From-SVN: r181383
2011-11-15 12:16:13 +00:00
Jason Dick
402356d146 re PR libstdc++/51133 (Incorrect implementation of std::tr1::hermite())
2011-11-15  Jason Dick  <dickphd@gmail.com>

	PR libstdc++/51133
	* include/tr1/poly_hermite.tcc (__poly_hermite_recursion): Fix
	wrong sign in recursion relation.

From-SVN: r181381
2011-11-15 10:49:00 +00:00
Tristan Gingold
0ea069123c incpath.c (get_added_cpp_dirs): New function.
2011-11-15  Tristan Gingold  <gingold@adacore.com>

	* incpath.c (get_added_cpp_dirs): New function.
	* incpath.h (get_added_cpp_dirs): Declare.
	* config/vms/vms-c.c (vms_c_register_includes): New function.
	(vms_std_modules): New variable.
	* config/vms/vms.h (TARGET_EXTRA_INCLUDES): Define.
	(vms_c_register_includes): Declare.

From-SVN: r181380
2011-11-15 10:25:36 +00:00
Tristan Gingold
e50e723eec c-pragma.h (pragma_extern_prefix): Declare.
2011-11-15  Tristan Gingold  <gingold@adacore.com>

	* c-family/c-pragma.h (pragma_extern_prefix): Declare.
	* c-family/c-pragma.c (pragma_extern_prefix): Make it public.
	* config/vms/vms-c.c (saved_extern_prefix): New variable.
	(vms_pragma_extern_prefix): New function.
	(vms_c_register_pragma): Register vms_pragma_extern_prefix.

From-SVN: r181379
2011-11-15 10:22:55 +00:00
Georg-Johann Lay
7c20948114 re PR target/49868 (Implement named address space to place/access data in flash memory)
gcc/
	PR target/49868
	* config/avr/avr.h (ADDR_SPACE_PGM): New address spaces.
	(REGISTER_TARGET_PRAGMAS): New define.
	* config/avr/avr-protos.h (avr_mem_pgm_p): New.
	(avr_load_libgcc_p): New.
	(asm_output_external_libcall): Remove.
	(avr_register_target_pragmas): New.
	(avr_log_t): Add field "progmem".  Order alphabetically.
	* config/avr/avr-log.c (avr_log_set_avr_log): Set avr_log.progmem.
	* config/avr/avr-c.c (langhooks.h): New include.
	(avr_register_target_pragmas): New function. Register address
	space __pgm.
	(avr_cpu_cpp_builtins): Add built-in define __PGM.
	* config/avr/avr.c: Include "c-family/c-common.h".
	(TARGET_LEGITIMATE_ADDRESS_P): Remove define.
	(TARGET_LEGITIMIZE_ADDRESS): Remove define.
	(TARGET_ADDR_SPACE_SUBSET_P): Define to...
	(avr_addr_space_subset_p): ...this new static function.
	(TARGET_ADDR_SPACE_CONVERT): Define to...
	(avr_addr_space_convert): ...this new static function.
	(TARGET_ADDR_SPACE_ADDRESS_MODE): Define to...
	(avr_addr_space_address_mode): ...this new static function.
	(TARGET_ADDR_SPACE_POINTER_MODE): Define to...
	(avr_addr_space_pointer_mode): ...this new static function.
	(TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Define to...
	(avr_addr_space_legitimate_address_p): ...this new static function.
	(TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Define to...
	(avr_addr_space_legitimize_address): ...this new static function.
	(avr_mode_code_base_reg_class): Handle address spaces.
	(avr_regno_mode_code_ok_for_base_p): Ditto.
	(lpm_addr_reg_rtx, lpm_reg_rtx, all_regs_rtx): New static variables.
	(avr_option_override): Initialize them.
	(output_reload_in_const): Use all_regs_rtx. Fix signedness of loop
	variables.
	(avr_pgm_segment): New static function.
	(avr_decl_pgm_p, avr_mem_pgm_p): New static functions.
	(avr_out_lpm, avr_out_lpm_no_lpmx): New static functions.
	(output_movqi, output_movhi, output_movsisf, avr_out_movpsi): Call
	avr_out_lpm to handle loads from progmem.
	(avr_load_libgcc_p): New static function.
	(avr_progmem_p): Test if decl is in flash.
	(avr_pgm_pointer_const_p): New static function.
	(avr_nonconst_pointer_addrspace): New static function.
	(avr_pgm_check_var_decl): New static function.
	(avr_insert_attributes): Use it.  Change error message to report
	cause (progmem or address space) when code wants to write to flash.
	(avr_section_type_flags): Unset section flag SECTION_BSS for
	data in progmem.
	* config/avr/predicates.md (nop_general_operand): New predicate.
	(nox_general_operand): New predicate.
	* config/avr/avr.md (LPM_REGNO): New define_constant.
	(load<mode>_libgcc): New expander.
	(*load.<mode>.libgcc): New insn.
	(mov<mode>): Handle loads from non-generic AS.
	(movmemhi): Ditto.  Propagate address space information to newly
	created MEM.
	(movqi_insn, *movhi, *movpsi, *movsi, *movsf): Change predicate #1
	to nox_general_operand.
	(ashrqi3, ashrhi3, ashrsi3): Change predicate #1 to nop_general_operand.
	(ashlqi3, *ashlqi3, ashlhi3, ashlsi3): Ditto.
	(lshrqi3, *lshrqi3, lshrhi3, lshrsi3): Ditto.
	(split-lpmx): New split.
	(*ashlhi3_const, *ashlsi3_const, *ashrhi3_const, *ashrsi3_const,
	*lshrhi3_const, *lshrsi3_const): Indent, unquote C.

libgcc/
	PR target/49868
	* config/avr/t-avr (LIB1ASMFUNCS): Add _load_3,  _load_4.
	* config/avr/lib1funcs.S (__load_3, __load_4, __xload_2): New functions.

From-SVN: r181378
2011-11-15 09:01:46 +00:00
Maxim Kuvyrkov
d2d668fbbb ipa-cp.c (ipa_value_from_jfunc): Make global.
* ipa-cp.c (ipa_value_from_jfunc): Make global.
	(ipa_cst_from_jfunc): Remove, use ipa_value_from_jfunc instead.
	(get_indirect_edge_target): Rename, make global.
	(devirtualization_time_bonus, estimate_local_effects,)
	(ipcp_discover_new_direct_edges): Update.
	* ipa-inline-analysis.c (evaluate_conditions_for_edge):
	Generalize to also handle types.  Rename to ...
	(evaluate_properties_for_edge): Use instead of
	evaluate_conditions_for_edge.
	(estimate_edge_devirt_benefit): New function.
	(estimate_calls_size_and_time): Use it.
	(estimate_node_size_and_time, estimate_ipcp_clone_size_and_time,)
	(inline_merge_summary):	Update.
	(do_estimate_edge_time, do_estimate_edge_growth): Update.  Calculate
	parameter information at the call site and pass it on to subroutines.
	* tree-inline.c (estimate_num_insns): Distinguish between direct and
	indirect calls.
	(init_inline_once): Set size and time costs or indirect calls.
	* tree-inline.h (eni_weights): Add indirect_call_cost.

From-SVN: r181377
2011-11-15 03:46:08 +00:00
GCC Administrator
e3790e8a9f Daily bump.
From-SVN: r181376
2011-11-15 00:18:38 +00:00
Tom de Vries
643400b8c9 re PR tree-optimization/51005 (-ftree-tail-merge slows down compilation of 20001226-1.c)
2011-11-15  Tom de Vries  <tom@codesourcery.com>

	PR tree-optimization/51005
	* tree-ssa-tail-merge.c (delete_basic_block_same_succ): Rename to
	mark_basic_block_deleted.
	(update_worklist): Inline purge_bbs.
	(purge_bbs, unlink_virtual_phi, update_vuses, vop_at_entry)
	(delete_block_update_dominator_info): Remove.
	(replace_block_by): Remove update_vops parameter.  Partially evaluate
	for update_vops == false.
	(apply_clusters): Remove update_vops parameter.  Remove update_vops
	argument in replace_block_by call.
	(update_debug_stmts): Remove MAY_HAVE_DEBUG_STMTS test.
	(tail_merge_optimize): Remove update_vops argument to apply_clusters.
	Remove call to purge_bbs.  Add calls to calculate_dominance_info and
	free_dominance_info.  Add MAY_HAVE_DEBUG_STMTS	before calling
	update_debug_stmts.  Mark vop var for renaming, if necessary.

From-SVN: r181372
2011-11-15 00:12:45 +00:00
Bernd Schmidt
894a84b5ed re PR rtl-optimization/51051 (build fails on cris-elf building libstdc++-v3)
PR rtl-optimization/51051
	* cfgrtl.c (cfg_layout_can_merge_blocks_p): Return FALSE if the
	move would cause fallthrough into the exit block.

From-SVN: r181371
2011-11-14 23:31:13 +00:00
Richard Henderson
2747a04662 rs6000: Rewrite sync patterns for atomic; expand early.
The conversion of the __sync post-reload splitters was half
complete.  Since there are nearly no restrictions on what may
appear between LL and SC, expand all the patterns immediatly.
This allows significantly easier code generation for subword
atomic operations.

From-SVN: r181370
2011-11-14 14:59:02 -08:00
Uros Bizjak
674a358147 sse.md (round<mode>2): Use register_operand for operand 1 predicate.
* config/i386/sse.md (round<mode>2): Use register_operand for
	operand 1 predicate.
	(round<mode>2_sfix): Ditto.
	(round<mode>2_vec_pack_sfix): Ditto for operand 1 and operand 2.

From-SVN: r181369
2011-11-14 23:27:13 +01:00
Ian Lance Taylor
5c262e9444 runtime: Use some of 6g runtime.c for easier merging.
From-SVN: r181368
2011-11-14 22:26:45 +00:00
Nathan Sidwell
8c121ccb53 * gcov.c (canonicalize_name): Protect use of S_ISLNK.
From-SVN: r181367
2011-11-14 21:44:01 +00:00
Torvald Riegel
2f5623b20c Trivial: add cleanup-tree-dump in testcase, fix typo in comment.
gcc/testsuite:
	* g++.dg/tm/template-1.C: Add cleanup-tree-dump. Fix typo in comment.

From-SVN: r181366
2011-11-14 21:06:15 +00:00