Commit Graph

119289 Commits

Author SHA1 Message Date
Paolo Carlini c62b924434 re PR c++/54323 (Friend function declaration not correctly identified with CRTP + enable_if)
2012-10-04  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/54323
	* g++.dg/cpp0x/pr54323.C: New.

From-SVN: r192083
2012-10-04 15:19:34 +00:00
Ian Lance Taylor 244e2d9cd3 dwarf.c: If the system header files do not declare strnlen, provide our own version.
* dwarf.c: If the system header files do not declare strnlen,
	provide our own version.

From-SVN: r192082
2012-10-04 15:16:09 +00:00
Richard Guenther 678771ad9c re PR tree-optimization/54735 (Segmentation fault in walk_aliased_vdefs_1)
2012-10-04  Richard Guenther  <rguenther@suse.de>

	PR middle-end/54735
	* tree-ssa-pre.c (do_pre): Make sure to update virtual SSA form before
	cleaning up the CFG.

	* g++.dg/torture/pr54735.C: New testcase.

From-SVN: r192078
2012-10-04 11:48:21 +00:00
Richard Guenther 5c1eb617e4 re PR lto/47788 (New LTO failures)
2012-10-04  Richard Guenther  <rguenther@suse.de>

	PR lto/47788
	* tree-streamer-out.c (write_ts_block_tree_pointers): For
	inlined functions outer scopes write the ultimate origin
	as BLOCK_ABSTRACT_ORIGIN and BLOCK_SOURCE_LOCATION.
	Do not stream the fragment chains.
	* tree-streamer-in.c (lto_input_ts_block_tree_pointers): Likewise.
	* dwarf2out.c (gen_subprogram_die): Handle NULL DECL_INITIAL.
	(dwarf2out_decl): Always output DECL_ABSTRACT function decls.

From-SVN: r192075
2012-10-04 11:23:18 +00:00
Arnaud Charlet 9cb62ce3c7 [multiple changes]
2012-10-04  Robert Dewar  <dewar@adacore.com>

	* sem_res.adb (Resolve_Set_Membership): Warn on duplicates.

2012-10-04  Emmanuel Briot  <briot@adacore.com>

	* g-comlin.adb (Getopt): Fix value of Full_Switch returned in case of
	invalid switch.

2012-10-04  Arnaud Charlet  <charlet@adacore.com>

	* gcc-interface/Make-lang.in: Update dependencies.

From-SVN: r192073
2012-10-04 11:23:38 +02:00
Arnaud Charlet 9479ded447 [multiple changes]
2012-10-04  Robert Dewar  <dewar@adacore.com>

	* sem_eval.adb (Fold_Str, Fold_Uint, Fold_Ureal): Reset static
	expression state after Resolve call.

2012-10-04  Robert Dewar  <dewar@adacore.com>

	* sem_prag.adb (Analyze_Pragma. case Warnngs): Don't make entry
	in the table for Warnings Off pragmas if within an instance.

2012-10-04  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch9.adb (Analyze_Entry_Body): Transfer
	Has_Pragma_Unreferenced flag from entry formal to corresponding
	entity in body, to prevent spurious warnings when pragma is
	present.

2012-10-04  Robert Dewar  <dewar@adacore.com>

	* s-bignum.adb (Big_Exp): Raise Storage_Error for ludicrously
	large results.

2012-10-04  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Check_Duplicate_Aspects): Diagnose properly
	aspects that appear in the partial and the full view of a type.

2012-10-04  Robert Dewar  <dewar@adacore.com>

	* sinfo.ads (N_Return_Statement): Removed.

2012-10-04  Tristan Gingold  <gingold@adacore.com>

	* init.c (__gl_zero_cost_exceptions): Comment it as not used
	anymore.
	* bindgen.adb (Gen_Adainit): Do not emit Zero_Cost_Exceptions
	anymore.

2012-10-04  Thomas Quinot  <quinot@adacore.com>

	* prep.adb, prepcomp.adb, gprep.adb, opt.ads: New preprocessor switch
	-a (all source text preserved).

From-SVN: r192072
2012-10-04 11:18:55 +02:00
Arnaud Charlet 65f7ed64ca [multiple changes]
2012-10-04  Vincent Celier  <celier@adacore.com>

	* prj-proc.adb (Recursive_Process): Use project directory
	display path name as the value of 'Project_Dir.

