Commit Graph

112098 Commits

Author SHA1 Message Date
Jason Merrill
d602756341 re PR c++/35722 ([C++0x] Variadic templates expansion into non-variadic class template)
PR c++/35722
	Implement N2555 (expanding pack expansion to fixed parm list)
	* pt.c (coerce_template_parms): Allow expanding a pack expansion
	to a fixed-length argument list.
	(unify_pack_expansion): Handle explicit args properly.
	(unify) [TREE_VEC]: Handle pack expansions here.
	[TYPE_ARGUMENT_PACK]: Not here.
	(tsubst_pack_expansion): Don't try to do partial substitution.
	(pack_deducible_p): New.
	(fn_type_unification): Use it.
	(find_parameter_packs_r): Take the TYPE_MAIN_VARIANT
	of a type parameter.
	(check_non_deducible_conversion): Split from type_unification_real.
	(unify_one_argument): Split from type_unification_real...
	(unify_pack_expansion): ...and here.  Drop call_args_p parm.
	(type_unification_real, unify, more_specialized_fn): Adjust.

From-SVN: r179436
2011-10-02 17:45:01 -04:00
Jason Merrill
f10eaa2dcc class.c (fixed_type_or_null): Handle NSDMI.
* class.c (fixed_type_or_null): Handle NSDMI.
	* method.c (walk_field_subobs): Disable NSDMI noexcept checking
	for now.

From-SVN: r179435
2011-10-02 17:44:52 -04:00
Gerald Pfeifer
3bf108578e * invoke.texi (SPARC Options): Refer to GNU/Linux.
From-SVN: r179434
2011-10-02 20:51:29 +00:00
Richard Sandiford
e4c07adeb0 re PR target/50579 (gcc.target/mips/20020620-1.c FAILs on IRIX 6.5)
gcc/testsuite/
	PR target/50579
	* gcc.target/mips/mips.exp (mips_long32_abi_p, mips_long64_abi_p):
	New procedures.
	(mips-dg-options): Force an ABI option if the current ABI is
	incompatible with the required -mlong setting.  Likewise force
	a long setting if the current one is incompatible with the
	chosen ABI.  Keep abi_test_option_p, abi and eabi_p updated
	throughout procedure.
	* gcc.target/mips/abi-o64-long64.c: Require -mno-abicalls
	instead of addressing=absolute.

From-SVN: r179433
2011-10-02 18:29:27 +00:00
Richard Sandiford
d9b59f5634 mips.c (mips_frame_barrier): New function.
gcc/
	* config/mips/mips.c (mips_frame_barrier): New function.
	(mips_expand_prologue): Call it after allocating stack space.
	(mips_deallocate_stack): New function.
	(mips_expand_epilogue): Call mips_frame_barrier and
	mips_deallocate_stack.

gcc/testsuite/
	* gcc.target/mips/stack-1.c: New test.

From-SVN: r179432
2011-10-02 17:46:11 +00:00
Richard Sandiford
31045a25f3 re PR target/49696 (ICE on mips when compiling drizzle)
gcc/
	PR target/49696
	* config/mips/sync.md (sync_<optab>_12): Allow zero operands.
	(sync_old_<optab>_12, sync_new_<optab>_12, sync_nand_12): Likewise.
	(sync_old_nand_12, sync_new_nand_12, test_and_set_12): Likewise.

gcc/testsuite/
	* gcc.dg/pr49696.c: New test.

From-SVN: r179431
2011-10-02 17:45:10 +00:00
Jan Hubicka
4762f56169 * cgraphunit.c (verify_edge_count_and_frequency): Bounds check.
From-SVN: r179430
2011-10-02 15:06:11 +00:00
Jan Hubicka
467a8db025 cgraphunit.c (ipa_passes): Remove unrechable nodes.
* cgraphunit.c (ipa_passes): Remove unrechable nodes.
	* lto-streamer-out.c (produce_symtab): Skip unused extern declarations.
	* ipa.c (cgraph_remove_unreachable_nodes): Do not assume that external
	functions are reachable when address is taken.
	* ipa-inline-analysis.c (reset_inline_edge_summary): New

	* gcc.dg/ipa/ctor-empty-1.c: Update dump file.

