]> git.ipfire.org Git - thirdparty/gcc.git/log
thirdparty/gcc.git
12 years agoFix the use of linemap_add and remove unnecessary kludge
Dodji Seketeli [Sun, 28 Aug 2011 20:14:46 +0000 (20:14 +0000)] 
Fix the use of linemap_add and remove unnecessary kludge

libcpp/

* line-map.c (linemap_add): Assert that reason must not be
LC_RENAME when called for the first time on a "main input file".

c-family/

* c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as it's
the first time it's being called on this main TU.

gcc/lto/

* lto-lang.c (lto_init): Likewise.  Also, avoid calling
linemap_add twice.

gcc/fortran/

* scanner.c (load_file): Don't abuse LC_RENAME reason while
(indirectly) calling linemap_add.

From-SVN: r178146

12 years agoCore DR 342 PR c++/48582
Jason Merrill [Sun, 28 Aug 2011 15:38:29 +0000 (11:38 -0400)] 
Core DR 342 PR c++/48582

Core DR 342
PR c++/48582
* pt.c (check_valid_ptrmem_cst_expr): A null member pointer value
is valid in C++11.
(convert_nontype_argument): Likewise.  Implicitly convert nullptr
and do constant folding.
* mangle.c (write_template_arg_literal): Mangle null member
pointer values as 0.
* call.c (null_member_pointer_value_p): New.
* cp-tree.h: Declare it.

From-SVN: r178144

12 years ago* ja.po: Update.
Joseph Myers [Sun, 28 Aug 2011 12:38:57 +0000 (13:38 +0100)] 
* ja.po: Update.

From-SVN: r178142