2012-10-04  Robert Dewar  <dewar@adacore.com>

	* exp_ch4.adb (Expand_Compare_Minimize_Eliminate_Overflow):
	Deal with case where we get a bignum operand and cannot do a
	range analysis.
	* sem_eval.adb (Why_Not_Static): Deal with bignum operands

2012-10-04  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch4.adb (Find_Unary_Types): Within an instance, an
	interpretation that involves a predefied arithmetic operator is
	not a candidate if the corresponding generic formal type is not
	a numeric type.
	* sem_util.ads, sem_util.adb (Corresonding_Generic_Type): If a
	type is a generic actual type within an instance, return the
	corresponding formal in the generic unit, otherwise return
	Any_Type.

From-SVN: r192071
2012-10-04 11:12:18 +02:00
Robert Dewar a40ada7ef7 checks.adb (Minimize_Eliminate_Overflow_Checks): Dont reanalyze if/case expression if nothing has changed (just reexpand).
2012-10-04  Robert Dewar  <dewar@adacore.com>

	* checks.adb (Minimize_Eliminate_Overflow_Checks): Dont reanalyze
	if/case expression if nothing has changed (just reexpand). Stops
	case expression from generating incorrect temporary.
	* exp_ch4.adb (Expand_Compare_Minimize_Eliminate_Overflow):
	Fix cut and paste typo for range analysis in NE (not equal) case.
	* sem_eval.adb (Compile_Time_Compare): Small optimization to
	catch some more cases.
	* types.ads (Suppressed_Or_Checked): New subtype of
	Overflow_Check_Type.

From-SVN: r192070
2012-10-04 11:10:08 +02:00
Arnaud Charlet f62b296e6a [multiple changes]
2012-10-04  Javier Miranda  <miranda@adacore.com>

	* exp_disp.adb (Set_CPP_Constructors_Old): Removed.
	(Set_CPP_Constructors): Code cleanup.

2012-10-04  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch10.adb (Is_Ancestor_Unit): Make global, for use elsewhere.
	(Install_Private_with_Clauses): if clause is private and limited,
	do not install the limited view if the library unit is an ancestor
	of the unit being compiled.  This unusual configuration occurs
	when compiling a unit DDP, when an ancestor P of DDP has a
	private limited with clause on a descendant of P that is itself
	an ancestor of DDP.

From-SVN: r192069
2012-10-04 11:08:20 +02:00
Arnaud Charlet 4bb43ffbb8 [multiple changes]
2012-10-04  Vincent Celier  <celier@adacore.com>

	* prj-proc.adb (Process_Package_Declaration): Use project
	directory display path name as the value of 'Project_Dir.

2012-10-04  Gary Dismukes  <dismukes@adacore.com>

	* exp_util.adb (Build_Allocate_Deallocate_Proc): The subpool can be
	given by an arbitrary name, so copy the tree to make the call's actual.

2012-10-04  Robert Dewar  <dewar@adacore.com>

	* s-exnllf.adb, s-exnllf.ads: Minor reformatting.

2012-10-04  Thomas Quinot  <quinot@adacore.com>

	* exp_ch6.adb: Minor reformatting.

2012-10-04  Pascal Obry  <obry@adacore.com>

	* projects.texi: Use consistently @command{} when referencing
	commands. Fix typos.

From-SVN: r192068
2012-10-04 11:05:53 +02:00
Arnaud Charlet 3b78de5632 dumpfile.h, dumpfile.c: Remove TDI_ada.
2012-10-04  Arnaud Charlet  <charlet@adacore.com>

	* dumpfile.h, dumpfile.c: Remove TDI_ada.

c-family/
	* c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
	* c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
	out of dumpfile.h.

c/
	* c-decl.c (c_write_global_declarations): Fix handling of
	-fdump-ada-spec*.

cp/
        * decl2.c (cp_write_global_declarations): Fix handling of
        -fdump-ada-spec*.

From-SVN: r192067
2012-10-04 10:51:31 +02:00
Eric Botcazou aef3607fef re PR rtl-optimization/54739 (FAIL: gcc.dg/lower-subreg-1.c scan-rtl-dump subreg1 "Splitting reg")
PR rtl-optimization/54739
	* gcc.dg/lower-subreg-1.c: Also skip on SPARC.