From-SVN: r179429
2011-10-02 14:30:50 +00:00
Jan Hubicka
78e5ce9f1e * ipa-inline-analysis.c (inline_summary_alloc): Bounds check.
From-SVN: r179428
2011-10-02 14:28:18 +00:00
Jan Hubicka
1c52c60148 ipa-inline-analysis.c (reset_inline_edge_summary): New function.
* ipa-inline-analysis.c (reset_inline_edge_summary): New function.
	(reset_inline_summary): New function.
	(compute_inline_parameters, inline_node_removal_hook,
	inline_edge_removal_hook): Use it.
	(inline_free_summary): Reset holders correctly.
	(inline_generate_summary): Free summary before computing it.

From-SVN: r179427
2011-10-02 13:59:28 +00:00
Paolo Carlini
61e0e2f8af re PR preprocessor/36819 (memleak in split_quote_chain)
2011-10-02  Paolo Carlini  <paolo.carlini@oracle.com>

	PR preprocessor/36819
	* incpath.c (merge_include_chains): Call free_path on
	heads[QUOTE] and tails[QUOTE].

From-SVN: r179426
2011-10-02 12:31:40 +00:00
Revital Eres
e8775f2593 Fix r179381: add missing period in testsuite/Changelog.
From-SVN: r179425
2011-10-02 11:14:53 +00:00
Jan Hubicka
ed0d2da02b re PR lto/47247 (Linker plugin specification makes it difficult to handle COMDATs)
PR lto/47247
	* lto-plugin.c (get_symbols_v2): New variable.
	(write_resolution): Use V2 API when available.
	(onload): Handle LDPT_GET_SYMBOLS_V2.

	* lto-symtab.c (lto_symtab_resolve_symbols): Do not resolve
	when resolution is already availbale from plugin.
	(lto_symtab_merge_decls_1): Handle LDPR_PREVAILING_DEF_IRONLY_EXP.
	* cgraph.c (ld_plugin_symbol_resolution): Add prevailing_def_ironly_exp.
	* lto-cgraph.c (LDPR_NUM_KNOWN): Update.
	* ipa.c (varpool_externally_visible_p): IRONLY variables are never
	externally visible.
	* varasm.c (resolution_to_local_definition_p): Add
	LDPR_PREVAILING_DEF_IRONLY_EXP.
	(resolution_local_p): Likewise.

	* common.c (lto_resolution_str): Add new resolution.
	* common.h (lto_resolution_str): Likewise.

From-SVN: r179424
2011-10-02 10:41:24 +00:00
David S. Miller
96d7b15ff3 Start adding support for VIS 3.0 instructions.
gcc/

	* config/sparc/sparc.opt (VIS3): New option.
	* doc/invoke.texi: Document it.
	* config/sparc/sparc.h: Force TARGET_VIS3 to zero if assembler is
	not capable of such instructions.
	* config/sparc/sparc-c.c (sparc_target_macros): Define __VIS__
	to 0x300 when TARGET_VIS3.
	* config/sparc/sparc-modes.def: Create 16-byte vector modes.
	* config/sparc/sparc.md (UNSPEC_CMASK8, UNSPEC_CMASK16, UNSPEC_CMASK32,
	UNSPEC_FCHKSM16, UNSPEC_PDISTN, UNSPC_FUCMP): New unspecs.
	(V64N8, VASS): New mode iterators.
	(vis3_shift, vis3_addsub_ss): New code iterators.
	(vbits, vconstr): New mode attributes.
	(vis3_shift_insn, vis3_addsub_ss_insn): New code attributes.
	(cmask8<P:mode>_vis, cmask16<P:mode>_vis, cmask32<P:mode>_vis,
	fchksm16_vis, <vis3_shift_insn><vbits>_vis, pdistn<mode>_vis,
	fmean16_vis, fpadd64_vis, fpsub64_vis, <vis3_addsub_ss_insn><vbits>_vis,
	fucmp<code>8<P:mode>_vis): New VIS 3.0 instruction patterns.
	* config/sparc/sparc.c (sparc_option_override): Set MASK_VIS3 by
	default when targetting capable cpus.  TARGET_VIS3 implies
	TARGET_VIS2 and TARGET_VIS, and clear them when TARGET_FPU is
	disabled.
	(sparc_vis_init_builtins): Emit new VIS 3.0 builtins.
	(sparc_fold_builtin): Do not eliminate cmask{8,16,32} when result
	is ignored.
	* config/sparc/visintrin.h (__vis_cmask8, __vis_cmask16,
	__vis_cmask32, __vis_fchksm16, __vis_fsll16, __vis_fslas16,
	__vis_fsrl16, __vis_fsra16, __vis_fsll32, __vis_fslas32,
	__vis_fsrl32, __vis_fsra32, __vis_pdistn, __vis_fmean16,
	__vis_fpadd64, __vis_fpsub64, __vis_fpadds16, __vis_fpadds16s,
	__vis_fpsubs16, __vis_fpsubs16s, __vis_fpadds32, __vis_fpadds32s,
	__vis_fpsubs32, __vis_fpsubs32s, __vis_fucmple8, __vis_fucmpne8,
	__vis_fucmpgt8, __vis_fucmpeq8): New VIS 3.0 interfaces.
	* doc/extend.texi: Document new VIS 3.0 builtins.

