gcc.git
12 years agoMore consistent access to sparc %ger register.
David S. Miller [Tue, 4 Oct 2011 06:34:22 +0000 (06:34 +0000)]
More consistent access to sparc %ger register.

* config/sparc/sparc.md (fpack16_vis, fpackfix_vis, fpack32_vis): Make
GSR_REG an input operand to UNSPEC instead of a parallel USE.
(faligndata<V64I:mode>_vis): Likewise and use DI mode.
(alignaddrsi_vis, alignaddrdi_vis, alignaddrlsi_vis, alignaddrldi_vis):
Reference GSR_REG in DI mode, simplify convoluted expressions by using
zero_extract.
(bshuffle<V64I:mode>_vis): Reference GSR_REG in DI mode.

From-SVN: r179489

12 years ago* tree-eh.c (remove_unreachable_handlers): Obvious cleanup.
Maxim Kuvyrkov [Tue, 4 Oct 2011 02:23:17 +0000 (02:23 +0000)]
* tree-eh.c (remove_unreachable_handlers): Obvious cleanup.

From-SVN: r179486

12 years agoDaily bump.
GCC Administrator [Tue, 4 Oct 2011 00:17:40 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r179484

12 years ago* de.po: Update.
Joseph Myers [Mon, 3 Oct 2011 20:15:53 +0000 (21:15 +0100)]
* de.po: Update.

From-SVN: r179478

12 years agogodump.c (go_output_typedef): Support printing enum values that don't fit in a signed...
Jakub Jelinek [Mon, 3 Oct 2011 20:09:56 +0000 (22:09 +0200)]
godump.c (go_output_typedef): Support printing enum values that don't fit in a signed HOST_WIDE_INT.

* godump.c (go_output_typedef): Support printing enum values that
don't fit in a signed HOST_WIDE_INT.

Co-Authored-By: Ian Lance Taylor <iant@google.com>
From-SVN: r179477

12 years agocris.c (cris_output_addr_const_extra): Make static.
Anatoly Sokolov [Mon, 3 Oct 2011 19:39:50 +0000 (23:39 +0400)]
cris.c (cris_output_addr_const_extra): Make static.

* config/cris/cris.c (cris_output_addr_const_extra): Make static.
(TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
* config/cris/cris.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
* config/cris/cris-protos.h (cris_output_addr_const_extra): Remove.

From-SVN: r179476

12 years agom68k.c (m68k_output_addr_const_extra): Make static.
Anatoly Sokolov [Mon, 3 Oct 2011 19:16:29 +0000 (23:16 +0400)]
m68k.c (m68k_output_addr_const_extra): Make static.

* config/m68k/m68k.c (m68k_output_addr_const_extra): Make static.
(TARGET_OUTPUT_ADDR_CONST_EXTRA): Define.
* config/m68k/m68k.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
* config/m68k/m68k-protos.h (m68k_output_addr_const_extra): Remove.

From-SVN: r179474

12 years agopointer_to.cc: Define equality operator and use.
Jonathan Wakely [Mon, 3 Oct 2011 19:11:53 +0000 (19:11 +0000)]
pointer_to.cc: Define equality operator and use.

2011-10-03  Jonathan Wakely  <jwakely.gcc@gmail.com>

* testsuite/20_util/pointer_traits/pointer_to.cc: Define equality
operator and use.

From-SVN: r179473

12 years agore PR target/49967 (The -static-libstdc++ does not work on HP-UX (IA64 B.11.23, proba...
Steve Ellcey [Mon, 3 Oct 2011 17:57:40 +0000 (17:57 +0000)]
re PR target/49967 (The -static-libstdc++ does not work on HP-UX (IA64 B.11.23, probably others))

2011-10-03  Steve Ellcey  <sje@cup.hp.com>

PR target/49967
* configure.ac (gcc_cv_ld_static_dynamic): Define for *-*-hpux*.
(gcc_cv_ld_static_option): Ditto.
(gcc_cv_ld_dynamic_option): Ditto.
* configure: Regenerate.

From-SVN: r179472

12 years agoMinor fixup to the sparc bshuffle pattern.
David S. Miller [Mon, 3 Oct 2011 17:55:10 +0000 (17:55 +0000)]
Minor fixup to the sparc bshuffle pattern.

* config/sparc/sparc.md (bshuffle<V64I:mode>_vis): Don't wrap GSR_REG in
a USE, since it's now a true arg to the UNSPEC.

From-SVN: r179470

12 years agoFix Artem's name spelling, at request.
Richard Henderson [Mon, 3 Oct 2011 17:11:11 +0000 (10:11 -0700)]
Fix Artem's name spelling, at request.

From-SVN: r179469

12 years agoFix broken commit wrt vect-shuffle-N.c tests.
Richard Henderson [Mon, 3 Oct 2011 17:08:43 +0000 (10:08 -0700)]
Fix broken commit wrt vect-shuffle-N.c tests.

From-SVN: r179468

12 years agoMinor fixups to the sparc bmask/bshuffle patterns.
David S. Miller [Mon, 3 Oct 2011 16:41:07 +0000 (16:41 +0000)]
Minor fixups to the sparc bmask/bshuffle patterns.

* config/sparc/sparc.md (bmask<P:mode>_vis): Split into explicit 'di'
and 'si' patterns which describe the GSR changes explicitly in the
RTL using zero_extract.
(bshuffle<V64I:mode>_vis): Put the GSR use inside of the unspec.

From-SVN: r179465

12 years agohashtable.h (_Hashtable<>::insert(value_type&&), [...]): Don't define here...
Paolo Carlini [Mon, 3 Oct 2011 15:28:47 +0000 (15:28 +0000)]
hashtable.h (_Hashtable<>::insert(value_type&&), [...]): Don't define here...

2011-10-03  Paolo Carlini  <paolo.carlini@oracle.com>

* include/bits/hashtable.h (_Hashtable<>::insert(value_type&&),
insert(const_iterator, value_type&&)): Don't define here...
* include/bits/unordered_set.h (__unordered_set<>,
__unordered_multiset<>): ... define here instead.

From-SVN: r179464

12 years agoVector shuffling patch from Artem Shinkarov.
Artjoms Sinkarovs [Mon, 3 Oct 2011 15:13:26 +0000 (08:13 -0700)]
Vector shuffling patch from Artem Shinkarov.

From-SVN: r179462

12 years agore PR tree-optimization/50587 (ICE init_range_entry, at tree-ssa-reassoc.c:1698 cause...
Jakub Jelinek [Mon, 3 Oct 2011 09:06:38 +0000 (11:06 +0200)]
re PR tree-optimization/50587 (ICE init_range_entry, at tree-ssa-reassoc.c:1698 caused by recent change)

PR tree-optimization/50587
* tree-ssa-reassoc.c (init_range_entry): Stop iterating when
arg0 is not a SSA_NAME.

From-SVN: r179447

12 years agoipa-inline-analysis.c (MAX_TIME): Update comment.
Richard Sandiford [Mon, 3 Oct 2011 08:11:43 +0000 (08:11 +0000)]
ipa-inline-analysis.c (MAX_TIME): Update comment.

gcc/
* ipa-inline-analysis.c (MAX_TIME): Update comment.

From-SVN: r179446

12 years agopt.c (tsubst_pack_expansion): Re-use ARGUMENT_PACK_SELECTs.
Jason Merrill [Mon, 3 Oct 2011 04:32:35 +0000 (00:32 -0400)]
pt.c (tsubst_pack_expansion): Re-use ARGUMENT_PACK_SELECTs.

* pt.c (tsubst_pack_expansion): Re-use ARGUMENT_PACK_SELECTs.
Change unsubstituted_packs to bool.

From-SVN: r179444

12 years agoparser.c (cp_parser_range_for): Don't try to deduce from {} in a template.
Jason Merrill [Mon, 3 Oct 2011 04:32:20 +0000 (00:32 -0400)]
parser.c (cp_parser_range_for): Don't try to deduce from {} in a template.

* parser.c (cp_parser_range_for): Don't try to deduce from {}
in a template.

From-SVN: r179443

12 years agoAdd missing changelog details in previous commit.
David S. Miller [Mon, 3 Oct 2011 00:52:32 +0000 (17:52 -0700)]
Add missing changelog details in previous commit.

* config/sparc/predicates.md (const_one_operand): Delete.

From-SVN: r179442

12 years agoAdd missing sparc shift zero extensions, and fix shift attributes.
Richard Henderson [Mon, 3 Oct 2011 00:46:54 +0000 (17:46 -0700)]
Add missing sparc shift zero extensions, and fix shift attributes.

* config/sparc/sparc.md (ashlsi3, *ashldi3_sp64): Remove
conditional insn type setting, we always emit a shift.
(*ashlsi3_extend, *lshrsi3_extend0): New patterns.
(*lshrsi3_extend): Rename to *lshrsi3_extend1.

Co-Authored-By: David S. Miller <davem@davemloft.net>
From-SVN: r179441

12 years agoDaily bump.
GCC Administrator [Mon, 3 Oct 2011 00:19:00 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r179440

12 years agore PR c++/35722 ([C++0x] Variadic templates expansion into non-variadic class template)
Jason Merrill [Sun, 2 Oct 2011 21:45:01 +0000 (17:45 -0400)]
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

12 years agoclass.c (fixed_type_or_null): Handle NSDMI.
Jason Merrill [Sun, 2 Oct 2011 21:44:52 +0000 (17:44 -0400)]
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

12 years ago* invoke.texi (SPARC Options): Refer to GNU/Linux.
Gerald Pfeifer [Sun, 2 Oct 2011 20:51:29 +0000 (20:51 +0000)]
* invoke.texi (SPARC Options): Refer to GNU/Linux.

From-SVN: r179434

12 years agore PR target/50579 (gcc.target/mips/20020620-1.c FAILs on IRIX 6.5)
Richard Sandiford [Sun, 2 Oct 2011 18:29:27 +0000 (18:29 +0000)]
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

12 years agomips.c (mips_frame_barrier): New function.
Richard Sandiford [Sun, 2 Oct 2011 17:46:11 +0000 (17:46 +0000)]
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

12 years agore PR target/49696 (ICE on mips when compiling drizzle)
Richard Sandiford [Sun, 2 Oct 2011 17:45:10 +0000 (17:45 +0000)]
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

12 years ago* cgraphunit.c (verify_edge_count_and_frequency): Bounds check.
Jan Hubicka [Sun, 2 Oct 2011 15:06:11 +0000 (17:06 +0200)]
* cgraphunit.c (verify_edge_count_and_frequency): Bounds check.

From-SVN: r179430

12 years agocgraphunit.c (ipa_passes): Remove unrechable nodes.
Jan Hubicka [Sun, 2 Oct 2011 14:30:50 +0000 (16:30 +0200)]
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

12 years ago* ipa-inline-analysis.c (inline_summary_alloc): Bounds check.
Jan Hubicka [Sun, 2 Oct 2011 14:28:18 +0000 (16:28 +0200)]
* ipa-inline-analysis.c (inline_summary_alloc): Bounds check.

From-SVN: r179428

12 years agoipa-inline-analysis.c (reset_inline_edge_summary): New function.
Jan Hubicka [Sun, 2 Oct 2011 13:59:28 +0000 (15:59 +0200)]
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

12 years agore PR preprocessor/36819 (memleak in split_quote_chain)
Paolo Carlini [Sun, 2 Oct 2011 12:31:40 +0000 (12:31 +0000)]
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

12 years agoFix r179381: add missing period in testsuite/Changelog.
Revital Eres [Sun, 2 Oct 2011 11:14:53 +0000 (11:14 +0000)]
Fix r179381: add missing period in testsuite/Changelog.

From-SVN: r179425

12 years agore PR lto/47247 (Linker plugin specification makes it difficult to handle COMDATs)
Jan Hubicka [Sun, 2 Oct 2011 10:41:24 +0000 (12:41 +0200)]
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

12 years agoStart adding support for VIS 3.0 instructions.
David S. Miller [Sun, 2 Oct 2011 02:21:20 +0000 (02:21 +0000)]
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

12 years agoDaily bump.
GCC Administrator [Sun, 2 Oct 2011 00:17:58 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r179420

12 years ago* ira-color.c (assign_hard_reg): Fix typo.
Eric Botcazou [Sat, 1 Oct 2011 19:42:54 +0000 (19:42 +0000)]
* ira-color.c (assign_hard_reg): Fix typo.

From-SVN: r179415

12 years agovector (vector<>::erase(iterator, iterator): Check iterators equality using normal...
François Dumont [Sat, 1 Oct 2011 19:21:57 +0000 (19:21 +0000)]
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

12 years agore PR fortran/50585 (ICE with assumed length character array argument)
Janus Weil [Sat, 1 Oct 2011 11:41:41 +0000 (13:41 +0200)]
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

12 years agoDaily bump.
GCC Administrator [Sat, 1 Oct 2011 00:17:57 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r179410

12 years agocp-tree.h (TREE_NEGATED_INT): Remove.
Jason Merrill [Fri, 30 Sep 2011 17:47:40 +0000 (13:47 -0400)]
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

12 years agore PR c++/44473 (iterators already defined for std::vector when using std::decimal)
Janis Johnson [Fri, 30 Sep 2011 17:33:41 +0000 (17:33 +0000)]
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

12 years agoAdd missing ','.
H.J. Lu [Fri, 30 Sep 2011 16:29:06 +0000 (16:29 +0000)]
Add missing ','.

2011-09-30  H.J. Lu  <hongjiu.lu@intel.com>

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

From-SVN: r179397

12 years agoUse 64bit integer for LTO symbol ID.
H.J. Lu [Fri, 30 Sep 2011 15:48:51 +0000 (15:48 +0000)]
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

12 years agoc6x-common.c (c6x_option_optimization_table): Enable -fmodulo-sched at -O2 and above.
Bernd Schmidt [Fri, 30 Sep 2011 15:37:43 +0000 (15:37 +0000)]
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

12 years agore PR target/50566 ([avr]: Add support for better logging similar to -mdeb)
Georg-Johann Lay [Fri, 30 Sep 2011 15:15:23 +0000 (15:15 +0000)]
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

12 years agore PR inline-asm/50571 (Undesirable folding in "m" constrained asm operands)
Jakub Jelinek [Fri, 30 Sep 2011 15:01:27 +0000 (17:01 +0200)]
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

12 years agore PR tree-optimization/46309 (optimization a==3||a==1)
Jakub Jelinek [Fri, 30 Sep 2011 15:00:12 +0000 (17:00 +0200)]
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

12 years agotree-ssa-structalias.c (find_func_aliases_for_builtin_call): Handle BUILT_IN_STRDUP...
Jakub Jelinek [Fri, 30 Sep 2011 14:58:27 +0000 (16:58 +0200)]
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

12 years agoSplit out LTO's writing of top level asm nodes in preparation of extending what...
Jan Beulich [Fri, 30 Sep 2011 14:56:01 +0000 (14:56 +0000)]
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

12 years agosched-ebb.c (schedule_ebb): No longer static.
Bernd Schmidt [Fri, 30 Sep 2011 14:12:34 +0000 (14:12 +0000)]
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

12 years agoPartial reversion of r179358.
Iain Sandoe [Fri, 30 Sep 2011 13:44:48 +0000 (13:44 +0000)]
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

12 years agohaifa-sched.c (modulo_ii, [...]): New static variables.
Bernd Schmidt [Fri, 30 Sep 2011 13:33:54 +0000 (13:33 +0000)]
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

12 years agore PR tree-optimization/50574 (gcc.c-torture/execute/vector-compare-1.c FAILs on...
Richard Guenther [Fri, 30 Sep 2011 13:33:14 +0000 (13:33 +0000)]
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

12 years agoSMS: Support instructions with REG_INC_NOTE
Revital Eres [Fri, 30 Sep 2011 13:25:30 +0000 (13:25 +0000)]
SMS: Support instructions with REG_INC_NOTE

From-SVN: r179381

12 years agoSMS: Avoid generating redundant reg-moves
Revital Eres [Fri, 30 Sep 2011 13:10:56 +0000 (13:10 +0000)]
SMS: Avoid generating redundant reg-moves

From-SVN: r179380

12 years agohw-doloop.c (scan_loop): Compute register usage only for non-debug insns.
Bernd Schmidt [Fri, 30 Sep 2011 12:26:57 +0000 (12:26 +0000)]
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

12 years agore PR target/50099 (ICE: internal compiler error: in extract_insn, at recog.c:2113...
Ramana Radhakrishnan [Fri, 30 Sep 2011 09:36:43 +0000 (09:36 +0000)]
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

12 years agoCommit for Matthew Gretton-Dann fix for the test.
Matthew Gretton-Dann [Fri, 30 Sep 2011 09:28:38 +0000 (09:28 +0000)]
Commit for Matthew Gretton-Dann fix for the test.

From-SVN: r179377

12 years agoAdd sparc VIS 2.0 builtins, intrinsics, and option to control them.
David S. Miller [Fri, 30 Sep 2011 07:54:07 +0000 (07:54 +0000)]
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

12 years agoDaily bump.
GCC Administrator [Fri, 30 Sep 2011 00:18:39 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r179375

12 years agoMore sparc pixel-compare insn pattern cleanups.
David S. Miller [Thu, 29 Sep 2011 19:17:13 +0000 (19:17 +0000)]
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

12 years agofrvbegin.c: Fix location of unwind-dw2-fde.h header file.
Nick Clifton [Thu, 29 Sep 2011 17:57:06 +0000 (17:57 +0000)]
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

12 years agohashtable.h (_Hashtable<>::_Hashtable(_Hashtable&&)): Remove noexcept from declaratio...
Paolo Carlini [Thu, 29 Sep 2011 17:26:32 +0000 (17:26 +0000)]
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

12 years agore PR target/50566 ([avr]: Add support for better logging similar to -mdeb)
Georg-Johann Lay [Thu, 29 Sep 2011 16:24:57 +0000 (16:24 +0000)]
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

12 years agoMakefile.in (Darwin): Factor LIBGNAT_TARGET_PAIRS across the port.
Iain Sandoe [Thu, 29 Sep 2011 15:51:14 +0000 (15:51 +0000)]
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

12 years agoarm-protos.h (arm_modes_tieable_p): Declare.
Richard Sandiford [Thu, 29 Sep 2011 15:03:06 +0000 (15:03 +0000)]
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

12 years agographite-scop-detection.c (make_close_phi_nodes_unique): New forward declaration.
Bill Schmidt [Thu, 29 Sep 2011 14:06:31 +0000 (14:06 +0000)]
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

12 years agoUse urandom in gcc.c too
Andi Kleen [Thu, 29 Sep 2011 13:15:29 +0000 (13:15 +0000)]
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

12 years agoUse urandom to get random seed
Andi Kleen [Thu, 29 Sep 2011 13:15:13 +0000 (13:15 +0000)]
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

12 years agoChange random seeds to 64bit and drop re-crcing
Andi Kleen [Thu, 29 Sep 2011 13:14:51 +0000 (13:14 +0000)]
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

12 years agore PR fortran/50547 (dummy procedure argument of PURE shall be PURE)
Janus Weil [Thu, 29 Sep 2011 11:57:35 +0000 (13:57 +0200)]
re PR fortran/50547 (dummy procedure argument of PURE shall be PURE)

2011-09-29  Janus Weil  <janus@gcc.gnu.org>

PR fortran/50547
* resolve.c (resolve_formal_arglist): Fix pureness check for dummy
functions.

PR fortran/50553
* symbol.c (check_conflict): Forbid TARGET attribute for statement
functions.

2011-09-29  Janus Weil  <janus@gcc.gnu.org>

PR fortran/50547
* gfortran.dg/pure_formal_proc_3.f90: New.

PR fortran/50553
* gfortran.dg/stfunc_7.f90: New.

From-SVN: r179345

12 years agore PR target/50566 ([avr]: Add support for better logging similar to -mdeb)
Georg-Johann Lay [Thu, 29 Sep 2011 11:51:59 +0000 (11:51 +0000)]
re PR target/50566 ([avr]: Add support for better logging similar to -mdeb)

PR target/50566
* config.gcc (extra_objs): Add avr-log.o for $target in:
avr-*-rtems*, avr-*-*.
* config/avr/t-avr (avr-log.o): New rule to compile...
* config/avr/avr-log.c: ...this new file.
* config/avr/avr.opt (mlog=): New option.
* config/avr/avr-protos.h (avr_edump, avr_fdump): New macros.
(avr_log_set_caller_e, avr_log_set_caller_f): New prototypes.
(avr_log_set_avr_log): New prototype.
(avr_log_t): New typedef.
(avr_log): New declaration.
* config/avr/avr.c (avr_option_override): Call avr_log_set_avr_log.

From-SVN: r179344

12 years agoThe commands of the $(TOOLS_ZIP) rule include copying of two subtrees from the source...
Jan Beulich [Thu, 29 Sep 2011 11:37:47 +0000 (11:37 +0000)]
The commands of the $(TOOLS_ZIP) rule include copying of two subtrees from the source tree (asm/ and classes/).

The commands of the $(TOOLS_ZIP) rule include copying of two subtrees from the
source tree (asm/ and classes/). If the source tree is read-only, the use of
cp's -p option here prevents the trees from getting deleted later in the rule
if they (or at least their directories) don't get marked writable.

Committed as obvious.

libjava/classpath/
2011-09-29  Jan Beulich  <jbeulich@suse.com>

* tools/Makefile.am (TOOLS_ZIP): Make writable the copied subtrees
asm/ and classes/.
* tools/Makefile.in: Re-generate.

From-SVN: r179343

12 years agoexpr.c (do_store_flag): Expand vector comparison by building an appropriate VEC_COND_...
Artjoms Sinkarovs [Thu, 29 Sep 2011 11:29:03 +0000 (11:29 +0000)]
expr.c (do_store_flag): Expand vector comparison by building an appropriate VEC_COND_EXPR.

2011-09-29  Artjoms Sinkarovs <artyom.shinkaroff@gmail.com>

* expr.c (do_store_flag): Expand vector comparison by
building an appropriate VEC_COND_EXPR.
* c-typeck.c (build_binary_op): Typecheck vector comparisons.
(c_objc_common_truthvalue_conversion): Adjust.
* tree-vect-generic.c (do_compare): Helper function.
(expand_vector_comparison): Check if hardware supports
vector comparison of the given type or expand vector
piecewise.
(expand_vector_operation): Treat comparison as binary
operation of vector type.
(expand_vector_operations_1): Adjust.

* gcc.c-torture/execute/vector-compare-1.c: New testcase.
* gcc.c-torture/execute/vector-compare-2.c: Likewise.
* gcc.dg/vector-compare-1.c: Likewise.
* gcc.dg/vector-compare-2.c: Likewise.

From-SVN: r179342

12 years agotree.c (build_opaque_vector_type): Make opaque vectors variant types of the correspon...
Richard Guenther [Thu, 29 Sep 2011 11:26:46 +0000 (11:26 +0000)]
tree.c (build_opaque_vector_type): Make opaque vectors variant types of the corresponding non-opaque type.

2011-09-29  Richard Guenther  <rguenther@suse.de>

* tree.c (build_opaque_vector_type): Make opaque vectors
variant types of the corresponding non-opaque type.  Make
sure to share opaque vector types properly.

From-SVN: r179341

12 years agoChangeLog: Fix whitespace.
Uros Bizjak [Thu, 29 Sep 2011 09:04:03 +0000 (11:04 +0200)]
ChangeLog: Fix whitespace.

* ChangeLog: Fix whitespace.
* testsuite/ChangeLog: Ditto.

From-SVN: r179338

12 years agoRemove unnecessary sparc code attr.
David S. Miller [Thu, 29 Sep 2011 07:56:05 +0000 (07:56 +0000)]
Remove unnecessary sparc code attr.

* config/sparc/sparc.md (gcond_name): Delete unnecessary code attr.
(VIS pixel-compare insn): Just use <gcond:name>.

From-SVN: r179335

12 years agoAdd sparc 3D array addressing VIS intrinsics.
David S. Miller [Thu, 29 Sep 2011 07:35:16 +0000 (07:35 +0000)]
Add sparc 3D array addressing VIS intrinsics.

gcc/

* config/sparc/sparc.md (UNSPEC_ARRAY8, UNSPEC_ARRAY16,
UNSPEC_ARRAY32): New unspec.
(define_attr type): New type 'array'.
(array{8,16,32}<P:mode>_vis): New patterns.
* config/sparc/ultra1_2.md: Add reservations for 'array'.
* config/sparc/ultra3.md: Likewise.
* config/sparc/niagara.md: Likewise.
* config/sparc/niagara2.md: Likewise.
* config/sparc/sparc.c (sparc_vis_init_builtins): Build new
array builtins.
* config/sparc/visintrin.h (__vis_array8, __vis_array16,
__vis_array32): New.
* doc/extend.texi: Document new VIS builtins.

gcc/testsuite/

* gcc.target/sparc/array.c: New test.

From-SVN: r179334

12 years agodarwin9.h (STACK_CHECK_STATIC_BUILTIN): Enable for Darwin >= 9.
Iain Sandoe [Thu, 29 Sep 2011 07:17:42 +0000 (07:17 +0000)]
darwin9.h (STACK_CHECK_STATIC_BUILTIN): Enable for Darwin >= 9.

gcc:

* config/darwin9.h (STACK_CHECK_STATIC_BUILTIN): Enable for
Darwin >= 9.

From-SVN: r179332

12 years agopredcom-1.c: Explicitly turn on loop unroll and set max unroll times to 8.
Jiangning Liu [Thu, 29 Sep 2011 06:48:26 +0000 (06:48 +0000)]
predcom-1.c: Explicitly turn on loop unroll and set max unroll times to 8.

2011-09-29  Jiangning Liu  <jiangning.liu@arm.com>

* gcc/testsuite/gcc.dg/tree-ssa/predcom-1.c: Explicitly turn on
loop unroll and set max unroll times to 8.
* gcc/testsuite/gcc.dg/tree-ssa/predcom-2.c: Likewise.
* gcc/testsuite/gcc.dg/tree-ssa/predcom-3.c: Likewise.
* gcc/testsuite/gcc.dg/tree-ssa/predcom-4.c: Likewise.
* gcc/testsuite/gcc.dg/tree-ssa/predcom-5.c: Likewise.

From-SVN: r179330

12 years agoRespin sparc pixel-compare patterns using iterators.
David S. Miller [Thu, 29 Sep 2011 03:52:00 +0000 (03:52 +0000)]
Respin sparc pixel-compare patterns using iterators.

* config/sparc/sparc.md (UNSPEC_FCMPLE, UNSPEC_FCMPNE,
UNSPEC_FCMPGT, UNSPEC_FCMPEQ): Delete and reduce to...
(UNSPEC_FCMP): New unspec.
(gcond): New code iterator.
(gcond_name): New code attr.
(GCM): New mode iterator.
(gcm_name): New mode attr.
(fcmp{le,ne,gt,eq}{16,32}_vis): Reimplement using iterators.

From-SVN: r179329

12 years agoDaily bump.
GCC Administrator [Thu, 29 Sep 2011 00:18:27 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r179327

12 years agore PR c++/40145 (structure inside a static function is exported, producing warning)
Paolo Carlini [Wed, 28 Sep 2011 23:14:04 +0000 (23:14 +0000)]
re PR c++/40145 (structure inside a static function is exported, producing warning)

2011-09-28  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/40145
* g++.dg/ext/visibility/warn5.C: New.

From-SVN: r179323

12 years agore PR c++/45278 (-Wextra doesn't warn about (pointer < 0 ).)
Paolo Carlini [Wed, 28 Sep 2011 22:04:48 +0000 (22:04 +0000)]
re PR c++/45278 (-Wextra doesn't warn about (pointer < 0 ).)

/cp
2011-09-28  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/45278
* typeck.c (cp_build_binary_op): With -Wextra, warn for ordered
comparison of pointer with zero.

/testsuite
2011-09-28  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/45278
* g++.dg/warn/Wextra-3.C: New.

From-SVN: r179321

12 years agore PR bootstrap/49486 (Bootstrap failure)
Oleg Endo [Wed, 28 Sep 2011 21:43:01 +0000 (21:43 +0000)]
re PR bootstrap/49486 (Bootstrap failure)

PR target/49486
* config/sh/sh.md (negdi2): Move expansion into split to
allow more combination options.  Add T_REG clobber.
(abssi2): New expander.
(*negdi2, *abssi2, *negabssi2): New insns.
(cneg): Change from insn to insn_and_split.  Rename to
negsi_cond.  Add alternative for non-SH4.
* gcc.target/sh/pr49468-si.c: New.

From-SVN: r179320

12 years agotimeval-utils.h: New file.
Doug Evans [Wed, 28 Sep 2011 19:09:50 +0000 (19:09 +0000)]
timeval-utils.h: New file.

include/
* timeval-utils.h: New file.

libiberty/
* timeval-utils.c: New file.
* Makefile.in (CFILES): Add it.
(REQUIRED_OFILES): Add timeval-utils.$(objext).
(INSTALLED_HEADERS): Add timeval-utils.h.
(timeval-utils.$(objext)): Add rule.

From-SVN: r179319

12 years agolibiberty.h (countargv): Declare.
Doug Evans [Wed, 28 Sep 2011 19:04:30 +0000 (19:04 +0000)]
libiberty.h (countargv): Declare.

include/
* libiberty.h (countargv): Declare.

libiberty/
* argv.c (countargv): New function.

From-SVN: r179318

12 years agoneon.md (neon_move_lo_quad_<mode>): Delete.
Richard Sandiford [Wed, 28 Sep 2011 15:00:10 +0000 (15:00 +0000)]
neon.md (neon_move_lo_quad_<mode>): Delete.

gcc/
* config/arm/neon.md (neon_move_lo_quad_<mode>): Delete.
(neon_move_hi_quad_<mode>): Likewise.
(move_hi_quad_<mode>, move_lo_quad_<mode>): Use subreg moves.

From-SVN: r179316

12 years agopredicates.md (rx_minmax_operand): New predicate.
Nick Clifton [Wed, 28 Sep 2011 14:37:30 +0000 (14:37 +0000)]
predicates.md (rx_minmax_operand): New predicate.

* config/rx/predicates.md (rx_minmax_operand): New predicate.
Accepts immediates and a restricted subset of MEMs.
* config/rx/rx.md (int_modes): New iterator.
(smaxsi3, sminsi3): Delete and replace with...
(smax<int_mode>3, smin<int_mode>3): New patterns.
(umax<>3_u, umax<>3_ur, umax<>3, umin<>3): New patterns.

From-SVN: r179315

12 years agorx-lib.h: Always restrict doubles to the SF type when 64-bit doubles are not enabled.
Nick Clifton [Wed, 28 Sep 2011 13:56:19 +0000 (13:56 +0000)]
rx-lib.h: Always restrict doubles to the SF type when 64-bit doubles are not enabled.

* config/rx/rx-lib.h: Always restrict doubles to the SF type when
64-bit doubles are not enabled.
* config/rx/rx-abi.h: Fix extraneous renaming of the floatsisf
and floatunsisf functions.

From-SVN: r179314

12 years agore PR middle-end/50460 (__builtin___strcpy_chk/__builtin_object_size don't work)
Richard Guenther [Wed, 28 Sep 2011 13:47:12 +0000 (13:47 +0000)]
re PR middle-end/50460 (__builtin___strcpy_chk/__builtin_object_size don't work)

2011-09-28  Richard Guenther  <rguenther@suse.de>

PR middle-end/50460
* fold-const.c (try_move_mult_to_index): Handle &a.array the
same as &a.array[0].

From-SVN: r179313

12 years agomksysinfo: #include <ttold.h> on Irix.
Ian Lance Taylor [Wed, 28 Sep 2011 13:14:11 +0000 (13:14 +0000)]
mksysinfo: #include <ttold.h> on Irix.

From Rainer Orth.

From-SVN: r179312

12 years agore PR testsuite/50485 (gcc.target/i386/sse4_1-blendps.c fails spuriously on i686)
Tom de Vries [Wed, 28 Sep 2011 08:48:00 +0000 (08:48 +0000)]
re PR testsuite/50485 (gcc.target/i386/sse4_1-blendps.c fails spuriously on i686)

2011-09-28  Tom de Vries  <tom@codesourcery.com>

PR testsuite/50485
* gcc.target/i386/sse4_1-blendps.c: Include <stdlib.h>.
(TEST): Initialize src3 with random floats.
* gcc.target/i386/sse4_1-blendps-2.c (sse4_1_test): Remove field i from
union src3.  Initialize src3 with random floats.

From-SVN: r179309

12 years agoconfigure.ac: Add test for new section attribute specifier "e" via define...
Kai Tietz [Wed, 28 Sep 2011 08:07:39 +0000 (10:07 +0200)]
configure.ac: Add test for new section attribute specifier "e" via define...

* configure.ac: Add test for new section attribute
specifier "e" via define HAVE_GAS_SECTION_EXCLUDE.
* config.in: Regenerated.
* configure: Regenerated.
* config/i386/winnt.c (i386_pe_asm_named_section): Emit
new section flag "e" for excluded sections, if supported.
Otherwise we mark section withc SECTION_EXCLUDE flag
as never-load.

From-SVN: r179308

12 years ago*: Regenerate.
Benjamin Kosnik [Wed, 28 Sep 2011 01:37:10 +0000 (01:37 +0000)]
*: Regenerate.

2011-09-27  Benjamin Kosnik  <bkoz@redhat.com>

* doc/html/*: Regenerate.

* doc/Makefile.am: Un-nest the ext output directory.
* doc/Makefile.in: Regenerate.
* spine.xml: Remove authors, add abstract for short
contents. Rename to index.html for html output.
* manual/spine.xml: Authors here, manual starts with index.html.
* api.xml: Update.
* faq.xml: Same.

Co-Authored-By: Jonathan Wakely <jwakely.gcc@gmail.com>
From-SVN: r179304

12 years agoDaily bump.
GCC Administrator [Wed, 28 Sep 2011 00:18:32 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r179302

12 years agom32r.md: Use match_test rather than eq/ne symbol_ref throughout file.
Richard Sandiford [Tue, 27 Sep 2011 23:04:14 +0000 (23:04 +0000)]
m32r.md: Use match_test rather than eq/ne symbol_ref throughout file.

gcc/
* config/m32r/m32r.md: Use match_test rather than eq/ne symbol_ref
throughout file.

From-SVN: r179297

12 years agoiq2000.md: Use match_test rather than eq/ne symbol_ref throughout file.
Richard Sandiford [Tue, 27 Sep 2011 23:03:57 +0000 (23:03 +0000)]
iq2000.md: Use match_test rather than eq/ne symbol_ref throughout file.

gcc/
* config/iq2000/iq2000.md: Use match_test rather than eq/ne symbol_ref
throughout file.

From-SVN: r179296