From-SVN: r192066
2012-10-04 08:15:11 +00:00
Yuri Rumyantsev dee7f32e24 i386.c (ix86_dep_by_shift_count_body): Add check on reload_completed since it can be invoked before register...
* config/i386/i386.c (ix86_dep_by_shift_count_body) : Add
         check on reload_completed since it can be invoked before
         register allocation phase in pre-reload schedule.
         (ia32_multipass_dfa_lookahead) : Do not use dfa_lookahead for pre-reload
         schedule to save compile time.
         (ix86_sched_reorder) : Do not perform ready list reordering for pre-reload
         schedule to save compile time.
         (insn_is_function_arg) : New function. Returns true if lhs of insn is
         HW function argument register.
         (add_parameter_dependencies) : New function. Add output dependencies
         for chain of function adjacent arguments if only there is a move to
         likely spilled HW registers. Return first argument if at least one
         dependence was added or NULL otherwise.
         (avoid_func_arg_motion) : New function. Add output or anti dependency
         from insn to first_arg to restrict code motion.
         (add_dependee_for_func_arg) : New function. Avoid cross block motion of
         function argument through adding dependency from the first non-jump
         insn in bb.
         (ix86_dependencies_evaluation_hook) : New function. Hook for pre-reload schedule:
         avoid motion of function arguments passed in passed in likely spilled
         HW registers.
         (ix86_adjust_priority) : New function. Hook for pre-reload schedule: set priority
         of moves from likely spilled HW registers to maximum to schedule them
         as soon as possible.
         (ix86_sched_init_global): Do not perform multipass scheduling for pre-reload
         schedule to save compile time.

From-SVN: r192065
2012-10-04 08:13:18 +00:00
Uros Bizjak 3d47a53a93 configure.ac (noexception_flags): Add -fasynchronous-unwind-tables.
* configure.ac (noexception_flags): Add -fasynchronous-unwind-tables.
	* configure: Regenerate.

From-SVN: r192062
2012-10-04 07:53:22 +02:00
Kaz Kojima 7d9f9bd1e4 sh.c (sh_can_use_simple_return_p): Return false for SHmedia and SHcompact using call_cookie.
* sh.c (sh_can_use_simple_return_p): Return false for SHmedia
	and SHcompact using call_cookie.
	* sh.md (epilogue): Emit non-inlined return insns for SHmedia
	and SHcompact using call_cookie.