gcc/testsuite/

	* gcc.target/sparc/cmask.c: New test.
	* gcc.target/sparc/fpadds.c: New test.
	* gcc.target/sparc/fshift.c: New test.
	* gcc.target/sparc/fucmp.c: New test.
	* gcc.target/sparc/vis3misc.c: New test.

From-SVN: r179421
2011-10-01 19:21:20 -07:00
GCC Administrator
6a5edb85c2 Daily bump.
From-SVN: r179420
2011-10-02 00:17:58 +00:00
Eric Botcazou
34672f15e4 * ira-color.c (assign_hard_reg): Fix typo.
From-SVN: r179415
2011-10-01 19:42:54 +00:00
François Dumont
cdfa3dbb86 vector (vector<>::erase(iterator, iterator): Check iterators equality using normal iterators.
2011-10-01  François Dumont  <fdumont@gcc.gnu.org>

        * include/debug/vector (vector<>::erase(iterator, iterator): Check
        iterators equality using normal iterators.
        * include/debug/deque (deque<>::erase(iterator, iterator): Likewise.

From-SVN: r179414
2011-10-01 19:21:57 +00:00
Janus Weil
e323640fb2 re PR fortran/50585 (ICE with assumed length character array argument)
2011-10-01  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/50585
	* interface.c (get_expr_storage_size): Check if 'length' component is
	associated.


2011-10-01  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/50585
	* gfortran.dg/assumed_charlen_arg_2.f90: New.

From-SVN: r179413
2011-10-01 13:41:41 +02:00
GCC Administrator
48843306cd Daily bump.
From-SVN: r179410
2011-10-01 00:17:57 +00:00
Jason Merrill
3af07c22a1 cp-tree.h (TREE_NEGATED_INT): Remove.
* cp-tree.h (TREE_NEGATED_INT): Remove.
	* semantics.c (finish_unary_op_expr): Don't set it.

From-SVN: r179400
2011-09-30 13:47:40 -04:00
Janis Johnson
ac6fb7a4a9 re PR c++/44473 (iterators already defined for std::vector when using std::decimal)
gcc/cp
	PR c++/44473
	* mangle.c (write_type): Handle CV qualifiers for decimal classes.
gcc/testsuite
	PR c++/44473
	* g++.dg/dfp/44473-1.C: New test.
	* g++.dg/dfp/44473-2.C: New test.
	* g++.dg/dfp/mangle-1.C: New test.
	* g++.dg/dfp/mangle-2.C: New test.
	* g++.dg/dfp/mangle-3.C: New test.
	* g++.dg/dfp/mangle-4.C: New test.
	* g++.dg/dfp/mangle-5.C: New test.

From-SVN: r179399
2011-09-30 17:33:41 +00:00
H.J. Lu
06ef8c2e55 Add missing ','.
2011-09-30  H.J. Lu  <hongjiu.lu@intel.com>

	* doc/extend.texi: Add missing ','.

From-SVN: r179397
2011-09-30 09:29:06 -07:00
H.J. Lu
ad7715f324 Use 64bit integer for LTO symbol ID.
gcc/lto

2011-09-30  H.J. Lu  <hongjiu.lu@intel.com>
	    Andi Kleen  <ak@linux.intel.com>

	PR lto/50568
	* lto.c (lto_splay_tree_delete_id): New.
	(lto_splay_tree_compare_ids): Likewise.
	(lto_splay_tree_lookup): Likewise.
	(lto_splay_tree_id_equal_p): Likewise.
	(lto_splay_tree_insert): Likewise.
	(lto_splay_tree_new): Likewise.
	(lto_resolution_read): Change id to unsigned HOST_WIDE_INT.
	Use lto_splay_tree_id_equal_p and lto_splay_tree_lookup.
	(create_subid_section_table): Use lto_splay_tree_lookup and
	lto_splay_tree_insert.
	(lto_file_read): Use lto_splay_tree_new.

lto-plugin/

2011-09-30  H.J. Lu  <hongjiu.lu@intel.com>
	    Andi Kleen  <ak@linux.intel.com>

	PR lto/50568
	* lto-plugin.c (sym_aux): Change id to unsigned long long.
	(plugin_symtab): Likewise.
	(dump_symtab): Likewise.
	(resolve_conflicts): Likewise.
	(process_symtab): Likewise.

Co-Authored-By: Andi Kleen <ak@linux.intel.com>

From-SVN: r179395
2011-09-30 08:48:51 -07:00
Bernd Schmidt
11e69edcdc c6x-common.c (c6x_option_optimization_table): Enable -fmodulo-sched at -O2 and above.
* common/config/c6x/c6x-common.c (c6x_option_optimization_table):
	Enable -fmodulo-sched at -O2 and above.
	* config/c6x/c6x.md (doloop_end): New expander.
	(mvilc, sploop, spkernel, loop_end): New patterns.
	(loop_end with memory destination splitter): New.
	* config/c6x/c6x.c: Include "hw-doloop.h".
	(enum unitreqs): New.
	(unit_req_table): New typedef.
	(unit_reqs): New static variable.
	(unit_req_factor, get_unit_reqs, count_unit_reqs, merge_unit_reqs,
	res_mii, split_delayed_nonbranch, undo_split_delayed_nonbranch,
	hwloop_pattern_reg, bb_earliest_end_cycle, filter_insns_above,
	hwloop_optimize, hwloop_fail, c6x_hwloops): New static functions.
	(struct c6x_sched_context): New member last_scheduled_iter0.
	(init_sched_state): Initialize it.
	(c6x_variable_issue): Update it.
	(sploop_max_uid_iter0): New static variable.
	(c6x_sched_reorder_1): Be careful about issuing sploop.
	(c6x_reorg): Call c6x_hwlooops before the final schedule.

From-SVN: r179393
2011-09-30 15:37:43 +00:00
Georg-Johann Lay
fe780c134a re PR target/50566 ([avr]: Add support for better logging similar to -mdeb)
PR target/50566
	* config/avr/avr-protos.h (avr_log_t): New field address_cost.
	* config/avr/avr.c (avr_address_cost): Use it.
	* config/avr/avr-log.c (avr_log_set_avr_log): Initialize it.
	(avr_log_vadump): Unknown %-codes finish printing.

From-SVN: r179391
2011-09-30 15:15:23 +00:00
Jakub Jelinek
383841506e re PR inline-asm/50571 (Undesirable folding in "m" constrained asm operands)
PR inline-asm/50571
	* gimple-fold.c (fold_stmt_1) <case GIMPLE_ASM>: If
	input constraints allow mem and not reg, pass true instead of
	false as second argument to maybe_fold_reference.

	* gcc.dg/pr50571.c: New test.

From-SVN: r179389
2011-09-30 17:01:27 +02:00
Jakub Jelinek
0ccb5dbf93 re PR tree-optimization/46309 (optimization a==3||a==1)
PR tree-optimization/46309
	* fold-const.c (make_range, merge_ranges): Remove prototypes.
	(make_range_step): New function.
	(make_range): Use it.
	* tree.h (make_range_step): New prototypes.
	* Makefile.in (tree-ssa-reassoc.o): Depend on $(DIAGNOSTIC_CORE_H).
	* tree-ssa-reassoc.c: Include diagnostic-core.h.
	(struct range_entry): New type.
	(init_range_entry, range_entry_cmp, update_range_test,
	optimize_range_tests): New functions.
	(reassociate_bb): Call optimize_range_tests.

	* gcc.dg/pr46309.c: New test.

From-SVN: r179388
2011-09-30 17:00:12 +02:00
Jakub Jelinek
915afed63e tree-ssa-structalias.c (find_func_aliases_for_builtin_call): Handle BUILT_IN_STRDUP and BUILT_IN_STRNDUP.
* tree-ssa-structalias.c (find_func_aliases_for_builtin_call): Handle
	BUILT_IN_STRDUP and BUILT_IN_STRNDUP.
	* tree-ssa-alias.c (call_may_clobber_ref_p_1): Likewise.  Fix
	handling of BUILT_IN_STRNCAT and BUILT_IN_STRNCAT_CHK.
	(ref_maybe_used_by_call_p_1): Fix handling of BUILT_IN_STRCAT,
	BUILT_IN_STRNCAT, BUILT_IN_STRCAT_CHK and BUILT_IN_STRNCAT_CHK.

	* gcc.dg/strlenopt-21.c: New test.

Co-Authored-By: Richard Guenther <rguenther@suse.de>

From-SVN: r179387
2011-09-30 16:58:27 +02:00
Jan Beulich
49f836ba6f Split out LTO's writing of top level asm nodes in preparation of extending what...
Split out LTO's writing of top level asm nodes in preparation of extending
what needs to be written out when top level asm-s get enhanced to accept a
limited set of input operands.

gcc/
2011-09-30  Jan Beulich  <jbeulich@suse.com>

	* lto-cgraph.c (output_cgraph): Remove processing of
	'cgraph_asm_nodes', call lto_output_toplevel_asms() instead.
	(input_cgraph_1): Remove loop calling cgraph_add_asm_node(), call
	lto_input_toplevel_asms() instead.
	* lto-section-in.c (lto_section_name): Add "asm" entry.
	* lto-streamer-in.c (lto_input_toplevel_asms): New.
	* lto-streamer-out.c (lto_output_toplevel_asms): New.
	* lto-streamer.h (LTO_minor_version): Bump.
	(enum lto_section_type): Add LTO_section_asm.
	(struct lto_asm_header): New.
	(lto_input_toplevel_asms, lto_output_toplevel_asms): Declare.
	* tree-streamer.h (streamer_write_string_cst): Declare.
	* tree-streamer-out.c (write_string_cst): Rename to
	streamer_write_string_cst and make global. Handle incoming string
	being NULL.
	(streamer_write_tree_header): Adjust call to renamed function.

From-SVN: r179386
2011-09-30 14:56:01 +00:00
Bernd Schmidt
7043b893da sched-ebb.c (schedule_ebb): No longer static.
* sched-ebb.c (schedule_ebb): No longer static.  Remove declaration.
	New arg modulo_scheduling.  All callers changed.  Move note handling
	code here from schedule_ebbs.
	(schedule_ebbs_finish, schedule_ebbs_init): New functions, broken
	out of schedule_ebbs.
	(schedule_ebbs): Call them.  Remove note handling code moved to
	schedule_ebb.
	* sched-int.h (schedule_ebb, schedule_ebbs_init,
	schedule_ebbs_finish): Declare.

From-SVN: r179385
2011-09-30 14:12:34 +00:00
Iain Sandoe
a912d7d96f Partial reversion of r179358.
ada:
	Partial reversion of r179358.

	* gcc-interface/Makefile.in (Darwin): Partial reversion of previous
	change to powerpc section.

From-SVN: r179384
2011-09-30 13:44:48 +00:00
Bernd Schmidt
06d7e8e706 haifa-sched.c (modulo_ii, [...]): New static variables.
* haifa-sched.c (modulo_ii, modulo_max_states, modulo_n_insns,
	modulo_insns_scheduled, modulo_iter0_max_uid, modulo_backtracks_left,
	modulo_last_stage): New static variables.
	(set_modulo_params, discard_delay_pairs_above): New functions.
	(struct delay_pair): New member stages.
	(htab_i2_traverse, htab_i1_traverse): New static functions.
	(record_delay_slot_pair): New arg stages.  All callers changed.
	Record it.
	(pair_delay): Take stages into account.
	(add_delay_dependencies): Don't do so for stage pairs.
	(struct sched_block_state): New member modulo_epilogue.
	(save_backtrack_point): Don't set SHADOW_P for stage pairs.
	(unschedule_insns_until): Decrease modulo_insns_scheduled.
	Set HARD_DEP without using or.
	(resolve_dependencies): New static function.
	(prune_ready_list): New arg modulo_epilogue_p.  All callers changed.
	If it is true, allow only insns with INSN_EXACT_TICK set.
	(schedule_block): Return bool, always true for normal scheduling,
	true or false depending on modulo scheduling success otherwise.
	Add bookkeeping for modulo scheduling, and call resolve_dependencies
	on everything left over after a modulo schedule.
	(haifa_sched_init): Remove check_cfg call.  Clear modulo_ii.
	* sched-int.h (schedule_block, record_delay_slot_pair): Adjust
	declarations.
	(set_modulo_params, discard_delay_pairs_above): Declare.
	* params.def (PARAM_MAX_MODULO_BACKTRACK_ATTEMPS): New.
	* doc/invoke.texi (--param): Document it.

From-SVN: r179383
2011-09-30 13:33:54 +00:00
Richard Guenther
ccb3dd5a14 re PR tree-optimization/50574 (gcc.c-torture/execute/vector-compare-1.c FAILs on SPARC)
2011-09-30  Richard Guenther  <rguenther@suse.de>

	PR middle-end/50574
	* tree-cfg.c (verify_gimple_comparison): Compare component
	mode sizes for vector comparisons.

From-SVN: r179382
2011-09-30 13:33:14 +00:00
Revital Eres
d8edf83d91 SMS: Support instructions with REG_INC_NOTE
From-SVN: r179381
2011-09-30 13:25:30 +00:00
Revital Eres
442b891d02 SMS: Avoid generating redundant reg-moves
From-SVN: r179380
2011-09-30 13:10:56 +00:00
Bernd Schmidt
f27a3d372a hw-doloop.c (scan_loop): Compute register usage only for non-debug insns.
* hw-doloop.c (scan_loop): Compute register usage only for non-debug
	insns.

From-SVN: r179379
2011-09-30 12:26:57 +00:00
Ramana Radhakrishnan
8d4f1548bd re PR target/50099 (ICE: internal compiler error: in extract_insn, at recog.c:2113 while building lttng-ust)
Fix PR target/50099

From-SVN: r179378
2011-09-30 09:36:43 +00:00
Matthew Gretton-Dann
8a58edc29d Commit for Matthew Gretton-Dann fix for the test.
From-SVN: r179377
2011-09-30 09:28:38 +00:00
David S. Miller
c4728c6b20 Add sparc VIS 2.0 builtins, intrinsics, and option to control them.
gcc/

	* config/sparc/sparc.opt (VIS2): New option.
	* doc/invoke.texi: Document it.
	* config/sparc/sparc.md (UNSPEC_EDGE8N, UNSPEC_EDGE8LN,
	UNSPEC_EDGE16N, UNSPEC_EDGE16LN, UNSPEC_EDGE32N,
	UNSPEC_EDGE32LN, UNSPEC_BSHUFFLE): New unspecs.
	(define_attr type): New insn type 'edgen'.
	(bmask<P:mode>_vis, bshuffle<V64I:mode>_vis, edge8n<P:mode>_vis,
	edge8ln<P:mode>_vis, edge16n<P:mode>_vis, edge16ln<P:mode>_vis,
	edge32n<P:mode>_vis, edge32ln<P:mode>_vis): New insn VIS 2.0
	patterns.
	* niagara.md: Handle edgen.
	* niagara2.md: Likewise.
	* ultra1_2.md: Likewise.
	* ultra3.md: Likewise.
	* config/sparc/sparc-c.c (sparc_target_macros): Define __VIS__
	to 0x200 when TARGET_VIS2.
	* config/sparc/sparc.c (sparc_option_override): Set MASK_VIS2 by
	default when targetting capable cpus.  TARGET_VIS2 implies
	TARGET_VIS, clear and it when TARGET_FPU is disabled.
	(sparc_vis_init_builtins): Emit new VIS 2.0 builtins.
	(sparc_expand_builtin): Fix predicate indexing when builtin returns
	void.
	(sparc_fold_builtin): Do not eliminate bmask when result is ignored.
	* config/sparc/visintrin.h (__vis_bmask, __vis_bshuffledi,
	__vis_bshufflev2si, __vis_bshufflev4hi, __vis_bshufflev8qi,
	__vis_edge8n, __vis_edge8ln, __vis_edge16n, __vis_edge16ln,
	__vis_edge32n, __vis_edge32ln): New VIS 2.0 interfaces.
	* doc/extend.texi: Document new VIS 2.0 builtins.

gcc/testsuite/

	* gcc.target/sparc/bmaskbshuf.c: New test.
	* gcc.target/sparc/edgen.c: New test.

From-SVN: r179376
2011-09-30 00:54:07 -07:00
GCC Administrator
3aaedee021 Daily bump.
From-SVN: r179375
2011-09-30 00:18:39 +00:00
David S. Miller
424dcc4f9d More sparc pixel-compare insn pattern cleanups.
* config/sparc/sparc.md (VIS pixel-compare insn): There is only one
	code iterator used, so just use <code>.  There are two mode iterators
	so explicitly use <GCM:gcm_name>.

From-SVN: r179366
2011-09-29 12:17:13 -07:00
Nick Clifton
0fad9ab911 frvbegin.c: Fix location of unwind-dw2-fde.h header file.
* config/frv/frvbegin.c: Fix location of unwind-dw2-fde.h header
	file.
	* config/frv/frvend.c: Likewise.
	* config/frv/frv.c (frv_function_prologue): Move misplaced
	CALL_ARG_LOCATION notes back to their proper locations.

Co-Authored-By: Bernd Schmidt <bernds@codesourcery.com>

From-SVN: r179363
2011-09-29 17:57:06 +00:00
Paolo Carlini
b24a983561 hashtable.h (_Hashtable<>::_Hashtable(_Hashtable&&)): Remove noexcept from declaration too.
2011-09-29  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/hashtable.h (_Hashtable<>::_Hashtable(_Hashtable&&)):
	Remove noexcept from declaration too.

From-SVN: r179360
2011-09-29 17:26:32 +00:00
Georg-Johann Lay
ab758510b2 re PR target/50566 ([avr]: Add support for better logging similar to -mdeb)
PR target/50566
	* config/avr/avr-log.c (avr_log_vadump): Use %b to print bool.
	* config/avr/avr.c (avr_rtx_costs_1): New static function, renamed
	from avr_rtx_costs.
	(avr_legitimate_address_p): Use avr_edump to print log information
	filtered by avr_log.
	(extra_constraint_Q): Ditto.
	(avr_legitimize_address): Ditto.
	(avr_rtx_costs): Ditto.  Rewrite as wrapper for avr_rtx_costs_1.
	(final_prescan_insn): Use avr_log.rtx_costs as filter.

From-SVN: r179359
2011-09-29 16:24:57 +00:00
Iain Sandoe
39ffb1f923 Makefile.in (Darwin): Factor LIBGNAT_TARGET_PAIRS across the port.
ada:

	* gcc-interface/Makefile.in (Darwin): Factor LIBGNAT_TARGET_PAIRS
	across the port.

From-SVN: r179358
2011-09-29 15:51:14 +00:00
Richard Sandiford
2af8e257c9 arm-protos.h (arm_modes_tieable_p): Declare.
gcc/
	* config/arm/arm-protos.h (arm_modes_tieable_p): Declare.
	* config/arm/arm.h (MODES_TIEABLE_P): Use it.
	* config/arm/arm.c (arm_modes_tieable_p): New function.  Allow
	NEON vector and structure modes to be tied.

From-SVN: r179355
2011-09-29 15:03:06 +00:00
Bill Schmidt
99e2796b5c graphite-scop-detection.c (make_close_phi_nodes_unique): New forward declaration.
2011-09-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* graphite-scop-detection.c (make_close_phi_nodes_unique):  New
	forward declaration.
	(remove_duplicate_close_phi): Detect and repair creation of
	duplicate close-phis for a containing loop.

From-SVN: r179351
2011-09-29 14:06:31 +00:00
Andi Kleen
44a22bdb40 Use urandom in gcc.c too
gcc also takes generates a random number in some special circumstances,
so teach it about /dev/urandom too.

gcc/:

2011-09-27   Andi Kleen <ak@linux.intel.com>

	* gcc.c (get_local_tick). Rename to get_random_number.
        Read from /dev/urandom.
	Add getpid call.
	(compare_debug_dump_opt_spec_function): Drop getpid call.

From-SVN: r179349
2011-09-29 13:15:29 +00:00
Andi Kleen
35f2a89d8e Use urandom to get random seed
When available use /dev/urandom to get the random seem. This will lower the probability
of collisions.

On other systems it will fallback to the old methods.

Passes bootstrap + testsuite on x86_64. Ok?

gcc/:

2011-09-26   Andi Kleen <ak@linux.intel.com>

	* toplev.c (init_local_tick): Try reading random seed from /dev/urandom

From-SVN: r179348
2011-09-29 13:15:13 +00:00
Andi Kleen
dde8b3609b Change random seeds to 64bit and drop re-crcing
I had some trouble with random build failures in a large LTO project
and it turned out to be random seed collisions in a highly parallel build
(thanks to Honza for suggesting that)

There were multiple problems:
- The way to generate the random seed is not very random (milliseconds time plus pid)
and prone to collisions on highly parallel builds
- It's only 32bit
- Several users take the existing ascii seed and re-CRC32 it again, which
doesn't exactly improve it.

This patch changes that to:
- Always use 64bit seeds as numbers (no re-crcing)
- Change all users to use HOST_WIDE_INT
- When the user specifies a random seed it's still crc32ed, but only in
this case.

Passes bootstrap + testsuite on x86_64-linux.

gcc/cp:

2011-09-26   Andi Kleen <ak@linux.intel.com>

	* repo.c (finish_repo): Use HOST_WIDE_INT_PRINT_HEX_PURE.

gcc/:

2011-09-26   Andi Kleen <ak@linux.intel.com>

	* hwint.h (HOST_WIDE_INT_PRINT_HEX_PURE): Add.
	* lto-streamer.c (lto_get_section_name): Remove crc32_string.
 	Handle numerical random seed.
	* lto-streamer.h (lto_file_decl_data): Change id to unsigned HOST_WIDE_INT.
	* toplev.c (random_seed): Add.
	(init_random_seed): Change for numerical random seed.
	(get_random_seed): Return as HOST_WIDE_INT.
	(set_random_seed): Crc32 existing string.
	* toplev.h (get_random_seed): Change to numercal return.
	* tree.c (get_file_function_name): Remove CRC. Handle numerical random seed.

gcc/lto/:

2011-09-26   Andi Kleen <ak@linux.intel.com>

	* lto.c (lto_resolution_read): Remove id dumping.
	(lto_section_with_id): Turn id HOST_WIDE_ID.
	(create_subid_section_table): Dito.

From-SVN: r179347
2011-09-29 13:14:51 +00:00