12 years agore PR bootstrap/50218 (tree-ssa-loop-ivopts.c triggers -Werror=maybe-uninitialized...
Mikael Pettersson [Sun, 28 Aug 2011 12:08:41 +0000 (14:08 +0200)] 
re PR bootstrap/50218 (tree-ssa-loop-ivopts.c triggers -Werror=maybe-uninitialized breaking i686-linux bootstrap)

2011-08-28  Mikael Pettersson  <mikpe@it.uu.se>

PR bootstrap/50218
* tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Initialize
comp.

From-SVN: r178141

12 years agore PR fortran/48066 (Segfault with SUM of zero-sized array)
Thomas Koenig [Sun, 28 Aug 2011 10:08:50 +0000 (10:08 +0000)] 
re PR fortran/48066 (Segfault with SUM of zero-sized array)

2011-08-28  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/40866
* generated/iall_i1.c: Regenerated.
* generated/iall_i16.c: Regenerated.
* generated/iall_i2.c: Regenerated.
* generated/iall_i4.c: Regenerated.
* generated/iall_i8.c: Regenerated.
* generated/iany_i1.c: Regenerated.
* generated/iany_i16.c: Regenerated.
* generated/iany_i2.c: Regenerated.
* generated/iany_i4.c: Regenerated.
* generated/iany_i8.c: Regenerated.
* generated/iparity_i1.c: Regenerated.
* generated/iparity_i16.c: Regenerated.
* generated/iparity_i2.c: Regenerated.
* generated/iparity_i4.c: Regenerated.
* generated/iparity_i8.c: Regenerated.
* generated/norm2_r10.c: Regenerated.
* generated/norm2_r16.c: Regenerated.
* generated/norm2_r4.c: Regenerated.
* generated/norm2_r8.c: Regenerated.
* generated/parity_l1.c: Regenerated.
* generated/parity_l16.c: Regenerated.
* generated/parity_l2.c: Regenerated.
* generated/parity_l4.c: Regenerated.
* generated/parity_l8.c: Regenerated.
* generated/misc_specifics.F90: Regenerated (comment change).
* generated/_abs_c10.F90: Regenerated (comment change).
* generated/_abs_c16.F90: Regenerated (comment change).
* generated/_abs_c4.F90: Regenerated (comment change).
* generated/_abs_c8.F90: Regenerated (comment change).
* generated/_abs_i16.F90: Regenerated (comment change).
* generated/_abs_i4.F90: Regenerated (comment change).
* generated/_abs_i8.F90: Regenerated (comment change).
* generated/_abs_r10.F90: Regenerated (comment change).
* generated/_abs_r16.F90: Regenerated (comment change).
* generated/_abs_r4.F90: Regenerated (comment change).
* generated/_abs_r8.F90: Regenerated (comment change).
* generated/_acosh_r10.F90: Regenerated (comment change).
* generated/_acosh_r16.F90: Regenerated (comment change).
* generated/_acosh_r4.F90: Regenerated (comment change).
* generated/_acosh_r8.F90: Regenerated (comment change).
* generated/_acos_r10.F90: Regenerated (comment change).
* generated/_acos_r16.F90: Regenerated (comment change).
* generated/_acos_r4.F90: Regenerated (comment change).
* generated/_acos_r8.F90: Regenerated (comment change).
* generated/_aimag_c10.F90: Regenerated (comment change).
* generated/_aimag_c16.F90: Regenerated (comment change).
* generated/_aimag_c4.F90: Regenerated (comment change).
* generated/_aimag_c8.F90: Regenerated (comment change).
* generated/_aint_r10.F90: Regenerated (comment change).
* generated/_aint_r16.F90: Regenerated (comment change).
* generated/_aint_r4.F90: Regenerated (comment change).
* generated/_aint_r8.F90: Regenerated (comment change).
* generated/_anint_r10.F90: Regenerated (comment change).
* generated/_anint_r16.F90: Regenerated (comment change).
* generated/_anint_r4.F90: Regenerated (comment change).
* generated/_anint_r8.F90: Regenerated (comment change).
* generated/_asinh_r10.F90: Regenerated (comment change).
* generated/_asinh_r16.F90: Regenerated (comment change).
* generated/_asinh_r4.F90: Regenerated (comment change).
* generated/_asinh_r8.F90: Regenerated (comment change).
* generated/_asin_r10.F90: Regenerated (comment change).
* generated/_asin_r16.F90: Regenerated (comment change).
* generated/_asin_r4.F90: Regenerated (comment change).
* generated/_asin_r8.F90: Regenerated (comment change).
* generated/_atan2_r10.F90: Regenerated (comment change).
* generated/_atan2_r16.F90: Regenerated (comment change).
* generated/_atan2_r4.F90: Regenerated (comment change).
* generated/_atan2_r8.F90: Regenerated (comment change).
* generated/_atanh_r10.F90: Regenerated (comment change).
* generated/_atanh_r16.F90: Regenerated (comment change).
* generated/_atanh_r4.F90: Regenerated (comment change).
* generated/_atanh_r8.F90: Regenerated (comment change).
* generated/_atan_r10.F90: Regenerated (comment change).
* generated/_atan_r16.F90: Regenerated (comment change).
* generated/_atan_r4.F90: Regenerated (comment change).
* generated/_atan_r8.F90: Regenerated (comment change).
* generated/_conjg_c10.F90: Regenerated (comment change).
* generated/_conjg_c16.F90: Regenerated (comment change).
* generated/_conjg_c4.F90: Regenerated (comment change).
* generated/_conjg_c8.F90: Regenerated (comment change).
* generated/_cosh_r10.F90: Regenerated (comment change).
* generated/_cosh_r16.F90: Regenerated (comment change).
* generated/_cosh_r4.F90: Regenerated (comment change).
* generated/_cosh_r8.F90: Regenerated (comment change).
* generated/_cos_c10.F90: Regenerated (comment change).
* generated/_cos_c16.F90: Regenerated (comment change).
* generated/_cos_c4.F90: Regenerated (comment change).
* generated/_cos_c8.F90: Regenerated (comment change).
* generated/_cos_r10.F90: Regenerated (comment change).
* generated/_cos_r16.F90: Regenerated (comment change).
* generated/_cos_r4.F90: Regenerated (comment change).
* generated/_cos_r8.F90: Regenerated (comment change).
* generated/_dim_i16.F90: Regenerated (comment change).
* generated/_dim_i4.F90: Regenerated (comment change).
* generated/_dim_i8.F90: Regenerated (comment change).
* generated/_dim_r10.F90: Regenerated (comment change).
* generated/_dim_r16.F90: Regenerated (comment change).
* generated/_dim_r4.F90: Regenerated (comment change).
* generated/_dim_r8.F90: Regenerated (comment change).
* generated/_exp_c10.F90: Regenerated (comment change).
* generated/_exp_c16.F90: Regenerated (comment change).
* generated/_exp_c4.F90: Regenerated (comment change).
* generated/_exp_c8.F90: Regenerated (comment change).
* generated/_exp_r10.F90: Regenerated (comment change).
* generated/_exp_r16.F90: Regenerated (comment change).
* generated/_exp_r4.F90: Regenerated (comment change).
* generated/_exp_r8.F90: Regenerated (comment change).
* generated/_log10_r10.F90: Regenerated (comment change).
* generated/_log10_r16.F90: Regenerated (comment change).
* generated/_log10_r4.F90: Regenerated (comment change).
* generated/_log10_r8.F90: Regenerated (comment change).
* generated/_log_c10.F90: Regenerated (comment change).
* generated/_log_c16.F90: Regenerated (comment change).
* generated/_log_c4.F90: Regenerated (comment change).
* generated/_log_c8.F90: Regenerated (comment change).
* generated/_log_r10.F90: Regenerated (comment change).
* generated/_log_r16.F90: Regenerated (comment change).
* generated/_log_r4.F90: Regenerated (comment change).
* generated/_log_r8.F90: Regenerated (comment change).
* generated/_mod_i16.F90: Regenerated (comment change).
* generated/_mod_i4.F90: Regenerated (comment change).
* generated/_mod_i8.F90: Regenerated (comment change).
* generated/_mod_r10.F90: Regenerated (comment change).
* generated/_mod_r16.F90: Regenerated (comment change).
* generated/_mod_r4.F90: Regenerated (comment change).
* generated/_mod_r8.F90: Regenerated (comment change).
* generated/_sign_i16.F90: Regenerated (comment change).
* generated/_sign_i4.F90: Regenerated (comment change).
* generated/_sign_i8.F90: Regenerated (comment change).
* generated/_sign_r10.F90: Regenerated (comment change).
* generated/_sign_r16.F90: Regenerated (comment change).
* generated/_sign_r4.F90: Regenerated (comment change).
* generated/_sign_r8.F90: Regenerated (comment change).
* generated/_sinh_r10.F90: Regenerated (comment change).
* generated/_sinh_r16.F90: Regenerated (comment change).
* generated/_sinh_r4.F90: Regenerated (comment change).
* generated/_sinh_r8.F90: Regenerated (comment change).
* generated/_sin_c10.F90: Regenerated (comment change).
* generated/_sin_c16.F90: Regenerated (comment change).
* generated/_sin_c4.F90: Regenerated (comment change).
* generated/_sin_c8.F90: Regenerated (comment change).
* generated/_sin_r10.F90: Regenerated (comment change).
* generated/_sin_r16.F90: Regenerated (comment change).
* generated/_sin_r4.F90: Regenerated (comment change).
* generated/_sin_r8.F90: Regenerated (comment change).
* generated/_sqrt_c10.F90: Regenerated (comment change).
* generated/_sqrt_c16.F90: Regenerated (comment change).
* generated/_sqrt_c4.F90: Regenerated (comment change).
* generated/_sqrt_c8.F90: Regenerated (comment change).
* generated/_sqrt_r10.F90: Regenerated (comment change).
* generated/_sqrt_r16.F90: Regenerated (comment change).
* generated/_sqrt_r4.F90: Regenerated (comment change).
* generated/_sqrt_r8.F90: Regenerated (comment change).
* generated/_tanh_r10.F90: Regenerated (comment change).
* generated/_tanh_r16.F90: Regenerated (comment change).
* generated/_tanh_r4.F90: Regenerated (comment change).
* generated/_tanh_r8.F90: Regenerated (comment change).
* generated/_tan_r10.F90: Regenerated (comment change).
* generated/_tan_r16.F90: Regenerated (comment change).
* generated/_tan_r4.F90: Regenerated (comment change).
* generated/_tan_r8.F90: Regenerated (comment change).

From-SVN: r178140

12 years agoDaily bump.
GCC Administrator [Sun, 28 Aug 2011 00:18:34 +0000 (00:18 +0000)] 
Daily bump.

From-SVN: r178139

12 years agortl.texi (simple_return): Document.
Bernd Schmidt [Sat, 27 Aug 2011 17:38:58 +0000 (17:38 +0000)] 
rtl.texi (simple_return): Document.

* doc/rtl.texi (simple_return): Document.
(parallel, PATTERN): Here too.
* doc/md.texi (return): Mention it's allowed to expand to simple_return
in some cases.
(simple_return): Document standard pattern.
* gengenrtl.c (special_rtx): SIMPLE_RETURN is special.
* final.c (final_scan_insn): Use ANY_RETURN_P on body.
* reorg.c (function_return_label, function_simple_return_label):
New static variables, replacing...
(end_of_function_label): ... this.
(simplejump_or_return_p): New static function.
(optimize_skip, steal_delay_list_from_fallthrough,
fill_slots_from_thread): Use it.
(relax_delay_slots): Likewise.  Use ANY_RETURN_P on body.
(rare_destination, follow_jumps): Use ANY_RETURN_P on body.
(find_end_label): Take a new arg which is one of the two return
rtxs.  Depending on which, set either function_return_label or
function_simple_return_label.  All callers changed.
(make_return_insns): Make both kinds.
(dbr_schedule): Adjust for two kinds of end labels.
* function.c (emit_return_into_block): Set JUMP_LABEL properly.
* genemit.c (gen_exp): Handle SIMPLE_RETURN.
(gen_expand, gen_split): Use ANY_RETURN_P.
* df-scan.c (df_uses_record): Handle SIMPLE_RETURN.
* rtl.def (SIMPLE_RETURN): New code.
* ifcvt.c (find_if_case_1): Be more careful about
redirecting jumps to the EXIT_BLOCK.
* jump.c (condjump_p, condjump_in_parallel_p, any_condjump_p,
returnjump_p_1): Handle SIMPLE_RETURNs.
* print-rtl.c (print_rtx): Likewise.
* rtl.c (copy_rtx): Likewise.
* bt-load.c (compute_defs_uses_and_gen): Use ANY_RETURN_P.
* combine.c (simplify_set): Likewise.
* resource.c (find_dead_or_set_registers, mark_set_resources):
Likewise.
* emit-rtl.c (verify_rtx_sharing, classify_insn, copy_insn_1,
copy_rtx_if_shared_1, mark_used_flags): Handle SIMPLE_RETURNs.
(init_emit_regs): Initialize simple_return_rtx.
* cfglayout.c (fixup_reorder_chain): Pass a JUMP_LABEL to
force_nonfallthru_and_redirect.
* rtl.h (ANY_RETURN_P): Allow SIMPLE_RETURN.
(GR_SIMPLE_RETURN): New enum value.
(simple_return_rtx): New macro.
* basic-block.h (force_nonfallthru_and_redirect): Adjust
declaration.
* cfgrtl.c (force_nonfallthru_and_redirect): Take a new jump_label
argument.  All callers changed.  Be careful about what kinds of
returnjumps to generate.
* config/i386/3i86.c (ix86_pad_returns, ix86_count_insn_bb,
ix86_pad_short_function): Likewise.
* config/arm/arm.c (arm_final_prescan_insn): Handle both kinds
of return.
* config/mips/mips.md (any_return): New code_iterator.
(optab): Add cases for return and simple_return.
(return): Expand to a simple_return.
(simple_return): New pattern.
(*<optab>, *<optab>_internal for any_return): New patterns.
(return_internal): Remove.
* config/mips/mips.c (mips_expand_epilogue): Make the last insn
a simple_return_internal.

From-SVN: r178135

12 years agosse.md (*absneg<mode>2): Fix split condition.
Uros Bizjak [Sat, 27 Aug 2011 10:44:00 +0000 (12:44 +0200)] 
sse.md (*absneg<mode>2): Fix split condition.

* config/i386/sse.md (*absneg<mode>2): Fix split condition.
(vec_extract_lo_<mode>): Prevent both operands in memory.
(vec_extract_lo_v16hi): Ditto.
(*vec_extract_v4sf_mem): Add TARGET_SSE insn constraint.

* config/i386/sse.md (mulv16qi3): Attach REG_EQUAL note.
(*sse2_mulv4si3): Ditto.
(mulv2di3): Ditto.
* config/i386/i386.c (legitimize_tls_address): Change REG_EQIV
notes to REG_EQUAL.

From-SVN: r178132

12 years agore PR target/50202 (ICE: in final_scan_insn, at final.c:2709 (could not split insn...
Uros Bizjak [Sat, 27 Aug 2011 07:46:35 +0000 (09:46 +0200)] 
re PR target/50202 (ICE: in final_scan_insn, at final.c:2709 (could not split insn) with __builtin_ia32_pcmpistri128)

PR target/50202
* config/i386/sse.md (sse4_2_pcmpestr): Emit NOTE_INSN_DELETED note
when all outputs are unused.
(sse4_2_pcmpestr): Ditto.

testsuite/ChangeLog:

PR target/50202
* gcc.target/i386/pr50202.c: New test.

From-SVN: r178130

12 years agoDaily bump.
GCC Administrator [Sat, 27 Aug 2011 00:18:32 +0000 (00:18 +0000)] 
Daily bump.

From-SVN: r178129

12 years agoi386.c (ix86_build_const_vector): Rewrite using loop with RTVEC_ELT accessor.
Uros Bizjak [Fri, 26 Aug 2011 20:53:38 +0000 (22:53 +0200)] 
i386.c (ix86_build_const_vector): Rewrite using loop with RTVEC_ELT accessor.

* config/i386/i386.c (ix86_build_const_vector): Rewrite using loop
with RTVEC_ELT accessor.

From-SVN: r178124

12 years agoi386.md (round<mode>2): New expander.
Uros Bizjak [Fri, 26 Aug 2011 19:42:30 +0000 (21:42 +0200)] 
i386.md (round<mode>2): New expander.

* config/i386/i386.md (round<mode>2): New expander.
* config/i386/i386.c (enum ix86_builtins): Add
IX86_BUILTIN_ROUND{PS,PD}_AZ{,256}.
(struct builtin_description): Add __builtin_ia32_round{ps,pd}_az{,256}
descriptions.
(ix86_builtin_vectorized_function): Handle BUILT_IN_ROUND{,F} builtins.

testsuite/ChangeLog:

* gcc.target/i386/sse_4_1-round-vec.c: New test.
* gcc.target/i386/sse_4_1-roundf-vec.c: New test.
* gcc.target/i386/avx-round-vec.c: New test.
* gcc.target/i386/avx-roundf-vec.c: New test.

From-SVN: r178123

12 years agore PR middle-end/50083 (All 32-bit fortran tests fail on 32-bit Solaris)
Uros Bizjak [Fri, 26 Aug 2011 16:10:45 +0000 (18:10 +0200)] 
re PR middle-end/50083 (All 32-bit fortran tests fail on 32-bit Solaris)

PR middle-end/50083
* convert.c (convert_to_integer) <BUIT_IN_ROUND{,F,L}>: Convert
only when TARGET_C99_FUNCTIONS.
<BUILT_IN_NEARBYINT{,F,L}>: Ditto.
<BUILT_IN_RINT{,F,L}>: Ditto.

From-SVN: r178119

12 years agore PR lto/50165 (Huge build time regression (Firefox lto build))
Michael Matz [Fri, 26 Aug 2011 16:02:17 +0000 (16:02 +0000)] 
re PR lto/50165 (Huge build time regression (Firefox lto build))

PR lto/50165
* lto-streamer-in.c (canon_file_name): Initialize new_slot->len;
don't call strlen twice, use memcpy.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r178118

12 years agoAdd <lzcntintrin.h>, <bmiintrin.h> and <bmi2intrin.h> to <immintrin.h>.
H.J. Lu [Fri, 26 Aug 2011 15:45:32 +0000 (15:45 +0000)] 
Add <lzcntintrin.h>, <bmiintrin.h> and <bmi2intrin.h> to <immintrin.h>.

2011-08-26  H.J. Lu  <hongjiu.lu@intel.com>

* config/i386/bmi2intrin.h: Allow in <immintrin.h>.
* config/i386/bmiintrin.h: Likewise.
* config/i386/lzcntintrin.h: Likewise.

* config/i386/immintrin.h: Include <lzcntintrin.h>,
<bmiintrin.h> and <bmi2intrin.h>.

From-SVN: r178117

12 years agoDisable .init_array/.fini_array support on Solaris (PR target/50166)
Rainer Orth [Fri, 26 Aug 2011 15:17:42 +0000 (15:17 +0000)] 
Disable .init_array/.fini_array support on Solaris (PR target/50166)

PR target/50166
* acinclude.m4 (gcc_AC_INITFINI_ARRAY): Check count in main.
* configure: Regenerate.

From-SVN: r178116

12 years agotrans-decl.c (get_proc_pointer_decl): Set DECL_TLS_MODEL if threadprivate.
Jakub Jelinek [Fri, 26 Aug 2011 14:55:05 +0000 (16:55 +0200)] 
trans-decl.c (get_proc_pointer_decl): Set DECL_TLS_MODEL if threadprivate.

* trans-decl.c (get_proc_pointer_decl): Set DECL_TLS_MODEL
if threadprivate.
* symbol.c (check_conflict): Allow threadprivate attribute with
FL_PROCEDURE if proc_pointer.

* testsuite/libgomp.fortran/threadprivate4.f90: New test.

From-SVN: r178114

12 years agocmpxchg16b-1.c: Match also space after the instruction.
Jakub Jelinek [Fri, 26 Aug 2011 14:52:54 +0000 (16:52 +0200)] 
cmpxchg16b-1.c: Match also space after the instruction.

* gcc.target/i386/cmpxchg16b-1.c: Match also space after the
instruction.

From-SVN: r178113

12 years agore PR c/50179 (wrong "set but not used" warning)
Jakub Jelinek [Fri, 26 Aug 2011 14:37:22 +0000 (16:37 +0200)] 
re PR c/50179 (wrong "set but not used" warning)

PR c/50179
* c-typeck.c (c_process_expr_stmt): Skip over nops and
call mark_exp_read even if exprv is ADDR_EXPR.

* c-c++-common/Wunused-var-14.c: New test.

From-SVN: r178110

12 years agodf-problems.c (df_note_bb_compute): Pass uses rather than defs to df_set_dead_notes_f...
Richard Sandiford [Fri, 26 Aug 2011 14:21:19 +0000 (14:21 +0000)] 
df-problems.c (df_note_bb_compute): Pass uses rather than defs to df_set_dead_notes_for_mw.

gcc/
* df-problems.c (df_note_bb_compute): Pass uses rather than defs
to df_set_dead_notes_for_mw.

From-SVN: r178109

12 years agovarasm.c (decode_addr_const): Handle MEM_REF[&X, OFF].
Richard Guenther [Fri, 26 Aug 2011 14:02:28 +0000 (14:02 +0000)] 
varasm.c (decode_addr_const): Handle MEM_REF[&X, OFF].

2011-08-26  Richard Guenther  <rguenther@suse.de>

* varasm.c (decode_addr_const): Handle MEM_REF[&X, OFF].

From-SVN: r178107

12 years agoivopts-lt.c: New test.
Tom de Vries [Fri, 26 Aug 2011 13:38:22 +0000 (13:38 +0000)] 
ivopts-lt.c: New test.

2011-08-26  Tom de Vries  <tom@codesourcery.com>

* gcc.dg/tree-ssa/ivopts-lt.c: New test.

From-SVN: r178105

12 years agotree-ssa-loop-ivopts.c (struct cost_pair): Add comp field.
Zdenek Dvorak [Fri, 26 Aug 2011 13:36:28 +0000 (15:36 +0200)] 
tree-ssa-loop-ivopts.c (struct cost_pair): Add comp field.

2011-08-26  Zdenek Dvorak  <ook@ucw.cz>
    Tom de Vries  <tom@codesourcery.com>

* tree-ssa-loop-ivopts.c (struct cost_pair): Add comp field.
(struct ivopts_data): Add loop_single_exit_p field.
(niter_for_exit): Change parameter desc_p into return value.  Return
desc if desc->may_be_zero.  Free desc if unused.
(niter_for_single_dom_exit): Change return type.
(find_induction_variables): Handle changed return type of
niter_for_single_dom_exit.  Dump may_be_zero.
(add_candidate_1): Keep original base and step type for IP_ORIGINAL.
(set_use_iv_cost): Add and handle comp parameter.
(determine_use_iv_cost_generic, determine_use_iv_cost_address): Add
comp argument to set_use_iv_cost.
(strip_wrap_conserving_type_conversions, expr_equal_p)
(difference_cannot_overflow_p, iv_elimination_compare_lt): New function.
(may_eliminate_iv): Add comp parameter.  Handle new return type of
niter_for_exit.  Use loop_single_exit_p.  Use iv_elimination_compare_lt.
(determine_use_iv_cost_condition): Add comp argument to set_use_iv_cost
and may_eliminate_iv.
(rewrite_use_compare): Move call to iv_elimination_compare to ...
(may_eliminate_iv): Here.
(tree_ssa_iv_optimize_loop): Initialize loop_single_exit_p.

Co-Authored-By: Tom de Vries <tom@codesourcery.com>
From-SVN: r178104

12 years agotree-pretty-print (dump_generic_node): Test for NULL_TREE before accessing TREE_TYPE.
Tom de Vries [Fri, 26 Aug 2011 13:03:58 +0000 (13:03 +0000)] 
tree-pretty-print (dump_generic_node): Test for NULL_TREE before accessing TREE_TYPE.

2011-08-26  Tom de Vries  <tom@codesourcery.com>

* tree-pretty-print (dump_generic_node): Test for NULL_TREE before
accessing TREE_TYPE.

From-SVN: r178103

12 years agoCommit for Jiangning.
Jiangning Liu [Fri, 26 Aug 2011 12:50:19 +0000 (12:50 +0000)] 
Commit for Jiangning.

Add conditional compare support for Thumb2.

From-SVN: r178102

12 years ago* rtlanal.c (nonzero_bits1): Handle CLRSB.
Jakub Jelinek [Fri, 26 Aug 2011 12:15:25 +0000 (14:15 +0200)] 
* rtlanal.c (nonzero_bits1): Handle CLRSB.

From-SVN: r178101

12 years agoexpr.c (string_constant): Handle &MEM_REF.
Richard Guenther [Fri, 26 Aug 2011 11:23:37 +0000 (11:23 +0000)] 
expr.c (string_constant): Handle &MEM_REF.

2011-08-26  Richard Guenther  <rguenther@suse.de>

* expr.c (string_constant): Handle &MEM_REF.

From-SVN: r178100

12 years agoarm.c (struct four_ints): New type.
Andrew Stubbs [Fri, 26 Aug 2011 09:53:06 +0000 (09:53 +0000)] 
arm.c (struct four_ints): New type.

2011-08-26  Andrew Stubbs  <ams@codesourcery.com>

gcc/
* config/arm/arm.c (struct four_ints): New type.
(count_insns_for_constant): Delete function.
(find_best_start): Delete function.
(optimal_immediate_sequence): New function.
(optimal_immediate_sequence_1): New function.
(arm_gen_constant): Move constant splitting code to
optimal_immediate_sequence.
Rewrite constant negation/invertion code.

gcc/testsuite/
* gcc.target/arm/thumb2-replicated-constant1.c: New file.
* gcc.target/arm/thumb2-replicated-constant2.c: New file.
* gcc.target/arm/thumb2-replicated-constant3.c: New file.
* gcc.target/arm/thumb2-replicated-constant4.c: New file.

2011-08-26  Andrew Stubbs  <ams@codesourcery.com>

gcc/
* config/arm/arm-protos.h (const_ok_for_op): Add prototype.
* config/arm/arm.c (const_ok_for_op): Add support for addw/subw.
Remove prototype. Remove static function type.
* config/arm/arm.md (*arm_addsi3): Add addw/subw support.
Add arch attribute.
* config/arm/constraints.md (Pj, PJ): New constraints.

From-SVN: r178099

12 years agoFix scheduling descriptions for smull, smmul and friends on Cortex-A9.
Ramana Radhakrishnan [Fri, 26 Aug 2011 08:44:21 +0000 (08:44 +0000)] 
Fix scheduling descriptions for smull, smmul and friends on Cortex-A9.

From-SVN: r178098

12 years agoDaily bump.
GCC Administrator [Fri, 26 Aug 2011 00:18:33 +0000 (00:18 +0000)] 
Daily bump.

From-SVN: r178095

12 years agoChange Bound_method_expression to refer to a constant method.
Ian Lance Taylor [Thu, 25 Aug 2011 23:14:20 +0000 (23:14 +0000)] 
Change Bound_method_expression to refer to a constant method.

From-SVN: r178091

12 years ago* config/i386/i386.md: Do not explicitly set default isa attribute.
Uros Bizjak [Thu, 25 Aug 2011 19:38:57 +0000 (21:38 +0200)] 
* config/i386/i386.md: Do not explicitly set default isa attribute.

From-SVN: r178088

12 years agore PR fortran/50050 (Internal compiler error free_expr0 at expr.c:3709 via gfc_done_2)
Mikael Morin [Thu, 25 Aug 2011 19:10:06 +0000 (19:10 +0000)] 
re PR fortran/50050 (Internal compiler error free_expr0 at expr.c:3709 via gfc_done_2)

2011-08-25  Mikael Morin  <mikael.morin@gcc.gnu.org>

PR fortran/50050
* expr.c (gfc_free_shape): Do nothing if shape is NULL.
(free_expr0): Remove redundant NULL shape check.
* resolve.c (check_host_association): Ditto.
* trans-expr.c (gfc_trans_subarray_assign): Assert that shape is
non-NULL.
* trans-io.c (transfer_array_component): Ditto.

2011-08-25  Mikael Morin  <mikael.morin@gcc.gnu.org>

PR fortran/50050
* gfortran.dg/pointer_comp_init_1.f90: New test.

From-SVN: r178086

12 years agore PR debug/50132 (ICE: in maybe_record_trace_start, at dwarf2cfi.c:2234 with -fno...
Richard Henderson [Thu, 25 Aug 2011 18:57:48 +0000 (11:57 -0700)] 
re PR debug/50132 (ICE: in maybe_record_trace_start, at dwarf2cfi.c:2234 with -fno-asynchronous-unwind-tables and long double)

PR 50132
PR 49864
        * cfgcleanup.c (old_insns_match_p): Don't allow cross-jump for
        non-constant stack adjutment.
        * expr.c (find_args_size_adjust): Break out from ...
        (fixup_args_size_notes): ... here.
        * rtl.h (find_args_size_adjust): Declare.

From-SVN: r178084

12 years ago* call.c (convert_like_real): Remove redundant complain checks.
Jason Merrill [Thu, 25 Aug 2011 18:22:54 +0000 (14:22 -0400)] 
* call.c (convert_like_real): Remove redundant complain checks.

From-SVN: r178082

12 years agore PR c++/50157 ([C++0x] Non-silent SFINAE in new expression with explicit conversion)
Jason Merrill [Thu, 25 Aug 2011 18:22:46 +0000 (14:22 -0400)] 
re PR c++/50157 ([C++0x] Non-silent SFINAE in new expression with explicit conversion)

PR c++/50157
* call.c (convert_like_real): Exit early if bad and !tf_error.

From-SVN: r178081

12 years agoi386.md (isa): Add sse2, sse2_noavx, sse3, sse4 and sse4_noavx.
Uros Bizjak [Thu, 25 Aug 2011 17:05:34 +0000 (19:05 +0200)] 
i386.md (isa): Add sse2, sse2_noavx, sse3, sse4 and sse4_noavx.

* config/i386/i386.md (isa): Add sse2, sse2_noavx, sse3,
sse4 and sse4_noavx.
(enabled): Handle sse2, sse2_noavx, sse3, sse4 and sse4_noavx.
(*pushdf_rex64): Change Y2 register constraint to x.
(*movdf_internal_rex64): Ditto.
(*zero_extendsidi2_rex64): Ditto.
(*movdi_internal): Change Y2 register constraint to x
and update "isa" attribute.
(*pushdf): Ditto.
(*movdf internal): Ditto.
(zero_extendsidi2_1): Ditto.
(*truncdfdf_mixed): Ditto.
(*truncxfdf2_mixed): Ditto.
* config/i386/mmx.md (*mov<mode>_internal_rex64): Change Y2
register constraint to x.
(*movv2sf_internal_rex64): Ditto.
(*mov<mode>_internal): Change Y2 register constraint to x
and add "isa" attribute.
(*movv2sf_internal): Ditto.
(*vec_extractv2si_1): Ditto.
* config/i386/sse.md ("vec_set<mode>_0): Change Y2 and Y4 register
constraints to x and update "isa" attribute.
(*vec_interleave_highv2df): Change Y3 registerconstraint
to x and update "isa" attribute.
(*vec_interleave_lowv2df): Ditto.
(*vec_concatv2df): Change Y2 register constraint to x and
update "isa" attribute.
(sse2_loadld): Ditto.
(*vec_extractv2di_1): Ditto.
(*vec_dupv4si): Ditto.
(*vec_dupv2di): Ditto.
(*vec_concatv4si): Ditto.
(vec_concatv2di): Ditto.
* config/i386/constraints.md (Y2): Remove.
(Y3): Ditto.
(Y4): Ditto.

From-SVN: r178073

12 years agotrans-array.c (gfc_conv_descriptor_token): Add assert.
Tobias Burnus [Thu, 25 Aug 2011 16:27:39 +0000 (18:27 +0200)] 
trans-array.c (gfc_conv_descriptor_token): Add assert.

2011-08-25  Tobias Burnus  <burnus@net-b.de>

        * trans-array.c (gfc_conv_descriptor_token): Add assert.
        * trans-decl.c (gfc_build_qualified_array,
        create_function_arglist): Handle assumed-shape arrays.
        * trans-expr.c (gfc_conv_procedure_call): Ditto.
        * trans-types.c (gfc_get_array_descriptor_base): Ditto, don't
        add "caf_token" to assumed-shape descriptors, new akind argument.
        (gfc_get_array_type_bounds): Pass akind.
        * trans.h (lang_decl): New elements caf_offset and token.
        (GFC_DECL_TOKEN, GFC_DECL_CAF_OFFSET): New macros.

2011-08-25  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/coarray_lib_token_4.f90: New.

From-SVN: r178069

12 years agotrans-array.c (structure_alloc_comps): Fix for allocatable scalar coarray components.
Tobias Burnus [Thu, 25 Aug 2011 15:59:40 +0000 (17:59 +0200)] 
trans-array.c (structure_alloc_comps): Fix for allocatable scalar coarray components.

2011-08-25  Tobias Burnus  <burnus@net-b.de>

        * trans-array.c (structure_alloc_comps): Fix for allocatable
        scalar coarray components.
        * trans-expr.c (gfc_conv_component_ref): Ditto.
        * trans-type.c (gfc_get_derived_type): Ditto.

2011-08-25  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/coarray/alloc_comp_1.f90: New.

From-SVN: r178068

12 years ago* config/avr/avr.c (byte_immediate_operand): Remove Function.
Georg-Johann Lay [Thu, 25 Aug 2011 14:36:01 +0000 (14:36 +0000)] 
* config/avr/avr.c (byte_immediate_operand): Remove Function.

From-SVN: r178067

12 years agosimple.cc: New file.
Tom Tromey [Thu, 25 Aug 2011 14:29:47 +0000 (14:29 +0000)] 
simple.cc: New file.

* testsuite/libstdc++-prettyprinters/simple.cc: New file.
* testsuite/lib/gdb-test.exp: New file.
* testsuite/libstdc++-prettyprinters/prettyprinters.exp: New
file.

From-SVN: r178066

12 years agoregrename.c (scan_rtx_reg, [...]): Don't declare.
Bernd Schmidt [Thu, 25 Aug 2011 14:23:47 +0000 (14:23 +0000)] 
regrename.c (scan_rtx_reg, [...]): Don't declare.

* regrename.c (scan_rtx_reg, scan_rtx_address, build_def_use,
dump_def_use_chain): Don't declare.
(mark_conflict, create_new_chain): Move before users.
(regrename_optimize): Move to near end of file.

From-SVN: r178065

12 years agoavr-protos.h (byte_immediate_operand): Remove Prototype.
Georg-Johann Lay [Thu, 25 Aug 2011 13:51:38 +0000 (13:51 +0000)] 
avr-protos.h (byte_immediate_operand): Remove Prototype.

* config/avr-protos.h (byte_immediate_operand): Remove Prototype.
(secondary_input_reload_class): Remove Prototype.
* config/avr/avr.c (byte_immediate_operand): Remove Function.
* config/avr/avr.md (setmemhi): Use u8_operand.
(strlenhi): Use const0_rtx for comparison.
* config/avr/avr.h (avr_reg_order): Remove Declaration.

From-SVN: r178064

12 years agoavr.c (reg_class_tab): Make local to avr_regno_reg_class.
Georg-Johann Lay [Thu, 25 Aug 2011 13:50:30 +0000 (13:50 +0000)] 
avr.c (reg_class_tab): Make local to avr_regno_reg_class.

* config/avr/avr.c (reg_class_tab): Make local to
avr_regno_reg_class.  Return smallest register class available.

From-SVN: r178063

12 years agoavr.c (STR_PREFIX_P): New Define.
Georg-Johann Lay [Thu, 25 Aug 2011 13:46:35 +0000 (13:46 +0000)] 
avr.c (STR_PREFIX_P): New Define.

* config/avr/avr.c (STR_PREFIX_P): New Define.
(avr_asm_declare_function_name): Use it.
(avr_asm_named_section): Use it.
(avr_section_type_flags): Use it.

From-SVN: r178062

12 years agoWshadow-3.c: Restore original content destroyed by r148442.
Richard Guenther [Thu, 25 Aug 2011 13:24:34 +0000 (13:24 +0000)] 
Wshadow-3.c: Restore original content destroyed by r148442.

2011-08-25  Richard Guenther  <rguenther@suse.de>

* gcc.dg/Wshadow-3.c: Restore original content destroyed by r148442.

From-SVN: r178061

12 years agoffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly instructions.
Andrew Haley [Thu, 25 Aug 2011 10:37:36 +0000 (10:37 +0000)] 
ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly instructions.

2011-08-25  Andrew Haley  <aph@redhat.com>

        * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly
        instructions.
        * src/arm/sysv.S (ffi_arm_trampoline): Put them here instead.

From-SVN: r178060

12 years agomd.texi (automata_option): Document collapse-ndfa.
Bernd Schmidt [Thu, 25 Aug 2011 10:30:13 +0000 (10:30 +0000)] 
md.texi (automata_option): Document collapse-ndfa.

* doc/md.texi (automata_option): Document collapse-ndfa.
* genautomata.c (COLLAPSE_OPTION): New macro.
(collapse_flag): New static variable.
(struct description): New member normal_decls_num.
(struct automaton): New members advance_ainsn and collapse_ainsn.
(gen_automata_option): Check for COLLAPSE_OPTION.
(collapse_ndfa_insn_decl): New static variable.
(add_collapse_ndfa_insn_decl, special_decl_p): New functions.
(find_arc): If insn is the collapse-ndfa insn, accept any arc we
find.
(transform_insn_regexps): Call add_collapse_ndfa_insn_decl if
necessary.  Use normal_decls_num rather than decls_num, remove
test for special decls.
(create_alt_states, form_ainsn_with_same_reservs): Use
special_decl_p.
(make_automaton); Likewise.  Use the new advance_cycle_insn member
of struct automaton.
(create_composed_state): Disallow advance-cycle arcs if collapse_flag
is set.
(NDFA_to_DFA): Don't create composed states for the collapse-ndfa
transition.  Create the necessary transitions for it.
(create_ainsns): Return void.  Take an automaton_t argument, and
update its ainsn_list, advance_ainsn and collapse_ainsn members.  All
callers changed.
(COLLAPSE_NDFA_VALUE_NAME): New macro.
(output_tables): Output code to define it.
(output_internal_insn_code_evaluation): Output code to accept
const0_rtx as collapse-ndfa transition.
(output_default_latencies, output_print_reservation_func,
output_print_description): Reorganize loops to use normal_decls_num
as loop bound; remove special case for advance_cycle_insn_decl.
(initiate_automaton_gen): Handle COLLAPSE_OPTION.
(check_automata_insn_issues): Check for collapse_ainsn.
(expand_automate): Allocate sufficient space.  Initialize
normal_decls_num.

From-SVN: r178059

12 years agoavr.md: Fix indentation from r177991.
Georg-Johann Lay [Thu, 25 Aug 2011 10:27:18 +0000 (10:27 +0000)] 
avr.md: Fix indentation from r177991.

* config/avr/avr.md: Fix indentation from r177991.

From-SVN: r178058

12 years agoregrename.c (struct du_head): Remove member terminated.
Bernd Schmidt [Thu, 25 Aug 2011 10:12:35 +0000 (10:12 +0000)] 
regrename.c (struct du_head): Remove member terminated.

* regrename.c (struct du_head): Remove member terminated.
(create_new_chain): Don't initialize it.
(scan_rtx_reg): Don't set or test it, test the open_chains_set
bitmap instead.
(tick, this_tick): New global variables, moved out of
regrename_optimize.
(current_id, open_chains, closed_chains, open_chains_set,
live_in_chains, live_hard_regs): Reorder declarations.
(dump_def_use_chain): Move function earlier in the file.
(rename_chains): New static function, broken out of
regrename_optimize.
(regrename_optimize): Use it.  Remove #if 0'ed code.

From-SVN: r178057

12 years agoDon't assume hg convert in gcc_update
Rainer Orth [Thu, 25 Aug 2011 09:16:52 +0000 (09:16 +0000)] 
Don't assume hg convert in gcc_update

* gcc_update: Determine svn branch from hg convert_revision.

From-SVN: r178056

12 years agovarasm.c: (default_binds_local_p_1): Commentary typo fix.
Bernhard Reutner-Fischer [Thu, 25 Aug 2011 08:49:01 +0000 (10:49 +0200)] 
varasm.c: (default_binds_local_p_1): Commentary typo fix.

2011-08-25  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>

* varasm.c: (default_binds_local_p_1): Commentary typo fix.

From-SVN: r178055

12 years agoDaily bump.
GCC Administrator [Thu, 25 Aug 2011 00:18:57 +0000 (00:18 +0000)] 
Daily bump.

From-SVN: r178053

12 years agogccgo...
Roberto Lublinerman [Wed, 24 Aug 2011 19:22:44 +0000 (19:22 +0000)] 
gccgo...

gccgo:  fixes to ast-dump, refactoring of export and ast-dump
        to implement a common interface for writing basic
        type literals and added flags for optimization.

* lang.opt: Add fgo-optimize-.
* go-lang.c (go_langhook_handle_option): Handle OPT_fgo_optimize.
* go-c.h (go_enable_optimize): Declare.
* Make-lang.in (GO_OBJS): Add go/go-optimize.o.
(GO_EXPORT_H): Define.
(GO_IMPORT_H): Add $(GO_EXPORT_H).
(GO_AST_DUMP_H): Define.
(go/ast-dump.o, go/statements.o): Use GO_AST_DUMP_H.
(go/export.o, go/gogo.o, go/import.o): Use GO_EXPORT_H.
(go/types.o): Likewise.
(go/expressions.o): Use GO_AST_DUMP_H and GO_EXPORT_H.
(go/go-optimize.o): New target.

From-SVN: r178046

12 years agoMention PR target/50172.
H.J. Lu [Wed, 24 Aug 2011 13:25:22 +0000 (06:25 -0700)] 
Mention PR target/50172.

From-SVN: r178040

12 years agoConvert to Pmode if needed.
H.J. Lu [Wed, 24 Aug 2011 13:24:07 +0000 (13:24 +0000)] 
Convert to Pmode if needed.

2011-08-24  H.J. Lu  <hongjiu.lu@intel.com>

* config/i386/i386.c (ix86_expand_builtin): Convert to Pmode if
needed.

From-SVN: r178039

12 years agore PR fortran/50163 (ICE: initialization expression)
Tobias Burnus [Wed, 24 Aug 2011 13:11:08 +0000 (15:11 +0200)] 
re PR fortran/50163 (ICE: initialization expression)

2011-08-24  Tobias Burnus  <burnus@net-b.de>

        PR fortran/50163
        * expr.c (check_init_expr): Return when an error
        occured.

2011-08-24  Tobias Burnus  <burnus@net-b.de>

        PR fortran/50163
        * gfortran.dg/initialization_28.f90: New.

From-SVN: r178038

12 years agotree-data-ref.c (dr_analyze_indices): Avoid unsharing the ref in the basic-block...
Richard Guenther [Wed, 24 Aug 2011 12:55:18 +0000 (12:55 +0000)] 
tree-data-ref.c (dr_analyze_indices): Avoid unsharing the ref in the basic-block case.

2011-08-24  Richard Guenther  <rguenther@suse.de>

* tree-data-ref.c (dr_analyze_indices): Avoid unsharing the
ref in the basic-block case.  Move stripping array-refs
to the place we create an access-function for it.  Remove
bogus stripping down a MEM_REF to its base.

From-SVN: r178037

12 years agofold-const.c (fold_comparison): Fold &a < &a + 4 even with -fno-strict-overflow.
Richard Guenther [Wed, 24 Aug 2011 12:51:45 +0000 (12:51 +0000)] 
fold-const.c (fold_comparison): Fold &a < &a + 4 even with -fno-strict-overflow.

2011-08-24  Richard Guenther  <rguenther@suse.de>

* fold-const.c (fold_comparison): Fold &a < &a + 4 even
with -fno-strict-overflow.

From-SVN: r178036

12 years agotree-vectorizer.c (vect_print_dump_info): Avoid the file and location clutter when...
Richard Guenther [Wed, 24 Aug 2011 11:26:42 +0000 (11:26 +0000)] 
tree-vectorizer.c (vect_print_dump_info): Avoid the file and location clutter when dumping to dump files.

2011-08-24  Richard Guenther  <rguenther@suse.de>

* tree-vectorizer.c (vect_print_dump_info): Avoid the
file and location clutter when dumping to dump files.

From-SVN: r178034

12 years agore PR c/49396 (c-family/c-cppbuiltin.c: duplicate if expressions)
Richard Biener [Wed, 24 Aug 2011 11:16:57 +0000 (11:16 +0000)] 
re PR c/49396 (c-family/c-cppbuiltin.c: duplicate if expressions)

2011-08-24  Richard Guenther  <rguenther@suse.de>

PR c/49396

c-family/
* c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.

From-SVN: r178032

12 years agogengtype-state.c (write_state): Remove timestamped header line.
Simon Baldwin [Wed, 24 Aug 2011 11:14:56 +0000 (11:14 +0000)] 
gengtype-state.c (write_state): Remove timestamped header line.

2011-08-24  Simon Baldwin  <simonb@google.com>

* gengtype-state.c (write_state): Remove timestamped header line.

From-SVN: r178031

12 years ago* Makefile.in (CFLAGS-collect2.o, CFLAGS-c-family/c-opts.o)
Joseph Myers [Wed, 24 Aug 2011 10:47:06 +0000 (11:47 +0100)] 
* Makefile.in (CFLAGS-collect2.o, CFLAGS-c-family/c-opts.o)
(CFLAGS-c-family/c-pch.o, CFLAGS-prefix.o, CFLAGS-version.o)
(CFLAGS-lto-compress.o, CFLAGS-toplev.o, CFLAGS-intl.o)
(CFLAGS-cppbuiltin.o, CFLAGS-cppdefault.o): New.
(collect2.o, c-family/c-cppbuiltin.o, c-family/c-opts.o)
(c-family/c-pch.o, prefix.o, version.o, lto-compress.o, toplev.o)
(intl.o, cppbuiltin.o, cppdefault.o): Remove explicit compilation
rules.
(lto-wrapper$(exeext)): Use $(LINKER) not $(COMPILER).

ada:
* gcc-interface/Make-lang.in (CFLAGS-ada/tracebak.o)
(CFLAGS-ada/targext.o, CFLAGS-ada/cio.o, CFLAGS-ada/init.o)
(CFLAGS-ada/initialize.o, CFLAGS-ada/raise.o): New.
(ada/tracebak.o, ada/targext.o, ada/cio.o, ada/init.o)
(ada/initialize.o, ada/raise.o): Remove explicit compilation rules.

fortran:
* Make-lang.in (fortran/cpp.o): Remove explicit compilation rule.

go:
* Make-lang.in (CFLAGS-go/go-lang.o): New.
(go/go-lang.o): Remove explicit compilation rule.

java:
* Make-lang.in (CFLAGS-java/jcf-io.o, CFLAGS-java/jcf-path.o):
New.
(java/jcf-io.o, java/jcf-path.o): Remove explicit compilation
rules.

From-SVN: r178030

12 years ago* Makefile.in (ALL_CXXFLAGS): Include $(CFLAGS-$@).
Joseph Myers [Wed, 24 Aug 2011 10:42:11 +0000 (11:42 +0100)] 
* Makefile.in (ALL_CXXFLAGS): Include $(CFLAGS-$@).

From-SVN: r178029

12 years agore PR tree-optimization/50067 (Wrong code with -fpredictive-commoning)
Richard Guenther [Wed, 24 Aug 2011 10:07:20 +0000 (10:07 +0000)] 
re PR tree-optimization/50067 (Wrong code with -fpredictive-commoning)

2011-08-24  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/50067
* tree-data-ref.c (dr_analyze_indices): Do not add an access
function for a MEM_REF base that has no evolution in the loop
nest or that is not analyzable.

* gcc.dg/torture/pr50067-3.c: New testcase.
* gcc.dg/torture/pr50067-4.c: Likewise.
* gcc.dg/torture/pr50067-5.c: Likewise.

From-SVN: r178028

12 years agoDaily bump.
GCC Administrator [Wed, 24 Aug 2011 00:18:53 +0000 (00:18 +0000)] 
Daily bump.

From-SVN: r178023

12 years agoira.c (ira_init_register_move_cost): Check small subclasses through ira_reg_class_max...
Vladimir Makarov [Tue, 23 Aug 2011 23:06:04 +0000 (23:06 +0000)] 
ira.c (ira_init_register_move_cost): Check small subclasses through ira_reg_class_max_nregs and ira_available_class_regs.

2011-08-23  Vladimir Makarov  <vmakarov@redhat.com>

* ira.c (ira_init_register_move_cost): Check small subclasses
through ira_reg_class_max_nregs and ira_available_class_regs.

From-SVN: r178019

12 years agore PR libstdc++/50153 (hppa64-hp-hpux11.11/libstdc++-v3/include/cstdlib:106:11: error...
Steve Ellcey [Tue, 23 Aug 2011 21:32:34 +0000 (21:32 +0000)] 
re PR libstdc++/50153 (hppa64-hp-hpux11.11/libstdc++-v3/include/cstdlib:106:11: error: '::abs' has not been declared)

2011-08-23  Steve Ellcey  <sje@cup.hp.com>

PR libstdc++/50153
* inclhack.def (hpux11_abs): Extend to all hpux machines.
* fixincl.x: Regenerate.

From-SVN: r178018

12 years ago* config/i386/sse-22.c: Rearrange to fix sse-22a.c failure.
Uros Bizjak [Tue, 23 Aug 2011 21:14:10 +0000 (23:14 +0200)] 
* config/i386/sse-22.c: Rearrange to fix sse-22a.c failure.

From-SVN: r178017

12 years agoconstraints.md (Yp): New register constraint.
Uros Bizjak [Tue, 23 Aug 2011 20:00:27 +0000 (22:00 +0200)] 
constraints.md (Yp): New register constraint.

* config/i386/constraints.md (Yp): New register constraint.
* config/i386/i386.md (*addhi_1): Merge with *addhi_1_lea using
Yp register constraint.
(*addqi_1): Merge with *addqi_1_lea using Yp register constraint.
(*ashlhi3_1): Merge with *ashlhi3_1_lea using Yp register constraint.
(*ashlqi3_1): Merge with *ashlqi3_1_lea using Yp register constraint.

From-SVN: r178011

12 years agoAdd AVX2 testcases.
Kirill Yukhin [Tue, 23 Aug 2011 19:29:54 +0000 (19:29 +0000)] 
Add AVX2 testcases.

gcc/

2011-08-23  Kirill Yukhin  <kirill.yukhin@intel.com>

* config/i386/sse.md (<s>mul<mode>3_highpart): Update.

gcc/testsuite/

2011-08-23  Kirill Yukhin  <kirill.yukhin@intel.com>

* g++.dg/other/i386-2.C: Add -mavx2 check.
* g++.dg/other/i386-3.C: Likewise.
* gcc.target/i386/avx-1.c: Add AVX2.
* gcc.target/i386/avx-2.c: Likewise.
* gcc.target/i386/funcspec-5.c: Likewise.
* gcc.target/i386/sse-12.c: Likewise.
* gcc.target/i386/sse-13.c: Likewise.
* gcc.target/i386/sse-14.c: Likewise.
* gcc.target/i386/sse-22.c: Likewise.
* gcc.target/i386/sse-23.c: Likewise.
* gcc.target/i386/i386.exp (check_effective_target_avx2): Likewise.
* gcc.target/i386/avx2-check.h: New.
* gcc.target/i386/avx2-i32gatherd-1.c: Likewise.
* gcc.target/i386/avx2-i32gatherd-2.c: Likewise.
* gcc.target/i386/avx2-i32gatherd-3.c: Likewise.
* gcc.target/i386/avx2-i32gatherd-4.c: Likewise.
* gcc.target/i386/avx2-i32gatherd256-1.c: Likewise.
* gcc.target/i386/avx2-i32gatherd256-2.c: Likewise.
* gcc.target/i386/avx2-i32gatherd256-3.c: Likewise.
* gcc.target/i386/avx2-i32gatherd256-4.c: Likewise.
* gcc.target/i386/avx2-i32gatherpd-1.c: Likewise.
* gcc.target/i386/avx2-i32gatherpd-2.c: Likewise.
* gcc.target/i386/avx2-i32gatherpd-3.c: Likewise.
* gcc.target/i386/avx2-i32gatherpd-4.c: Likewise.
* gcc.target/i386/avx2-i32gatherpd256-1.c: Likewise.
* gcc.target/i386/avx2-i32gatherpd256-2.c: Likewise.
* gcc.target/i386/avx2-i32gatherpd256-3.c: Likewise.
* gcc.target/i386/avx2-i32gatherpd256-4.c: Likewise.
* gcc.target/i386/avx2-i32gatherps-1.c: Likewise.
* gcc.target/i386/avx2-i32gatherps-2.c: Likewise.
* gcc.target/i386/avx2-i32gatherps-3.c: Likewise.
* gcc.target/i386/avx2-i32gatherps-4.c: Likewise.
* gcc.target/i386/avx2-i32gatherps256-1.c: Likewise.
* gcc.target/i386/avx2-i32gatherps256-2.c: Likewise.
* gcc.target/i386/avx2-i32gatherps256-3.c: Likewise.
* gcc.target/i386/avx2-i32gatherps256-4.c: Likewise.
* gcc.target/i386/avx2-i32gatherq-1.c: Likewise.
* gcc.target/i386/avx2-i32gatherq-2.c: Likewise.
* gcc.target/i386/avx2-i32gatherq-3.c: Likewise.
* gcc.target/i386/avx2-i32gatherq-4.c: Likewise.
* gcc.target/i386/avx2-i32gatherq256-1.c: Likewise.
* gcc.target/i386/avx2-i32gatherq256-2.c: Likewise.
* gcc.target/i386/avx2-i32gatherq256-3.c: Likewise.
* gcc.target/i386/avx2-i32gatherq256-4.c: Likewise.
* gcc.target/i386/avx2-i64gatherd-1.c: Likewise.
* gcc.target/i386/avx2-i64gatherd-2.c: Likewise.
* gcc.target/i386/avx2-i64gatherd-3.c: Likewise.
* gcc.target/i386/avx2-i64gatherd-4.c: Likewise.
* gcc.target/i386/avx2-i64gatherd256-1.c: Likewise.
* gcc.target/i386/avx2-i64gatherd256-2.c: Likewise.
* gcc.target/i386/avx2-i64gatherd256-3.c: Likewise.
* gcc.target/i386/avx2-i64gatherd256-4.c: Likewise.
* gcc.target/i386/avx2-i64gatherpd-1.c: Likewise.
* gcc.target/i386/avx2-i64gatherpd-2.c: Likewise.
* gcc.target/i386/avx2-i64gatherpd-3.c: Likewise.
* gcc.target/i386/avx2-i64gatherpd-4.c: Likewise.
* gcc.target/i386/avx2-i64gatherpd256-1.c: Likewise.
* gcc.target/i386/avx2-i64gatherpd256-2.c: Likewise.
* gcc.target/i386/avx2-i64gatherpd256-3.c: Likewise.
* gcc.target/i386/avx2-i64gatherpd256-4.c: Likewise.
* gcc.target/i386/avx2-i64gatherps-1.c: Likewise.
* gcc.target/i386/avx2-i64gatherps-2.c: Likewise.
* gcc.target/i386/avx2-i64gatherps-3.c: Likewise.
* gcc.target/i386/avx2-i64gatherps-4.c: Likewise.
* gcc.target/i386/avx2-i64gatherps256-1.c: Likewise.
* gcc.target/i386/avx2-i64gatherps256-2.c: Likewise.
* gcc.target/i386/avx2-i64gatherps256-3.c: Likewise.
* gcc.target/i386/avx2-i64gatherps256-4.c: Likewise.
* gcc.target/i386/avx2-i64gatherq-1.c: Likewise.
* gcc.target/i386/avx2-i64gatherq-2.c: Likewise.
* gcc.target/i386/avx2-i64gatherq-3.c: Likewise.
* gcc.target/i386/avx2-i64gatherq-4.c: Likewise.
* gcc.target/i386/avx2-i64gatherq256-1.c: Likewise.
* gcc.target/i386/avx2-i64gatherq256-2.c: Likewise.
* gcc.target/i386/avx2-i64gatherq256-3.c: Likewise.
* gcc.target/i386/avx2-i64gatherq256-4.c: Likewise.
* gcc.target/i386/avx2-mpsadbw-1.c: Likewise.
* gcc.target/i386/avx2-mpsadbw-2.c: Likewise.
* gcc.target/i386/avx2-vbroadcastsd_pd-1.c: Likewise.
* gcc.target/i386/avx2-vbroadcastsd_pd-2.c: Likewise.
* gcc.target/i386/avx2-vbroadcastsi128-1.c: Likewise.
* gcc.target/i386/avx2-vbroadcastsi128-2.c: Likewise.
* gcc.target/i386/avx2-vbroadcastss_ps-1.c: Likewise.
* gcc.target/i386/avx2-vbroadcastss_ps-2.c: Likewise.
* gcc.target/i386/avx2-vbroadcastss_ps256-1.c: Likewise.
* gcc.target/i386/avx2-vbroadcastss_ps256-2.c: Likewise.
* gcc.target/i386/avx2-vextracti128-1.c: Likewise.
* gcc.target/i386/avx2-vextracti128-2.c: Likewise.
* gcc.target/i386/avx2-vinserti128-1.c: Likewise.
* gcc.target/i386/avx2-vinserti128-2.c: Likewise.
* gcc.target/i386/avx2-vmovmskb-2.c: Likewise.
* gcc.target/i386/avx2-vmovntdqa-1.c: Likewise.
* gcc.target/i386/avx2-vmovntdqa-2.c: Likewise.
* gcc.target/i386/avx2-vpabsb256-1.c: Likewise.
* gcc.target/i386/avx2-vpabsb256-2.c: Likewise.
* gcc.target/i386/avx2-vpabsd256-1.c: Likewise.
* gcc.target/i386/avx2-vpabsd256-2.c: Likewise.
* gcc.target/i386/avx2-vpabsw256-1.c: Likewise.
* gcc.target/i386/avx2-vpabsw256-2.c: Likewise.
* gcc.target/i386/avx2-vpackssdw-1.c: Likewise.
* gcc.target/i386/avx2-vpackssdw-2.c: Likewise.
* gcc.target/i386/avx2-vpacksswb-1.c: Likewise.
* gcc.target/i386/avx2-vpacksswb-2.c: Likewise.
* gcc.target/i386/avx2-vpackusdw-1.c: Likewise.
* gcc.target/i386/avx2-vpackusdw-2.c: Likewise.
* gcc.target/i386/avx2-vpackuswb-1.c: Likewise.
* gcc.target/i386/avx2-vpackuswb-2.c: Likewise.
* gcc.target/i386/avx2-vpaddb-1.c: Likewise.
* gcc.target/i386/avx2-vpaddb-2.c: Likewise.
* gcc.target/i386/avx2-vpaddd-1.c: Likewise.
* gcc.target/i386/avx2-vpaddd-2.c: Likewise.
* gcc.target/i386/avx2-vpaddq-1.c: Likewise.
* gcc.target/i386/avx2-vpaddq-2.c: Likewise.
* gcc.target/i386/avx2-vpaddsb-1.c: Likewise.
* gcc.target/i386/avx2-vpaddsb-2.c: Likewise.
* gcc.target/i386/avx2-vpaddsw-1.c: Likewise.
* gcc.target/i386/avx2-vpaddsw-2.c: Likewise.
* gcc.target/i386/avx2-vpaddusb-1.c: Likewise.
* gcc.target/i386/avx2-vpaddusb-2.c: Likewise.
* gcc.target/i386/avx2-vpaddusw-1.c: Likewise.
* gcc.target/i386/avx2-vpaddusw-2.c: Likewise.
* gcc.target/i386/avx2-vpaddw-1.c: Likewise.
* gcc.target/i386/avx2-vpaddw-2.c: Likewise.
* gcc.target/i386/avx2-vpalignr256-1.c: Likewise.
* gcc.target/i386/avx2-vpalignr256-2.c: Likewise.
* gcc.target/i386/avx2-vpand-1.c: Likewise.
* gcc.target/i386/avx2-vpand-2.c: Likewise.
* gcc.target/i386/avx2-vpandn-1.c: Likewise.
* gcc.target/i386/avx2-vpandn-2.c: Likewise.
* gcc.target/i386/avx2-vpavgb-1.c: Likewise.
* gcc.target/i386/avx2-vpavgb-2.c: Likewise.
* gcc.target/i386/avx2-vpavgw-1.c: Likewise.
* gcc.target/i386/avx2-vpavgw-2.c: Likewise.
* gcc.target/i386/avx2-vpblendd128-1.c: Likewise.
* gcc.target/i386/avx2-vpblendd128-2.c: Likewise.
* gcc.target/i386/avx2-vpblendd256-1.c: Likewise.
* gcc.target/i386/avx2-vpblendd256-2.c: Likewise.
* gcc.target/i386/avx2-vpblendvb-1.c: Likewise.
* gcc.target/i386/avx2-vpblendvb-2.c: Likewise.
* gcc.target/i386/avx2-vpblendw-1.c: Likewise.
* gcc.target/i386/avx2-vpblendw-2.c: Likewise.
* gcc.target/i386/avx2-vpbroadcastb128-1.c: Likewise.
* gcc.target/i386/avx2-vpbroadcastb128-2.c: Likewise.
* gcc.target/i386/avx2-vpbroadcastb256-1.c: Likewise.
* gcc.target/i386/avx2-vpbroadcastb256-2.c: Likewise.
* gcc.target/i386/avx2-vpbroadcastd128-1.c: Likewise.
* gcc.target/i386/avx2-vpbroadcastd128-2.c: Likewise.
* gcc.target/i386/avx2-vpbroadcastd256-1.c: Likewise.
* gcc.target/i386/avx2-vpbroadcastd256-2.c: Likewise.
* gcc.target/i386/avx2-vpbroadcastq128-1.c: Likewise.
* gcc.target/i386/avx2-vpbroadcastq128-2.c: Likewise.
* gcc.target/i386/avx2-vpbroadcastq256-1.c: Likewise.
* gcc.target/i386/avx2-vpbroadcastq256-2.c: Likewise.
* gcc.target/i386/avx2-vpbroadcastw128-1.c: Likewise.
* gcc.target/i386/avx2-vpbroadcastw128-2.c: Likewise.
* gcc.target/i386/avx2-vpbroadcastw256-1.c: Likewise.
* gcc.target/i386/avx2-vpbroadcastw256-2.c: Likewise.
* gcc.target/i386/avx2-vpcmpeqb-1.c: Likewise.
* gcc.target/i386/avx2-vpcmpeqb-2.c: Likewise.
* gcc.target/i386/avx2-vpcmpeqd-1.c: Likewise.
* gcc.target/i386/avx2-vpcmpeqd-2.c: Likewise.
* gcc.target/i386/avx2-vpcmpeqq-1.c: Likewise.
* gcc.target/i386/avx2-vpcmpeqq-2.c: Likewise.
* gcc.target/i386/avx2-vpcmpeqw-1.c: Likewise.
* gcc.target/i386/avx2-vpcmpeqw-2.c: Likewise.
* gcc.target/i386/avx2-vpcmpgtb-1.c: Likewise.
* gcc.target/i386/avx2-vpcmpgtb-2.c: Likewise.
* gcc.target/i386/avx2-vpcmpgtd-1.c: Likewise.
* gcc.target/i386/avx2-vpcmpgtd-2.c: Likewise.
* gcc.target/i386/avx2-vpcmpgtq-1.c: Likewise.
* gcc.target/i386/avx2-vpcmpgtq-2.c: Likewise.
* gcc.target/i386/avx2-vpcmpgtw-1.c: Likewise.
* gcc.target/i386/avx2-vpcmpgtw-2.c: Likewise.
* gcc.target/i386/avx2-vperm2i128-1.c: Likewise.
* gcc.target/i386/avx2-vperm2i128-2.c: Likewise.
* gcc.target/i386/avx2-vpermd-1.c: Likewise.
* gcc.target/i386/avx2-vpermd-2.c: Likewise.
* gcc.target/i386/avx2-vpermpd-1.c: Likewise.
* gcc.target/i386/avx2-vpermpd-2.c: Likewise.
* gcc.target/i386/avx2-vpermps-1.c: Likewise.
* gcc.target/i386/avx2-vpermps-2.c: Likewise.
* gcc.target/i386/avx2-vpermq-1.c: Likewise.
* gcc.target/i386/avx2-vpermq-2.c: Likewise.
* gcc.target/i386/avx2-vphaddd-1.c: Likewise.
* gcc.target/i386/avx2-vphaddd-2.c: Likewise.
* gcc.target/i386/avx2-vphaddsw-1.c: Likewise.
* gcc.target/i386/avx2-vphaddsw-2.c: Likewise.
* gcc.target/i386/avx2-vphaddw-1.c: Likewise.
* gcc.target/i386/avx2-vphaddw-2.c: Likewise.
* gcc.target/i386/avx2-vphsubd-1.c: Likewise.
* gcc.target/i386/avx2-vphsubd-2.c: Likewise.
* gcc.target/i386/avx2-vphsubsw-1.c: Likewise.
* gcc.target/i386/avx2-vphsubsw-2.c: Likewise.
* gcc.target/i386/avx2-vphsubw-1.c: Likewise.
* gcc.target/i386/avx2-vpmaddubsw-1.c: Likewise.
* gcc.target/i386/avx2-vpmaddubsw-2.c: Likewise.
* gcc.target/i386/avx2-vpmaddwd-1.c: Likewise.
* gcc.target/i386/avx2-vpmaddwd-2.c: Likewise.
* gcc.target/i386/avx2-vpmaskloadd-1.c: Likewise.
* gcc.target/i386/avx2-vpmaskloadd-2.c: Likewise.
* gcc.target/i386/avx2-vpmaskloadd256-1.c: Likewise.
* gcc.target/i386/avx2-vpmaskloadd256-2.c: Likewise.
* gcc.target/i386/avx2-vpmaskloadq-1.c: Likewise.
* gcc.target/i386/avx2-vpmaskloadq-2.c: Likewise.
* gcc.target/i386/avx2-vpmaskloadq256-1.c: Likewise.
* gcc.target/i386/avx2-vpmaskloadq256-2.c: Likewise.
* gcc.target/i386/avx2-vpmaskstored-1.c: Likewise.
* gcc.target/i386/avx2-vpmaskstored-2.c: Likewise.
* gcc.target/i386/avx2-vpmaskstored256-1.c: Likewise.
* gcc.target/i386/avx2-vpmaskstored256-2.c: Likewise.
* gcc.target/i386/avx2-vpmaskstoreq-1.c: Likewise.
* gcc.target/i386/avx2-vpmaskstoreq-2.c: Likewise.
* gcc.target/i386/avx2-vpmaskstoreq256-1.c: Likewise.
* gcc.target/i386/avx2-vpmaskstoreq256-2.c: Likewise.
* gcc.target/i386/avx2-vpmaxsb-1.c: Likewise.
* gcc.target/i386/avx2-vpmaxsb-2.c: Likewise.
* gcc.target/i386/avx2-vpmaxsd-1.c: Likewise.
* gcc.target/i386/avx2-vpmaxsd-2.c: Likewise.
* gcc.target/i386/avx2-vpmaxsw-1.c: Likewise.
* gcc.target/i386/avx2-vpmaxsw-2.c: Likewise.
* gcc.target/i386/avx2-vpmaxub-1.c: Likewise.
* gcc.target/i386/avx2-vpmaxub-2.c: Likewise.
* gcc.target/i386/avx2-vpmaxud-1.c: Likewise.
* gcc.target/i386/avx2-vpmaxud-2.c: Likewise.
* gcc.target/i386/avx2-vpmaxuw-1.c: Likewise.
* gcc.target/i386/avx2-vpmaxuw-2.c: Likewise.
* gcc.target/i386/avx2-vpminsb-1.c: Likewise.
* gcc.target/i386/avx2-vpminsb-2.c: Likewise.
* gcc.target/i386/avx2-vpminsd-1.c: Likewise.
* gcc.target/i386/avx2-vpminsd-2.c: Likewise.
* gcc.target/i386/avx2-vpminsw-1.c: Likewise.
* gcc.target/i386/avx2-vpminsw-2.c: Likewise.
* gcc.target/i386/avx2-vpminub-1.c: Likewise.
* gcc.target/i386/avx2-vpminub-2.c: Likewise.
* gcc.target/i386/avx2-vpminud-1.c: Likewise.
* gcc.target/i386/avx2-vpminud-2.c: Likewise.
* gcc.target/i386/avx2-vpminuw-1.c: Likewise.
* gcc.target/i386/avx2-vpminuw-2.c: Likewise.
* gcc.target/i386/avx2-vpmovmskb-1.c: Likewise.
* gcc.target/i386/avx2-vpmovsxbd-1.c: Likewise.
* gcc.target/i386/avx2-vpmovsxbd-2.c: Likewise.
* gcc.target/i386/avx2-vpmovsxbq-1.c: Likewise.
* gcc.target/i386/avx2-vpmovsxbq-2.c: Likewise.
* gcc.target/i386/avx2-vpmovsxbw-1.c: Likewise.
* gcc.target/i386/avx2-vpmovsxbw-2.c: Likewise.
* gcc.target/i386/avx2-vpmovsxdq-1.c: Likewise.
* gcc.target/i386/avx2-vpmovsxdq-2.c: Likewise.
* gcc.target/i386/avx2-vpmovsxwd-1.c: Likewise.
* gcc.target/i386/avx2-vpmovsxwd-2.c: Likewise.
* gcc.target/i386/avx2-vpmovsxwq-1.c: Likewise.
* gcc.target/i386/avx2-vpmovsxwq-2.c: Likewise.
* gcc.target/i386/avx2-vpmovzxbd-1.c: Likewise.
* gcc.target/i386/avx2-vpmovzxbd-2.c: Likewise.
* gcc.target/i386/avx2-vpmovzxbq-1.c: Likewise.
* gcc.target/i386/avx2-vpmovzxbq-2.c: Likewise.
* gcc.target/i386/avx2-vpmovzxbw-1.c: Likewise.
* gcc.target/i386/avx2-vpmovzxbw-2.c: Likewise.
* gcc.target/i386/avx2-vpmovzxdq-1.c: Likewise.
* gcc.target/i386/avx2-vpmovzxdq-2.c: Likewise.
* gcc.target/i386/avx2-vpmovzxwd-1.c: Likewise.
* gcc.target/i386/avx2-vpmovzxwd-2.c: Likewise.
* gcc.target/i386/avx2-vpmovzxwq-1.c: Likewise.
* gcc.target/i386/avx2-vpmovzxwq-2.c: Likewise.
* gcc.target/i386/avx2-vpmuldq-1.c: Likewise.
* gcc.target/i386/avx2-vpmuldq-2.c: Likewise.
* gcc.target/i386/avx2-vpmulhrsw-1.c: Likewise.
* gcc.target/i386/avx2-vpmulhrsw-2.c: Likewise.
* gcc.target/i386/avx2-vpmulhuw-1.c: Likewise.
* gcc.target/i386/avx2-vpmulhuw-2.c: Likewise.
* gcc.target/i386/avx2-vpmulhw-1.c: Likewise.
* gcc.target/i386/avx2-vpmulhw-2.c: Likewise.
* gcc.target/i386/avx2-vpmulld-1.c: Likewise.
* gcc.target/i386/avx2-vpmulld-2.c: Likewise.
* gcc.target/i386/avx2-vpmullw-1.c: Likewise.
* gcc.target/i386/avx2-vpmullw-2.c: Likewise.
* gcc.target/i386/avx2-vpmuludq-1.c: Likewise.
* gcc.target/i386/avx2-vpmuludq-2.c: Likewise.
* gcc.target/i386/avx2-vpor-1.c: Likewise.
* gcc.target/i386/avx2-vpor-2.c: Likewise.
* gcc.target/i386/avx2-vpsadbw-1.c: Likewise.
* gcc.target/i386/avx2-vpsadbw-2.c: Likewise.
* gcc.target/i386/avx2-vpshufb-1.c: Likewise.
* gcc.target/i386/avx2-vpshufb-2.c: Likewise.
* gcc.target/i386/avx2-vpshufd-1.c: Likewise.
* gcc.target/i386/avx2-vpshufd-2.c: Likewise.
* gcc.target/i386/avx2-vpshufhw-1.c: Likewise.
* gcc.target/i386/avx2-vpshufhw-2.c: Likewise.
* gcc.target/i386/avx2-vpshuflw-1.c: Likewise.
* gcc.target/i386/avx2-vpshuflw-2.c: Likewise.
* gcc.target/i386/avx2-vpsignb-1.c: Likewise.
* gcc.target/i386/avx2-vpsignb-2.c: Likewise.
* gcc.target/i386/avx2-vpsignd-1.c: Likewise.
* gcc.target/i386/avx2-vpsignd-2.c: Likewise.
* gcc.target/i386/avx2-vpsignw-1.c: Likewise.
* gcc.target/i386/avx2-vpsignw-2.c: Likewise.
* gcc.target/i386/avx2-vpslld-1.c: Likewise.
* gcc.target/i386/avx2-vpslld-2.c: Likewise.
* gcc.target/i386/avx2-vpslldi-1.c: Likewise.
* gcc.target/i386/avx2-vpslldi-2.c: Likewise.
* gcc.target/i386/avx2-vpslldq-1.c: Likewise.
* gcc.target/i386/avx2-vpslldq-2.c: Likewise.
* gcc.target/i386/avx2-vpsllq-1.c: Likewise.
* gcc.target/i386/avx2-vpsllq-2.c: Likewise.
* gcc.target/i386/avx2-vpsllqi-1.c: Likewise.
* gcc.target/i386/avx2-vpsllqi-2.c: Likewise.
* gcc.target/i386/avx2-vpsllvd128-1.c: Likewise.
* gcc.target/i386/avx2-vpsllvd128-2.c: Likewise.
* gcc.target/i386/avx2-vpsllvd256-1.c: Likewise.
* gcc.target/i386/avx2-vpsllvd256-2.c: Likewise.
* gcc.target/i386/avx2-vpsllvq128-1.c: Likewise.
* gcc.target/i386/avx2-vpsllvq128-2.c: Likewise.
* gcc.target/i386/avx2-vpsllvq256-1.c: Likewise.
* gcc.target/i386/avx2-vpsllvq256-2.c: Likewise.
* gcc.target/i386/avx2-vpsllw-1.c: Likewise.
* gcc.target/i386/avx2-vpsllw-2.c: Likewise.
* gcc.target/i386/avx2-vpsllwi-1.c: Likewise.
* gcc.target/i386/avx2-vpsllwi-2.c: Likewise.
* gcc.target/i386/avx2-vpsrad-1.c: Likewise.
* gcc.target/i386/avx2-vpsrad-2.c: Likewise.
* gcc.target/i386/avx2-vpsradi-1.c: Likewise.
* gcc.target/i386/avx2-vpsradi-2.c: Likewise.
* gcc.target/i386/avx2-vpsravd128-1.c: Likewise.
* gcc.target/i386/avx2-vpsravd128-2.c: Likewise.
* gcc.target/i386/avx2-vpsravd256-1.c: Likewise.
* gcc.target/i386/avx2-vpsravd256-2.c: Likewise.
* gcc.target/i386/avx2-vpsraw-1.c: Likewise.
* gcc.target/i386/avx2-vpsraw-2.c: Likewise.
* gcc.target/i386/avx2-vpsrawi-1.c: Likewise.
* gcc.target/i386/avx2-vpsrawi-2.c: Likewise.
* gcc.target/i386/avx2-vpsrld-1.c: Likewise.
* gcc.target/i386/avx2-vpsrld-2.c: Likewise.
* gcc.target/i386/avx2-vpsrldi-1.c: Likewise.
* gcc.target/i386/avx2-vpsrldi-2.c: Likewise.
* gcc.target/i386/avx2-vpsrldq-1.c: Likewise.
* gcc.target/i386/avx2-vpsrldq-2.c: Likewise.
* gcc.target/i386/avx2-vpsrlq-1.c: Likewise.
* gcc.target/i386/avx2-vpsrlq-2.c: Likewise.
* gcc.target/i386/avx2-vpsrlqi-1.c: Likewise.
* gcc.target/i386/avx2-vpsrlqi-2.c: Likewise.
* gcc.target/i386/avx2-vpsrlvd128-1.c: Likewise.
* gcc.target/i386/avx2-vpsrlvd128-2.c: Likewise.
* gcc.target/i386/avx2-vpsrlvd256-1.c: Likewise.
* gcc.target/i386/avx2-vpsrlvd256-2.c: Likewise.
* gcc.target/i386/avx2-vpsrlvq128-1.c: Likewise.
* gcc.target/i386/avx2-vpsrlvq128-2.c: Likewise.
* gcc.target/i386/avx2-vpsrlvq256-1.c: Likewise.
* gcc.target/i386/avx2-vpsrlvq256-2.c: Likewise.
* gcc.target/i386/avx2-vpsrlw-1.c: Likewise.
* gcc.target/i386/avx2-vpsrlw-2.c: Likewise.
* gcc.target/i386/avx2-vpsrlwi-1.c: Likewise.
* gcc.target/i386/avx2-vpsrlwi-2.c: Likewise.
* gcc.target/i386/avx2-vpsubb-1.c: Likewise.
* gcc.target/i386/avx2-vpsubb-2.c: Likewise.
* gcc.target/i386/avx2-vpsubd-1.c: Likewise.
* gcc.target/i386/avx2-vpsubd-2.c: Likewise.
* gcc.target/i386/avx2-vpsubq-1.c: Likewise.
* gcc.target/i386/avx2-vpsubq-2.c: Likewise.
* gcc.target/i386/avx2-vpsubsb-1.c: Likewise.
* gcc.target/i386/avx2-vpsubsb-2.c: Likewise.
* gcc.target/i386/avx2-vpsubsw-1.c: Likewise.
* gcc.target/i386/avx2-vpsubsw-2.c: Likewise.
* gcc.target/i386/avx2-vpsubusb-1.c: Likewise.
* gcc.target/i386/avx2-vpsubusb-2.c: Likewise.
* gcc.target/i386/avx2-vpsubusw-1.c: Likewise.
* gcc.target/i386/avx2-vpsubusw-2.c: Likewise.
* gcc.target/i386/avx2-vpunpckhbw-1.c: Likewise.
* gcc.target/i386/avx2-vpunpckhbw-2.c: Likewise.
* gcc.target/i386/avx2-vpunpckhdq-1.c: Likewise.
* gcc.target/i386/avx2-vpunpckhdq-2.c: Likewise.
* gcc.target/i386/avx2-vpunpckhqdq-1.c: Likewise.
* gcc.target/i386/avx2-vpunpckhqdq-2.c: Likewise.
* gcc.target/i386/avx2-vpunpckhwd-1.c: Likewise.
* gcc.target/i386/avx2-vpunpckhwd-2.c: Likewise.
* gcc.target/i386/avx2-vpunpcklbw-1.c: Likewise.
* gcc.target/i386/avx2-vpunpcklbw-2.c: Likewise.
* gcc.target/i386/avx2-vpunpckldq-1.c: Likewise.
* gcc.target/i386/avx2-vpunpckldq-2.c: Likewise.
* gcc.target/i386/avx2-vpunpcklqdq-1.c: Likewise.
* gcc.target/i386/avx2-vpunpcklqdq-2.c: Likewise.
* gcc.target/i386/avx2-vpunpcklwd-1.c: Likewise.
* gcc.target/i386/avx2-vpunpcklwd-2.c: Likewise.
* gcc.target/i386/avx2-vpxor-1.c: Likewise.
* gcc.target/i386/avx2-vpxor-2.c: Likewise.
* gcc.target/i386/testimm-9.c: Likewise.

From-SVN: r178006

12 years agore PR middle-end/38509 (Bogus "attempt to free a non-heap object" warning)
Mark Heffernan [Tue, 23 Aug 2011 18:06:42 +0000 (18:06 +0000)] 
re PR middle-end/38509 (Bogus "attempt to free a non-heap object" warning)

2011-08-23  Mark Heffernan  <meheff@google.com>

        PR middle-end/38509
        * common.opt (Wfree-nonheap-object): New option.
        * doc/invoke.texi (Warning options): Document -Wfree-nonheap-object.
        * builtins.c (maybe_emit_free_warning): Add OPT_Wfree_nonheap_object
        to warning.
        (expand_builtin): Make warning conditional.

From-SVN: r178004

12 years agoAdd BMI2 support.
H.J. Lu [Tue, 23 Aug 2011 17:02:15 +0000 (10:02 -0700)] 
Add BMI2 support.

gcc/

2011-08-23  Uros Bizjak  <ubizjak@gmail.com>

* config/i386/i386.md (type): Add imulx, ishiftx and rotatex.
(length_immediate): Handle imulx, ishiftx and rotatex.
(imm_disp): Ditto.
(isa): Add bmi2.
(enabled): Handle bmi2.
(w): New mode attribute.
(*mul<mode><dwi>3): Split from *<u>mul<mode><dwi>3.
(*umul<mode><dwi>3): Ditto.  Add imulx BMI2 alternative.
(*bmi2_umulditi3_1): New insn pattern.
(*bmi2_umulsidi3_1): Ditto.
(*umul<mode><dwi>3 splitter): New splitter to avoid flags
dependency.
(*bmi2_ashl<mode>3_1): New insn pattern.
(*ashl<mode>3_1): Add ishiftx BMI2 alternative.
(*ashl<mode>3_1 splitter): New splitter to avoid flags
dependency.
(*bmi2_ashlsi3_1_zext): New insn pattern.
(*ashlsi3_1_zext): Add ishiftx BMI2 alternative.
(*ashlsi3_1_zext splitter): New splitter to avoid flags
dependency.
(*bmi2_<shiftrt_insn><mode>3_1): New insn pattern.
(*<shiftrt_insn><mode>3_1): Add ishiftx BMI2 alternative.
(*<shiftrt_insn><mode>3_1 splitter): New splitter to avoid
flags dependency.
(*bmi2_<shiftrt_insn>si3_1_zext): New insn pattern.
(*<shiftrt_insn>si3_1_zext): Add ishiftx BMI2 alternative.
(*<shiftrt_insn>si3_1_zext splitter): New splitter to avoid
flags dependency.
(*bmi2_rorx<mode>3_1): New insn pattern.
(*<rotate_insn><mode>3_1): Add rotatex BMI2 alternative.
(*rotate<mode>3_1 splitter): New splitter to avoid flags
dependency.
(*rotatert<mode>3_1 splitter): Ditto.
(*bmi2_rorxsi3_1_zext): New insn pattern.
(*<rotate_insn>si3_1_zext): Add rotatex BMI2 alternative.
(*rotatesi3_1_zext splitter): New splitter to avoid flags
dependency.
(*rotatertsi3_1_zext splitter): Ditto.

2011-08-23  Kirill Yukhin  <kirill.yukhin@intel.com>

* common/config/i386/i386-common.c (OPTION_MASK_ISA_BMI2_SET):
New.
(OPTION_MASK_ISA_BMI2_UNSET): Likewise.
(ix86_handle_option): Handle OPT_mbmi2 case.
* config.gcc (i[34567]86-*-*): Add bmi2intrin.h.
(x86_64-*-*): Likewise.
* config/i386/bmi2intrin.h: New file.
* config/i386/cpuid.h (bit_BMI2): New.
* config/i386/driver-i386.c (host_detect_local_cpu): Detect
BMI2 feature.
* config/i386/i386-c.c (ix86_target_macros_internal):
Conditionally define __BMI2__.
* config/i386/i386.c (ix86_option_override_internal): Define PTA_BMI2.
Handle BMI2 option.
(ix86_valid_target_attribute_inner_p): Handle BMI2 option.
(print_reg): New code.
(ix86_print_operand): Likewise.
(ix86_builtins): Add IX86_BUILTIN_BZHI32, IX86_BUILTIN_BZHI64,
IX86_BUILTIN_PDEP32, IX86_BUILTIN_PDEP64, IX86_BUILTIN_PEXT32,
IX86_BUILTIN_PEXT64.
(bdesc_args): Add IX86_BUILTIN_BZHI32, IX86_BUILTIN_BZHI64,
IX86_BUILTIN_PDEP32, IX86_BUILTIN_PDEP64, IX86_BUILTIN_PEXT32,
IX86_BUILTIN_PEXT64.
* config/i386/i386.h (TARGET_BMI2): New.
* config/i386/i386.md (UNSPEC_PDEP): New.
(UNSPEC_PEXT): Likewise.
(*bmi2_bzhi_<mode>3): Likewise.
(*bmi2_pdep_<mode>3): Likewise.
(*bmi2_pext_<mode>3): Likewise.
* config/i386/i386.opt (mbmi2): New.
* config/i386/x86intrin.h: Include bmi2intrin.h when __BMI2__
is defined.
* doc/extend.texi: Document BMI2 built-in functions.
* doc/invoke.texi: Document -mbmi2.

gcc/testsuite/

2011-08-23  Kirill Yukhin  <kirill.yukhin@intel.com>

* g++.dg/other/i386-2.C: Add -mbmi2 check.
* g++.dg/other/i386-3.C: Likewise.
* gcc.target/i386/bmi2-bzhi32-1.c: New testcase.
* gcc.target/i386/bmi2-bzhi32-1a.c: Likewise.
* gcc.target/i386/bmi2-bzhi64-1.c: Likewise.
* gcc.target/i386/bmi2-bzhi64-1a.c: Likewise.
* gcc.target/i386/bmi2-mulx32-1.c: Likewise.
* gcc.target/i386/bmi2-mulx32-1a.c: Likewise.
* gcc.target/i386/bmi2-mulx64-1.c: Likewise.
* gcc.target/i386/bmi2-mulx64-1a.c: Likewise.
* gcc.target/i386/bmi2-pdep32-1.c: Likewise.
* gcc.target/i386/bmi2-pdep32-1a.c: Likewise.
* gcc.target/i386/bmi2-pdep64-1.c: Likewise.
* gcc.target/i386/bmi2-pdep64-1a.c: Likewise.
* gcc.target/i386/bmi2-pext32-1.c: Likewise.
* gcc.target/i386/bmi2-pext32-1a.c: Likewise.
* gcc.target/i386/bmi2-pext64-1.c: Likewise.
* gcc.target/i386/bmi2-pext64-1a.c: Likewise.
* gcc.target/i386/bmi2-rorx32-1.c: Likewise.
* gcc.target/i386/bmi2-rorx32-1a.c: Likewise.
* gcc.target/i386/bmi2-rorx64-1.c: Likewise.
* gcc.target/i386/bmi2-rorx64-1a.c: Likewise.
* gcc.target/i386/bmi2-sarx32-1.c: Likewise.
* gcc.target/i386/bmi2-sarx32-1a.c: Likewise.
* gcc.target/i386/bmi2-sarx64-1.c: Likewise.
* gcc.target/i386/bmi2-sarx64-1a.c: Likewise.
* gcc.target/i386/bmi2-shlx32-1.c: Likewise.
* gcc.target/i386/bmi2-shlx32-1a.c: Likewise.
* gcc.target/i386/bmi2-shlx64-1.c: Likewise.
* gcc.target/i386/bmi2-shlx64-1a.c: Likewise.
* gcc.target/i386/bmi2-shrx32-1.c: Likewise.
* gcc.target/i386/bmi2-shrx32-1a.c: Likewise.
* gcc.target/i386/bmi2-shrx64-1.c: Likewise.
* gcc.target/i386/bmi2-shrx64-1a.c: Likewise.
* gcc.target/i386/i386.exp (check_effective_target_bmi2): New.
* gcc.target/i386/sse-12.c: Add BMI2.
* gcc.target/i386/sse-13.c: Likewise.
* gcc.target/i386/sse-14.c: Likewise.
* gcc.target/i386/sse-22.c: Likewise.
* gcc.target/i386/sse-23.c: Likewise.

From-SVN: r178001

12 years agotypeck2.c (build_functional_cast): Don't try to avoid calling build_value_init.
Jason Merrill [Tue, 23 Aug 2011 16:03:57 +0000 (12:03 -0400)] 
typeck2.c (build_functional_cast): Don't try to avoid calling build_value_init.

* typeck2.c (build_functional_cast): Don't try to avoid calling
build_value_init.
* pt.c (instantiate_class_template_1): Don't copy TYPE_HAS_* flags.

From-SVN: r177999

12 years agore PR c++/49045 ([C++0x] unexpected "different exception specifier" error with noexcept)
Jason Merrill [Tue, 23 Aug 2011 16:03:44 +0000 (12:03 -0400)] 
re PR c++/49045 ([C++0x] unexpected "different exception specifier" error with noexcept)

PR c++/49045
Core 1321
* tree.c (dependent_name): New.
(cp_tree_equal): Two calls with the same dependent name are
equivalent even if the overload sets are different.

From-SVN: r177998

12 years agotree.c (build_target_expr): Set TREE_CONSTANT on literal TARGET_EXPR if the value...
Jason Merrill [Tue, 23 Aug 2011 16:03:35 +0000 (12:03 -0400)] 
tree.c (build_target_expr): Set TREE_CONSTANT on literal TARGET_EXPR if the value is constant.

* tree.c (build_target_expr): Set TREE_CONSTANT on
literal TARGET_EXPR if the value is constant.
* typeck2.c (build_functional_cast): Don't set it here.

From-SVN: r177997

12 years agoCore 903 (partial)
Jason Merrill [Tue, 23 Aug 2011 16:03:25 +0000 (12:03 -0400)] 
Core 903 (partial)

Core 903 (partial)
* call.c (null_ptr_cst_p): Only 0 qualifies in C++11.

From-SVN: r177996

12 years agoCore 975
Jason Merrill [Tue, 23 Aug 2011 16:03:15 +0000 (12:03 -0400)] 
Core 975

Core 975
* decl.c (cxx_init_decl_processing): Initialize
dependent_lambda_return_type_node.
* cp-tree.h (cp_tree_index): Add CPTI_DEPENDENT_LAMBDA_RETURN_TYPE.
(dependent_lambda_return_type_node): Define.
(DECLTYPE_FOR_LAMBDA_RETURN): Remove.
* semantics.c (lambda_return_type): Handle overloaded function.
Use dependent_lambda_return_type_node instead of
DECLTYPE_FOR_LAMBDA_RETURN.
(apply_lambda_return_type): Don't check dependent_type_p.
* pt.c (tsubst_copy_and_build): Handle lambda return type deduction.
(instantiate_class_template_1): Likewise.
(tsubst): Don't use DECLTYPE_FOR_LAMBDA_RETURN.
* mangle.c (write_type): Likewise.
* typeck.c (structural_comptypes): Likewise.
(check_return_expr): Handle dependent_lambda_return_type_node.

From-SVN: r177995

12 years agore PR c++/50024 ([C++0x] [4.7 Regression] crash when using braced initialization...
Jason Merrill [Tue, 23 Aug 2011 16:03:01 +0000 (12:03 -0400)] 
re PR c++/50024 ([C++0x] [4.7 Regression] crash when using braced initialization in member function of template)

PR c++/50024
* semantics.c (maybe_constant_value): Don't try to fold { }.
* pt.c (build_non_dependent_expr): Don't wrap { }.
* init.c (build_value_init): Allow scalar value-init in templates.

From-SVN: r177994

12 years ago* semantics.c (potential_constant_expression_1): Allow 'this'.
Jason Merrill [Tue, 23 Aug 2011 16:02:50 +0000 (12:02 -0400)] 
* semantics.c (potential_constant_expression_1): Allow 'this'.

From-SVN: r177993

12 years agore PR c++/50158 (invalid 'variable set but not used' warning (boolean used as an...
Jakub Jelinek [Tue, 23 Aug 2011 15:53:18 +0000 (17:53 +0200)] 
re PR c++/50158 (invalid 'variable set but not used' warning (boolean used as an index to an array))

PR c++/50158
* typeck.c (cp_build_modify_expr): Call mark_rvalue_use on rhs
if it has side-effects and needs to be preevaluated.

* g++.dg/warn/Wunused-var-16.C: New test.

From-SVN: r177992

12 years agore PR middle-end/50161 (wrong code with -fno-tree-ter and __builtin_popcountl)
Jakub Jelinek [Tue, 23 Aug 2011 15:51:45 +0000 (17:51 +0200)] 
re PR middle-end/50161 (wrong code with -fno-tree-ter and __builtin_popcountl)

PR middle-end/50161
* simplify-rtx.c (simplify_const_unary_operation): If
op is CONST_INT, don't look at op_mode, but use instead
mode.
* optabs.c (add_equal_note): For FFS, CLZ, CTZ,
CLRSB, POPCOUNT, PARITY and BSWAP use operand mode for
operation and TRUNCATE/ZERO_EXTEND if needed.
* doc/rtl.texi (ffs, clrsb, clz, ctz, popcount, parity, bswap):
Document that operand mode must be same as operation mode,
or VOIDmode.
* config/avr/avr.md (paritysi2, *parityqihi2.libgcc,
*paritysihi2.libgcc, popcountsi2, *popcountsi2.libgcc,
*popcountqihi2.libgcc, clzsi2, *clzsihi2.libgcc, ctzsi2,
*ctzsihi2.libgcc, ffssi2, *ffssihi2.libgcc): For unary ops
use the mode of operand for the operation and add truncate
or zero_extend around if needed.
* config/c6x/c6x.md (ctzdi2): Likewise.
* config/bfin/bfin.md (clrsbsi2, signbitssi2): Likewise.

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

From-SVN: r177991

12 years agore PR c++/50055 ([PATCH] Location information for the throw() specification in a...
Siddhesh Poyarekar [Tue, 23 Aug 2011 14:56:48 +0000 (14:56 +0000)] 
re PR c++/50055 ([PATCH] Location information for the throw() specification in a function may be incorrect)

PR c++/50055
* except.c (begin_eh_spec_block): Build EH_SPEC block on the
same line as the function.

From-SVN: r177990

12 years agocfgexpand.c (expand_one_register_var): Use get_pointer_alignment.
Michael Matz [Tue, 23 Aug 2011 14:38:24 +0000 (14:38 +0000)] 
cfgexpand.c (expand_one_register_var): Use get_pointer_alignment.

* cfgexpand.c (expand_one_register_var): Use get_pointer_alignment.
(gimple_expand_cfg): Merge alignment info for coalesced pointer
SSA names.

From-SVN: r177989

12 years agore PR c++/46862 (ICE on std::decimal::decimal32 without any fields)
Jakub Jelinek [Tue, 23 Aug 2011 13:20:04 +0000 (15:20 +0200)] 
re PR c++/46862 (ICE on std::decimal::decimal32 without any fields)

PR c++/46862
* class.c (finish_struct_1): If TYPE_TRANSPARENT_AGGR is set on a type
which doesn't have any fields, clear it and diagnose.

* g++.dg/dfp/nofields.C: New test.

From-SVN: r177987

12 years agoMakefile.in (tree-data-ref.o): Add tree-affine.h dependency.
Richard Guenther [Tue, 23 Aug 2011 12:40:57 +0000 (12:40 +0000)] 
Makefile.in (tree-data-ref.o): Add tree-affine.h dependency.

2011-08-23  Richard Guenther  <rguenther@suse.de>

* Makefile.in (tree-data-ref.o): Add tree-affine.h dependency.
* tree-affine.h (aff_comb_cannot_overlap_p): Declare.
* tree-affine.c (aff_comb_cannot_overlap_p): New function, moved
from ...
* tree-ssa-loop-im.c (cannot_overlap_p): ... here.
(mem_refs_may_alias_p): Adjust.
* tree-data-ref.h (dr_may_alias_p): Adjust.
* tree-data-ref.c: Include tree-affine.h.
(dr_analyze_indices): Do nothing for the non-loop case.
(dr_may_alias_p): Distinguish loop and non-loop case.  Disambiguate
more cases in the non-loop case.
* graphite-sese-to-poly.c (write_alias_graph_to_ascii_dimacs): Adjust
calls to dr_may_alias_p.
(write_alias_graph_to_ascii_ecc): Likewise.
(write_alias_graph_to_ascii_dot): Likewise.
(build_alias_set_optimal_p): Likewise.

From-SVN: r177986

12 years agore PR fortran/31600 (Better error message for redeclation of USEd symbols)
Tobias Burnus [Tue, 23 Aug 2011 12:13:34 +0000 (14:13 +0200)] 
re PR fortran/31600 (Better error message for redeclation of USEd symbols)

2011-08-23  Tobias Burnus  <burnus@net-b.de>

        PR fortran/31600
        * symbol.c (gfc_add_type): Better diagnostic if redefining
        use-associated symbol.
        * module.c (gfc_use_module): Use module name as locus.

2011-08-23  Tobias Burnus  <burnus@net-b.de>

        PR fortran/31600
        * gfortran.dg/use_16.f90: New.

From-SVN: r177985

12 years agore PR tree-optimization/50162 (Wrong vectorization)
Richard Guenther [Tue, 23 Aug 2011 10:20:26 +0000 (10:20 +0000)] 
re PR tree-optimization/50162 (Wrong vectorization)

2011-08-23  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/50162
* tree-vect-stmts.c (vectorizable_call): Fix argument lookup.

From-SVN: r177984

12 years agotree-data-ref.c (dr_analyze_indices): Add comments, handle REALPART_EXPR and IMAGPART...
Richard Guenther [Tue, 23 Aug 2011 08:32:23 +0000 (08:32 +0000)] 
tree-data-ref.c (dr_analyze_indices): Add comments, handle REALPART_EXPR and IMAGPART_EXPR similar to ARRAY_REFs.

2011-08-23  Richard Guenther  <rguenther@suse.de>

* tree-data-ref.c (dr_analyze_indices): Add comments, handle
REALPART_EXPR and IMAGPART_EXPR similar to ARRAY_REFs.
(create_data_ref): Also dump access functions for the created
data-ref.

From-SVN: r177983

12 years agoDaily bump.
GCC Administrator [Tue, 23 Aug 2011 00:18:51 +0000 (00:18 +0000)] 
Daily bump.

From-SVN: r177982

12 years agosfp-machine.h (ASM_INVALID): New define.
Uros Bizjak [Mon, 22 Aug 2011 23:13:57 +0000 (01:13 +0200)] 
sfp-machine.h (ASM_INVALID): New define.

* config/i386/64/sfp-machine.h (ASM_INVALID): New define.
(ASM_DIVZERO): Ditto.
(FP_HANLDE_EXCEPTIONS): Use ASM_INVALID and ASM_DIVZERO.

From-SVN: r177978

12 years ago* ChangeLog: Add missing change.
Uros Bizjak [Mon, 22 Aug 2011 21:02:34 +0000 (23:02 +0200)] 
* ChangeLog: Add missing change.

From-SVN: r177975

12 years agore PR target/50155 (AVX2 support broke -mavx)
Uros Bizjak [Mon, 22 Aug 2011 21:01:46 +0000 (23:01 +0200)] 
re PR target/50155 (AVX2 support broke -mavx)

PR target/50155
* config/i386/sse.md (VI_AVX2): New.
(<plusminus_insn><mode>3): Use VI_AVX2 mode iterator.
(*<plusminus_insn><mode>3): Ditto.
(<sse2_avx2>_andnot<mode>3): Ditto.
(*andnot<mode>3): Fix order of cond operands.
Add asserts for correct TARGET_xxx.
(*<any_logic:code><mode>3): Ditto.

testsuite/ChangeLog:

PR target/50155
* gcc.target/i386/pr50155.c: New test.

From-SVN: r177974

12 years agoAdd ability to force lexed tokens' source_locations.
Gabriel Charette [Mon, 22 Aug 2011 20:41:07 +0000 (20:41 +0000)] 
Add ability to force lexed tokens' source_locations.

Use it to force BUILTINS_LOCATION when declaring builtins instead of creating a <built-in> entry in the line_table which is wrong.

* c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
defined in cpp_init_builtins and c_cpp_builtins.

gcc/fortran/ChangeLog
* cpp.c (gfc_cpp_init): Force BUILTINS_LOCATION for tokens
defined in cpp_define_builtins.

libcpp/ChangeLog
* init.c (cpp_create_reader): Inititalize forced_token_location_p.
* internal.h (struct cpp_reader): Add field forced_token_location_p.
* lex.c (_cpp_lex_direct): Use forced_token_location_p.
(cpp_force_token_locations): New.
(cpp_stop_forcing_token_locations): New.

From-SVN: r177973

12 years agom32c.h (CLASS_MAX_NREGS): Remove macro.
Anatoly Sokolov [Mon, 22 Aug 2011 20:26:26 +0000 (00:26 +0400)] 
m32c.h (CLASS_MAX_NREGS): Remove macro.

* config/m32c/m32c.h (CLASS_MAX_NREGS): Remove macro.
* config/m32c/m32c-protos.h (m32c_class_max_nregs): Remove.
* config/m32c/m32c.c (m32c_class_max_nregs): Make static. Change
regclass argument type to reg_class_t. Change 'max' and 'v' vars
and return types to unsigned char. Use reg_class_contents instead
of class_contents.
(TARGET_CLASS_MAX_NREGS): Define.

From-SVN: r177971

12 years ago* ChangeLog: Additional fixes for AVX2 ChangeLog entry.
Uros Bizjak [Mon, 22 Aug 2011 19:18:44 +0000 (21:18 +0200)] 
* ChangeLog: Additional fixes for AVX2 ChangeLog entry.

From-SVN: r177969

12 years agoc6x.md (indirect_jump_shadow): Tweak representation to make computed_jump_p return...
Bernd Schmidt [Mon, 22 Aug 2011 18:00:33 +0000 (18:00 +0000)] 
c6x.md (indirect_jump_shadow): Tweak representation to make computed_jump_p return true.

* config/c6x/c6x.md (indirect_jump_shadow): Tweak representation
to make computed_jump_p return true.

From-SVN: r177968

12 years agoCentralize PICFLAG configuration
Rainer Orth [Mon, 22 Aug 2011 16:54:02 +0000 (16:54 +0000)] 
Centralize PICFLAG configuration

config:
* picflag.m4: New file.

gcc:
* configure.ac (GCC_PICFLAG_FOR_TARGET): Call it.
(PICFLAG_FOR_TARGET): Substitute.
* aclocal.m4: Regenerate.
* configure: Regenerate.

gcc/ada:
* gcc-interface/Makefile.in (PICFLAG_FOR_TARGET): New.
(GNATLIBCFLAGS_FOR_C): Replace
TARGET_LIBGCC2_CFLAGS by PICFLAG_FOR_TARGET.
(gnatlib-shared-default, gnatlib-shared-dual-win32)
(gnatlib-shared-win32, gnatlib-shared-darwin, gnatlib-shared)
(gnatlib-sjlj, gnatlib-zcx): Likewise.

libada:
* configure.ac: Include ../config/picflag.m4.
(GCC_PICFLAG): Call it.
Substitute.
* configure: Regenerate.
* Makefile.in (TARGET_LIBGCC2_CFLAGS): Replace by PICFLAG.
(GNATLIBCFLAGS_FOR_C): Replace TARGET_LIBGCC2_CFLAGS by PICFLAG.
(LIBADA_FLAGS_TO_PASS): Pass PICFLAG as PICFLAG_FOR_TARGET.
Don't include $(GCC_DIR)/libgcc.mvars.

libiberty:
* aclocal.m4: Include ../config/picflag.m4.
* configure.ac (GCC_PICFLAG): Call it.
(enable_shared): Clear PICFLAG unless shared.
* configure: Regenerate.

From-SVN: r177967

12 years ago* ChangeLog: Fix and enhance ChangeLog entry.
Uros Bizjak [Mon, 22 Aug 2011 16:50:10 +0000 (18:50 +0200)] 
* ChangeLog: Fix and enhance ChangeLog entry.

From-SVN: r177966

12 years agoAvoid dangling line table after loading pch
Dodji Seketeli [Mon, 22 Aug 2011 16:00:32 +0000 (16:00 +0000)] 
Avoid dangling line table after loading pch

gcc/

* c-family/c-pch.c (c_common_read_pch): Re-set line table right
after reading in the pch.

From-SVN: r177964