From-SVN: r192061
2012-10-04 03:03:12 +00:00
GCC Administrator 3f15f285dc Daily bump.
From-SVN: r192059
2012-10-04 00:18:17 +00:00
Paolo Carlini 90f9c94e02 re PR libstdc++/53248 (std::array<T,0> doesn't work when T is not default-constructible)
2012-10-03  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/53248
	* include/std/array (__array_traits<>): Add.
	(array<>): Allow for zero-size arrays of non default-constructible
	elements.
	* testsuite/23_containers/array/requirements/
	non_default_constructible.cc: New.
	* testsuite/23_containers/array/requirements/zero_sized_arrays.cc:
	Adjust.
	* testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
	dg-error line numbers.
	* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
	Likewise.

From-SVN: r192056
2012-10-04 00:02:29 +00:00
Ian Lance Taylor be4ba8aef3 dwarf.c (read_uleb128): Fix overflow test.
* dwarf.c (read_uleb128): Fix overflow test.
	(read_sleb128): Likewise.
	(build_address_map): Don't change unit_buf.start.

From-SVN: r192053
2012-10-03 22:07:12 +00:00
Oleg Endo 91ba65f2f0 re PR target/51244 ([SH] Inefficient conditional branch and code around T bit)
PR target/51244
	* config/sh/sh.md (*mov_t_msb_neg): New insn and two accompanying
	unnamed split patterns.

	PR target/51244
	* gcc.target/sh/pr51244-12.c: New.

From-SVN: r192052
2012-10-03 21:39:18 +00:00
Oleg Endo 9597375a25 re PR target/50457 (SH2A atomic functions)
PR target/50457
	* config/sh/sh.c (parse_validate_atomic_model_option): Handle name
	strings in sh_atomic_model.
	* config/sh/sh.h (TARGET_CPU_CPP_BUILTINS): Move macro implementation
	to ...
	* config/sh/sh-c.c (sh_cpu_cpp_builtins): ... this new function.
	Add __SH1__ and __SH2__ defines.  Add __SH_ATOMIC_MODEL_*__ define.
	* config/sh/sh-protos.h (sh_atomic_model): Add name and cdef_name
	variables.
	(sh_cpu_cpp_builtins): Declare new function.

	PR target/50457
	* config/sh/linux-atomic.S: Delete.
	* config/sh/linux-atomic.c: New.
	* config/sh/t-linux (LIB2ADD): Replace linux-atomic.S with
	linux-atomic.c.  Add cflags to disable warnings.

From-SVN: r192051
2012-10-03 21:36:14 +00:00
Dehao Chen 846b158cd9 re PR middle-end/54782 (ICE: in change_scope, at final.c:1543 with -O -ffast-math -ftree-parallelize-loops=2 -g)
2012-10-03  Dehao Chen  <dehao@google.com>

gcc:
	PR middle-end/54782
	* tree-cfg.c (move_block_to_fn): Update lexical block for phi_args.

testsuite:
	PR middle-end/54782
	* gcc.dg/pr54782.c: New test.

From-SVN: r192049
2012-10-03 20:34:26 +00:00
Vladimir Makarov 9ce3692aeb Fix the last changelog date.
From-SVN: r192048
2012-10-03 19:14:39 +00:00
Vladimir Makarov dfc0f53a96 reginfo.c (max_regno_since_last_resize): New.
2012-09-27  Vladimir Makarov  <vmakarov@redhat.com>

	* reginfo.c (max_regno_since_last_resize): New.
	(reg_preferred_class, reg_alternate_class): Add assert.
	(allocate_reg_info): Initialize allocated reg info.
	(resize_reg_info): Make bigger reg_info and initialize new memory.
	(reginfo_init): Initialize max_regno_since_last_resize.
	(setup_reg_classes): Change assert.

From-SVN: r192047
2012-10-03 19:13:01 +00:00
Andrew W. Nosenko 953ac96606 Fix SSE and YMM state support check logic for -march=native
*  config/i386/driver-i386.c (host_detect_local_cpu): Fix logic
	in SSE and YMM state support check for -march=native.

From-SVN: r192044
2012-10-03 10:46:47 -07:00
Nick Clifton 7fb80860d6 rx.c (struct decl_chain): New local structure.
* config/rx/rx.c (struct decl_chain): New local structure.
	(warned_decls): New local variable.  Contains a stack of decls for
	which warnings have been issued.
	(add_warned_decl): Adds a decl to the stack.
	(already_warned): Returns true if a given decl is on the stack.
	(rx_set_current_function): Issue a warning if multiple fast
	interrupt handlers are defined.
	* config/rx/rx.opt (mwarn-multiple-fast-interrupts): New option.
	* doc/invoke.texi: Document the option.

From-SVN: r192041
2012-10-03 16:12:22 +00:00
Mark Kettenis af9e6b7458 config.gcc (*-*-openbsd4.[3-9]|*-*-openbsd[5-9]*): Set default_use_cxa_atexit to yes.
* config.gcc (*-*-openbsd4.[3-9]|*-*-openbsd[5-9]*): Set
	default_use_cxa_atexit to yes.

From-SVN: r192039
2012-10-03 15:44:06 +00:00
Jakub Jelinek 8b8de8b62c re PR rtl-optimization/54792 (-fcompare-debug failures introduced by r191493)
PR rtl-optimization/54792
	* sched-deps.c (find_modifiable_mems): Scan also TAIL insn.

From-SVN: r192038
2012-10-03 16:28:28 +02:00
Jakub Jelinek 75ab707c75 re PR c++/54777 ([C++11] Comma operator in constexpr environment can cause ICE)
PR c++/54777
	* semantics.c (cxx_eval_constant_expression) <case COMPOUND_EXPR>: If
	not ignoring the second operand, pass the original second operand
	and not one with stripped nops to cxx_eval_constant_expression.

	* g++.dg/cpp0x/constexpr-ref4.C: New test.

From-SVN: r192036
2012-10-03 16:21:20 +02:00
Arnaud Charlet 2352eadb81 [multiple changes]
2012-10-03  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (New_Overloaded_Entity): call
	Append_Inherited_Subprogram when appropriate.
	* sem_dim.adb (Analyze_Dimension_Call): Do not perform dimensional
	analysis if call has previous semantic error.
	* sem_util.ads, sem_util.adb (Append_Inherited_Subprogram):
	new subprogram to handle properly the visibility of inherited
	operations that are primitives of a type extension, when the
	parent type and operations are declared in the same visible part.

2012-10-03  Robert Dewar  <dewar@adacore.com>

	* checks.adb (Minimize_Eliminate_Overflow_Checks): Properly
	handle case of top level expression within type conversion
	* gnat1drv.adb (Adjust_Global_Switches): Set SUPPRESSED as
	default for overflow checking for -gnatg mode (includes run-time).
	* sem_res.adb (Resolve_Type_Conversion): Avoid bogus warnings
	about redundant conversions from MINIMIZED/EXTENDED mode checking

From-SVN: r192029
2012-10-03 10:11:48 +02:00
Javier Miranda 3bfb3c03da exp_ch4.adb (Expand_N_Allocator_Expression): Minor code reorganization and cleanup.
2012-10-03  Javier Miranda  <miranda@adacore.com>

	* exp_ch4.adb (Expand_N_Allocator_Expression): Minor code
	reorganization and cleanup. Done to ensure proper management of
	the C++ constructor covering tagged and untagged types and also
	non-default constructors.
	* exp_ch6.ads, exp_ch6.adb (Make_CPP_Constructor_Call_In_Allocator):
	New subprogram.

From-SVN: r192028
2012-10-03 10:09:15 +02:00
Arnaud Charlet 71fb4dc8c8 [multiple changes]
2012-10-03  Gary Dismukes  <dismukes@adacore.com>

	* sem_ch6.adb: Minor typo fix.

2012-10-03  Robert Dewar  <dewar@adacore.com>

	* checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated):
	Set Top_Level properly (to False) for operand of range of
	membership test.
	* exp_ch4.adb (Expand_Membership_Minimize_Eliminate_Overflow):
	Fix crash with -gnato3 and membership operations.
	(Expand_Membership_Minimize_Eliminate_Overflow): Fix error message
	and wrong results for -gnato3 large expression and predicated
	subtype.
	(Expand_Membership_Minimize_Eliminate_Overflow): Use
	expression action node to avoid using insert actions (bombs in
	some cases).
	(Expand_Compare_Minimize_Eliminate_Overflow): Use expression action
	node to avoid using insert actions (bombs in some cases).

2012-10-03  Javier Miranda  <miranda@adacore.com>

	* exp_disp.adb (Set_CPP_Constructors_Old): Handle constructor of
	untagged type that has all its parameters with defaults and hence it
	covers the default constructor.

From-SVN: r192027
2012-10-03 10:07:31 +02:00
Arnaud Charlet 3ada950b10 [multiple changes]
2012-10-03  Yannick Moy  <moy@adacore.com>

	* checks.adb, sem_prag.adb, s-bignum.ads: Minor typo fixes.

2012-10-03  Thomas Quinot  <quinot@adacore.com>

	* g-socket.adb (Connect_Socket, version with timeout): When the
	newly-connected socket is reported as available for writing, check
	whether it has a pending asynchronous error prior to returning.

2012-10-03  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Check_Conformance): Additional info when subtype
	conformance fails, due to a missing null exclusion indicatar in
	a formal that must match a controlling access formal.

From-SVN: r192026
2012-10-03 10:04:27 +02:00
Ian Lance Taylor bd2e46c825 libgo: Update to Go 1.0.3.
From-SVN: r192025
2012-10-03 05:27:36 +00:00
Ian Lance Taylor bed6238ce6 compiler: Fix a, b, c := b, a, 1 when a and b already exist.
From-SVN: r192022
2012-10-03 05:03:24 +00:00
GCC Administrator e1d90a813c Daily bump.
From-SVN: r192018
2012-10-03 00:17:56 +00:00
Ian Lance Taylor 64a5739068 compiler: Fix a couple of type reflection strings.
From-SVN: r192014
2012-10-02 23:50:23 +00:00
Ian Lance Taylor e395eacb4e compiler: Fix parse of (<- chan <- chan <- int)(x).
From-SVN: r192011
2012-10-02 22:22:28 +00:00
H.J. Lu d8ea0885d7 Document -mprefer-avx128
PR target/54785
	* doc/invoke.texi: Document -mprefer-avx128.

From-SVN: r192007
2012-10-02 14:11:21 -07:00
Andrew Pinski fa607ddad0 simplify-rtx.c (simplify_unary_operation_1 <case TRUNCATE>): Don't optimize a truncate of a mem if it is a vector mode.
2012-10-02  Andrew Pinski  <apinski@cavium.com>

	* simplify-rtx.c (simplify_unary_operation_1 <case TRUNCATE>):
	Don't optimize a truncate of a mem if it is a vector mode.

From-SVN: r192006
2012-10-02 14:03:37 -07:00
Janus Weil 0a59e5832e re PR fortran/54778 ([OOP] an ICE on invalid OO code)
2012-10-02  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/54778
	* interface.c (matching_typebound_op): Check for 'class_ok' attribute.

2012-10-02  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/54778
	* gfortran.dg/class_53.f90: New.

From-SVN: r192005
2012-10-02 23:02:16 +02:00
Jonathan Wakely 1504e3e1c4 re PR other/53889 (Gthreads doesn't support destroying recursive mutexes)
libgcc:

	PR other/53889
	* gthr.h (__gthread_recursive_mutex_destroy): Document new required
	function.
	* gthr-posix.h (__gthread_recursive_mutex_destroy): Define.
	* gthr-single.h (__gthread_recursive_mutex_destroy): Likewise.
	* config/gthr-rtems.h (__gthread_recursive_mutex_destroy): Likewise.
	* config/gthr-vxworks.h (__gthread_recursive_mutex_destroy): Likewise.
	* config/i386/gthr-win32.h (__gthread_recursive_mutex_destroy):
	Likewise.
	* config/mips/gthr-mipssde.h (__gthread_recursive_mutex_destroy):
	Likewise.
	* config/pa/gthr-dce.h (__gthread_recursive_mutex_destroy): Likewise.
	* config/s390/gthr-tpf.h (__gthread_recursive_mutex_destroy): Likewise.

libstdc++-v3:

	PR other/53889
	* include/std/mutex (__recursive_mutex_base::~__recursive_mutex_base):
	Use __gthread_recursive_mutex_destroy.
	(__recursive_mutex_base::_S_destroy): Remove.
	(__recursive_mutex_base::_S_destroy_win32): Likewise.
	* include/ext/concurrence.h (__recursive_mutex::~__recursive_mutex):
	Use __gthread_recursive_mutex_destroy.
	(__recursive_mutex::_S_destroy): Remove.
	(__recursive_mutex::_S_destroy_win32): Likewise.

From-SVN: r192002
2012-10-02 21:22:32 +01:00
Alexandre Oliva e9f950ba0d re PR debug/54551 (DF resets some DEBUG_INSNs unnecessarily)
gcc/ChangeLog:
PR debug/54551
* Makefile.in (VALTRACK_H): Add hash-table.h.
* valtrack.h: Include hash-table.h.
(struct dead_debug_global_entry): New.
(struct dead_debug_hash_descr): New.
(struct dead_debug_global): New.
(struct dead_debug): Rename to...
(struct dead_debug_local): ... this.  Adjust all uses.
(dead_debug_global_init, dead_debug_global_finish): New.
(dead_debug_init): Rename to...
(dead_debug_local_init): ... this.  Adjust all callers.
(dead_debug_finish): Rename to...
(dead_debug_local_finish): ... this.  Adjust all callers.
* valtrack.c (dead_debug_global_init): New.
(dead_debug_init): Rename to...
(dead_debug_local_init): ... this.  Take global parameter.
Save it and initialize used bitmap from it.
(dead_debug_global_find, dead_debug_global_insert): New.
(dead_debug_global_replace_temp): New.
(dead_debug_promote_uses): New.
(dead_debug_finish): Rename to...
(dead_debug_local_finish): ... this.  Promote remaining uses.
(dead_debug_global_finish): New.
(dead_debug_add): Try to replace global temps first.
(dead_debug_insert_temp): Support global replacements.
* dce.c (word_dce_process_block, dce_process_block): Add
global_debug parameter.  Pass it on.
(fast_dce): Initialize, pass on and finalize global_debug.
* df-problems.c (df_set_unused_notes_for_mw): Adjusted.
(df_create_unused_notes, df_note_bb_compute): Likewise.
(df_note_compute): Justify local-only dead debug analysis.
gcc/testsuite/ChangeLog:
PR debug/54551
* gcc.dg/guality/pr54551.c: New.

From-SVN: r192001
2012-10-02 20:06:08 +00:00
Alexandre Oliva 58b88be9de re PR debug/53135 (Duplicates cause size explosion (vta/dwarf))
PR debug/53135
* dwarf2out.c (value_format): Use block4 for dw_val_class_loc
when needed.

From-SVN: r192000
2012-10-02 20:05:24 +00:00
Alexandre Oliva 75a5b7dd33 re PR debug/54177 (Segfault in cselib_lookup due to NULL_RTX passed from vt_add_function_parameter)
PR debug/54177
* var-tracking.c (vt_add_function_parameter): Bail if
var_lowpart fails.

From-SVN: r191999
2012-10-02 19:58:37 +00:00
H.J. Lu a91529c4eb Check SSE and YMM state support for -march=native
2012-10-02  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/54741
	*  config/i386/driver-i386.c (XCR_XFEATURE_ENABLED_MASK): New.
	(XSTATE_FP): Likewise.
	(XSTATE_SSE): Likewise.
	(XSTATE_YMM): Likewise.
	(host_detect_local_cpu): Disable AVX, AVX2, FMA, FMA4 and XOP if
	SSE and YMM states aren't supported.

From-SVN: r191998
2012-10-02 12:49:01 -07:00
Richard Sandiford dccb154f14 mips.md (*baddu_si_eb, [...]): Merge into...
gcc/
	* config/mips/mips.md (*baddu_si_eb, *baddu_si_el): Merge into...
	(*baddu_si): ...this new pattern.

From-SVN: r191997
2012-10-02 19:37:24 +00:00
Richard Sandiford a2c19e9343 ira-int.h (target_ira_int): Add x_ira_useful_class_mode_regs.
gcc/
	* ira-int.h (target_ira_int): Add x_ira_useful_class_mode_regs.
	(ira_useful_class_mode_regs): New macro.
	* ira.c (clarify_prohibited_class_mode_regs): Set up
	ira_useful_class_mode_regs.
	* ira-color.c (setup_profitable_hard_regs): Use it to initialise
	profitable_hard_regs.

From-SVN: r191996
2012-10-02 19:34:49 +00:00
Richard Sandiford c9d74da68c ira.h (target_ira): Add x_ira_class_singleton.
gcc/
	* ira.h (target_ira): Add x_ira_class_singleton.
	(ira_class_singleton): New macro.
	* ira.c (setup_prohibited_class_mode_regs): Set up ira_class_singleton.
	* ira-build.c (update_conflict_hard_reg_costs): Use
	ira_class_singleton to check for classes with a single
	allocatable register.
	* ira-lives.c (ira_implicitly_set_insn_hard_regs): Likewise.
	(single_reg_class): Likewise.  When more than one class is specified,
	check whether they have the same singleton register.
	(process_single_reg_class_operands): Require single_reg_class
	to return NO_REGS or a class with a single allocatable register.
	Obtain that register from ira_class_singleton.

From-SVN: r191995
2012-10-02 19:34:38 +00:00
Michael Meissner 59a2dfe8d7 If no -mcpu=<xxx> or implicit cpu via --with-cpu=<xxx> configure option, inhereit all TARGET_DEFAULT bits.
From-SVN: r191993
2012-10-02 18:08:02 +00:00
Pat Haugen 6b7fa93a48 pr46728-1.c: Accept xssqrtdp.
* gcc.target/powerpc/pr46728-1.c: Accept xssqrtdp.
	* gcc.target/powerpc/pr46728-2.c: Likewise.

From-SVN: r191992
2012-10-02 17:50:52 +00:00