1. 17 Jun, 2012 8 commits
    • cfgloop.h: Do not include rtl.h. · 1c1ad7bb
      	* cfgloop.h: Do not include rtl.h.
      	(enum iv_extend_code): New.
      	(struct rtx_iv): Use iv_extend_code instead of rtx_code.
      	* Makefile.in (CFGLOOP_H): Do not depend on RTL_H.
      	* loop-iv.c (iv_extend_to_rtx_code): New function to translate
      	an IV_EXTEND_CODE to an RTX_CODE.
      	(dump_iv_info): Update for rtx_iv field type change.
      	(iv_constant): Likewise.
      	(iv_subreg): Likewise.
      	(iv_extend): Likewise.
      	(iv_neg): Likewise.
      	(iv_add): Likewise.
      	(iv_mult): Likewise.
      	(iv_shift): Likewise.
      	(get_biv_step_1): Likewise.
      	(get_biv_step): Likewise.
      	(iv_analyze_biv): Likewise.
      	(get_iv_value): Likewise.
      	(shorten_into_mode): Likewise.
      	(canonicalize_iv_subregs): Likewise.
      	* sese.c (sese_build_liveouts): Use MAY_HAVE_DEBUG_STMTS instead
      	of MAY_HAVE_DEBUG_INSNS.
      	* tree-ssa-loop-ivopts.c: Include recog.h after expr.h.
      	* tree-ssa-loop-prefetch.c: Likewise.
      
      From-SVN: r188711
      Steven Bosscher committed
    • expmed.c (ceil_log2): Move from here... · 46d33ae9
      	* expmed.c (ceil_log2): Move from here...
      	* hwint.c: ... to here for older GCCs...
      	* hwint.h: ... and here for newer GCCs.
      	* rtl.h (ceil_log2): Remove prototype.
      
      	* tree-phinodes.c: Do not include rtl.h.
      	* Makefile.in (tree-phinodes.o): Do not depend on RTL_H.
      
      From-SVN: r188710
      Steven Bosscher committed
    • cris.h (TARGET_ELF): Remove. · 0df965d7
      	* config/cris/cris.h (TARGET_ELF): Remove.
      	(FORCE_EH_FRAME_INFO_IN_DATA_SECTION): Remove.
      	(CRIS_ASM_OUTPUT_ALIGNED_DECL_COMMON): Simpify using TARGET_ELF==1.
      	(LOCAL_LABEL_PREFIX): Likewise.
      	* config/cris/cris.c (cris_target_asm_named_section): Remove.
      	(cris_option_override): Simpify using TARGET_ELF==1.
      	(cris_file_start): Likewise.
      	* config/cris/cris-protos.h (cris_target_asm_named_section): Remove.
      
      From-SVN: r188709
      Steven Bosscher committed
    • re PR fortran/53691 (ICE with -Wsurprising in LAPACK 3.4.1 cgbrfsx.f) · 9a575e05
      2012-06-17  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/53691
              PR fortran/53685
              * check.c (gfc_calculate_transfer_sizes): Return if
              SIZE= is not constant or source-size cannot be determined.
      
      2012-06-17  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/53691
              PR fortran/53685
              * gfortran.dg/transfer_check_3.f90: New.
      
      From-SVN: r188708
      Tobias Burnus committed
    • sfp-machine.h (FP_HANDLE_EXCEPTIONS): Use __builtin_expect when checking for exceptions. · a20d08fd
      	* config/i386/sfp-machine.h (FP_HANDLE_EXCEPTIONS): Use
      	__builtin_expect when checking for exceptions.
      	* config/ia64/sfp-machine.h (FP_HANDLE_EXCEPTIONS): Ditto.
      
      From-SVN: r188705
      Uros Bizjak committed
    • sse.md (vcvtph2ps): Fix vec_select selector. · 0a2818d5
      	* config/i386/sse.md (vcvtph2ps): Fix vec_select selector.
      
      From-SVN: r188704
      Uros Bizjak committed
    • vrp68.c: Fix scan-tree-dump-times argument order. · 413c3530
      	* gcc.dg/tree-ssa/vrp68.c: Fix scan-tree-dump-times argument order.
      
      From-SVN: r188703
      Uros Bizjak committed
    • Daily bump. · 9fddbc10
      From-SVN: r188701
      GCC Administrator committed
  2. 16 Jun, 2012 3 commits
  3. 15 Jun, 2012 25 commits
    • gcov.exp (verify-lines, [...]): Use testname that includes flags, passed in as… · b616eb02
      gcov.exp (verify-lines, [...]): Use testname that includes flags, passed in as new argument, in pass/fail messages.
      
      	* lib/gcov.exp (verify-lines, verify-branches, verify-calls): Use
      	testname that includes flags, passed in as new argument, in
      	pass/fail messages.
      	(run_gcov): Get testname from dg-test, use it in pass/fail messages
      	and pass it to verify-* procedures.
      
      From-SVN: r188681
      Janis Johnson committed
    • stackalign.exp: Combine stack alignment torture options with usual torture options. · 165b955b
      	* g++.dg/torture/stackalign/stackalign.exp: Combine stack
      	alignment torture options with usual torture options.
      
      From-SVN: r188678
      Janis Johnson committed
    • auto27.C: Add comments to checks for multiple messages reported for one line of source code. · 0621f7c2
      	* g++.dg/cpp0x/auto27.C: Add comments to checks for multiple
      	messages reported for one line of source code.
      	* g++.dg/cpp0x/constexpr-decl.C: Likewise.
      	* g++.dg/cpp0x/decltype2.C: Likewise.
      	* g++.dg/cpp0x/decltype3.C: Likewise.
      	* g++.dg/cpp0x/lambda/lambda-syntax1.C: Likewise.
      	* g++.dg/cpp0x/regress/error-recovery1.C: Likewise.
      	* g++.dg/cpp0x/static_assert3.C: Likewise.
      	* g++.dg/cpp0x/udlit-cpp98-neg.C: Likewise.
      	* g++.dg/cpp0x/udlit-shadow-neg.C: Likewise.
      	* g++.dg/cpp0x/union1.C: Likewise.
      	* g++.dg/cpp0x/variadic-ex10.C: Likewise.
      	* g++.dg/cpp0x/variadic-ex14.C: Likewise.
      	* g++.dg/cpp0x/variadic2.C: Likewise.
      	* g++.dg/cpp0x/variadic20.C: Likewise.
      	* g++.dg/cpp0x/variadic74.C: Likewise.
      	* g++.dg/diagnostic/bitfld2.C: Likewise.
      	* g++.dg/ext/attrib44.C: Likewise.
      	* g++.dg/ext/no-asm-1.C: Likewise.
      	* g++.dg/other/error34.C: Likewise.
      	* g++.dg/parse/crash46.C: Likewise.
      	* g++.dg/parse/error10.C: Likewise.
      	* g++.dg/parse/error2.C: Likewise.
      	* g++.dg/parse/error3.C: Likewise.
      	* g++.dg/parse/error36.C: Likewise.
      	* g++.dg/parse/error8.C: Likewise.
      	* g++.dg/parse/error9.C: Likewise.
      	* g++.dg/parse/parser-pr28152-2.C: Likewise.
      	* g++.dg/parse/parser-pr28152.C: Likewise.
      	* g++.dg/parse/template25.C: Likewise.
      	* g++.dg/parse/typename11.C: Likewise.
      	* g++.dg/tc1/dr147.C: Likewise.
      	* g++.dg/template/deduce3.C: Likewise.
      	* g++.dg/template/koenig9.C: Likewise.
      	* g++.dg/template/pr23510.C: Likewise.
      	* g++.dg/warn/pr12242.C: Likewise.
      	* g++.dg/warn/pr30551-2.C: Likewise.
      	* g++.dg/warn/pr30551.C: Likewise.
      	* g++.old-deja/g++.other/typename1.C: Likewise.
      	* g++.old-deja/g++.pt/niklas01a.C: Likewise.
      
      From-SVN: r188677
      Janis Johnson committed
    • passes.c (init_optimization_passes): Remove pass_call_cdce from its current… · ad14c7da
      passes.c (init_optimization_passes): Remove pass_call_cdce from its current position and insert after pass_dce.
      
      2012-06-15   Easwaran Raman  <eraman@google.com>
      
      	* passes.c (init_optimization_passes): Remove pass_call_cdce
      	from its current position and insert after pass_dce.
      
      From-SVN: r188675
      Easwaran Raman committed
    • arm.c (note_invalid_constants): Don't return a result. · 96adb183
      	* arm.c (note_invalid_constants): Don't return a result.
      	(arm_memory_load_p): Delete function.
      	(arm_const_double_rtx): Delete iterator variable i;
      	(fp_immediate_constant): Likewise.
      	(fp_const_from_val): Likewise.
      
      	* arm.c (arm_init_iwmmxt_builtins): Delete void_ftype_void.
      
      From-SVN: r188672
      Richard Earnshaw committed
    • [multiple changes] · 9e1a8dd1
      
      2012-06-15  Marc Glisse  <marc.glisse@inria.fr>
      
      	PR c++/51033
      	* c-typeck.c (c_build_vec_perm_expr): Move to c-family/c-common.c.
              * c-tree.h (c_build_vec_perm_expr): Move to c-family/c-common.h.
      
      cp/
      
      2012-06-15  Marc Glisse  <marc.glisse@inria.fr>
      
      	PR c++/51033
      	* semantics.c (literal_type_p): Handle VECTOR_TYPE.
              (potential_constant_expression_1): Handle VEC_PERM_EXPR.
              * parser.c (cp_parser_postfix_expression): Handle RID_BUILTIN_SHUFFLE.
      
      c-family
      2012-06-15  Marc Glisse  <marc.glisse@inria.fr>
      
      	PR c++/51033
      	* c-common.h (c_build_vec_perm_expr): Move decl here.
      	* c-common.c (c_build_vec_perm_expr): Move definition
      	here.
      
      2012-06-15  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
      
      	PR c++/51033
      	* c-c++-common/torture/vshuf-16.inc: Move from gcc.c-torture/execute/.
      	* c-c++-common/torture/vshuf-2.inc: Likewise.
      	* c-c++-common/torture/vshuf-4.inc: Likewise.
      	* c-c++-common/torture/vshuf-8.inc: Likewise.
      	* c-c++-common/torture/vshuf-main.inc: Likewise.
      	* c-c++-common/torture/vshuf-v16hi.c: Likewise.
      	* c-c++-common/torture/vshuf-v16qi.c: Likewise.
      	* c-c++-common/torture/vshuf-v2df.c: Likewise.
      	* c-c++-common/torture/vshuf-v2di.c: Likewise.
      	* c-c++-common/torture/vshuf-v2sf.c: Likewise.
      	* c-c++-common/torture/vshuf-v2si.c: Likewise.
      	* c-c++-common/torture/vshuf-v4df.c: Likewise.
      	* c-c++-common/torture/vshuf-v4di.c: Likewise.
      	* c-c++-common/torture/vshuf-v4hi.c: Likewise.
      	* c-c++-common/torture/vshuf-v4sf.c: Likewise.
      	* c-c++-common/torture/vshuf-v4si.c: Likewise.
      	* c-c++-common/torture/vshuf-v8hi.c: Likewise.
      	* c-c++-common/torture/vshuf-v8qi.c: Likewise.
      	* c-c++-common/torture/vshuf-v8si.c: Likewise.
      
      From-SVN: r188671
      Ramana Radhakrishnan committed
    • avr.c (avr_default_expand_builtin): New function. · eb6bb559
      	* config/avr/avr.c (avr_default_expand_builtin): New function.
      	(avr_expand_builtin): Use it.
      	(avr_expand_unop_builtin): Remove.
      	(avr_expand_binop_builtin): Remove.
      	(avr_expand_triop_builtin): Remove.
      
      From-SVN: r188670
      Georg-Johann Lay committed
    • re PR middle-end/38474 (compile time explosion in dataflow_set_preserve_mem_locs at -O3) · f8395d62
      	PR middle-end/38474
      	* cfgexpand.c (add_alias_set_conflicts): Remove.
      	(expand_used_vars): Don't call it.
      	(aggregate_contains_union_type): Remove.
      	* function.c (n_temp_slots_in_use): New static data.
      	(make_slot_available, assign_stack_temp_for_type): Update it.
      	(init_temp_slots): Zero it.
      	(remove_unused_temp_slot_addresses): Use it for quicker removal.
      	(remove_unused_temp_slot_addresses_1): Use htab_clear_slot.
      
      From-SVN: r188667
      Michael Matz committed
    • gimplify.c (gimplify_compound_literal_expr): Take gimple_test_f argument... · 4c53d183
      	* gimplify.c (gimplify_compound_literal_expr): Take gimple_test_f
      	argument, don't emit assign statement if value is directly usable.
      	(gimplify_expr): Adjust.
      
      testsuite/
      	* gcc.dg/tree-ssa/vector-4.c: New test.
      
      From-SVN: r188665
      Michael Matz committed
    • gimplify.c (gimplify_modify_expr): Fold generated statements. · 6da8be89
      	* gimplify.c (gimplify_modify_expr): Fold generated statements.
      	* gimple-fold.c (can_refer_decl_in_current_unit_p): Check flag_ltrans.
      
      testsuite/
      	* gcc.dg/debug/dwarf2/inline3.c: Adjust.
      	* gcc.dg/tree-ssa/foldstring-1.c: Adjust.
      
      From-SVN: r188664
      Michael Matz committed
    • tree-vrp.c (set_and_canonicalize_value_range): Use canonical predicates to set… · ef5ad3b7
      tree-vrp.c (set_and_canonicalize_value_range): Use canonical predicates to set VR_UNDEFINED and VR_VARYING.
      
      2012-06-15  Richard Guenther  <rguenther@suse.de>
      
      	* tree-vrp.c (set_and_canonicalize_value_range): Use canonical
      	predicates to set VR_UNDEFINED and VR_VARYING.  Drop a case
      	we assert for in set_value_range to VR_VARYING.
      
      From-SVN: r188663
      Richard Guenther committed
    • arm.md (addsf3, adddf3): Use s_register_operand. · dae840fc
      	* arm.md (addsf3, adddf3): Use s_register_operand.
      	(subsf3, subdf3): Likewise.
      	(mulsf3, muldf3): Likewise.
      	(difsf3, divdf3): Likewise.
      	(movsfcc, movdfcc): Likewise.
      	* predicates.md (f_register_operand): Delete.
      	(arm_float_rhs_operand): Delete.
      	(arm_float_add_operand): Delete.
      	(arm_float_compare_operand): Use s_register_operand when
      	there's no VFP.
      	(cirrus_register_operand): Delete.
      	(cirrus_fp_register): Delete.
      	(cirrus_shift_const): Delete.
      	(cmpdi_operand): Remove Maverick support.
      	* constraints.md (f, v, H): Delete constraints.
      	(G): Update documentation.
      	* arm.c (fp_consts_inited): Convert to bool.
      	(strings_fp): Delete.
      	(values_fp): Delete.
      	(value_fp0): New variable.
      	(init_fp_table): Simplify logic.
      	(arm_const_double_rtx): Likewise.
      	(fp_immediate_constant): Likewise.
      	(fp_const_from_val): Likewise.
      	(neg_const_double_rtx_ok_for_fpa): Delete.
      	* doc/md.texi (ARM constraints): Update documentation.
      
      From-SVN: r188662
      Richard Earnshaw committed
    • re PR tree-optimization/53636 (SLP may create invalid unaligned memory accesses) · 3ebde0e9
      	gcc/
      	PR tree-optimization/53636
      	* tree-vect-data-refs.c (vect_compute_data_ref_alignment): Verify
      	stride when doing basic-block vectorization.
      
      	gcc/testsuite/
      	PR tree-optimization/53636
      	* gcc.target/arm/pr53636.c: New test.
      
      From-SVN: r188661
      Ulrich Weigand committed
    • tree-vect-generic.c (lower_vec_perm): Propagate vector constants into VEC_PERM_EXPR. · 273d260f
      
      
      
      2012-06-15  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
      
      	* tree-vect-generic.c (lower_vec_perm): Propagate vector constants
      	into VEC_PERM_EXPR.
      
      From-SVN: r188659
      Ramana Radhakrishnan committed
    • tree-vect-patterns.c (vect_pattern_recog): Don't unnecessarily allocate and free… · 772e61e1
      tree-vect-patterns.c (vect_pattern_recog): Don't unnecessarily allocate and free bbs array for the SLP case.
      
      	* tree-vect-patterns.c (vect_pattern_recog): Don't unnecessarily
      	allocate and free bbs array for the SLP case.
      
      From-SVN: r188657
      Jakub Jelinek committed
    • re PR tree-optimization/51581 (Integer division by constant is not vectorized) · 079c527f
      	PR tree-optimization/51581
      	* expr.h (choose_multiplier): New prototype.
      	* expmed.c (choose_multiplier): No longer static.
      	Change multiplier_ptr from rtx * to UHWI *.
      	(expand_divmod): Adjust callers.
      	* tree-vect-patterns.c (vect_recog_sdivmod_pow2_pattern):
      	Renamed to...
      	(vect_recog_divmod_pattern): ... this.  Pass bb_vinfo as last
      	argument to new_stmt_vec_info.  Attempt to optimize also divisions
      	by non-pow2 constants if integer vector division isn't supported.
      	* tree-vect-stmts.c (vect_analyze_stmt): If node != NULL,
      	don't look at pattern stmts and sequences.
      
      	* gcc.c-torture/execute/pr51581-1.c: New test.
      	* gcc.c-torture/execute/pr51581-2.c: New test.
      	* gcc.dg/vect/pr51581-1.c: New test.
      	* gcc.dg/vect/pr51581-2.c: New test.
      	* gcc.dg/vect/pr51581-3.c: New test.
      	* gcc.target/i386/avx-pr51581-1.c: New test.
      	* gcc.target/i386/avx-pr51581-2.c: New test.
      	* gcc.target/i386/avx2-pr51581-1.c: New test.
      	* gcc.target/i386/avx2-pr51581-2.c: New test.
      	* gcc.dg/vect/slp-26.c (main1): Divide by 0x8031 instead of 3.
      
      From-SVN: r188656
      Jakub Jelinek committed
    • 20120615-1.c: New testcase. · c55224dc
      2012-06-15  Richard Guenther  <rguenther@suse.de>
      
      	* gcc.c-torture/execute/20120615-1.c: New testcase.
      
      From-SVN: r188655
      Richard Guenther committed
    • re PR ada/53592 (ICE on assignment to component of vector_type) · f71d5704
      	PR ada/53592
      	* gcc-interface/gigi.h (maybe_vector_array): Make static inline.
      	* gcc-interface/utils.c (maybe_vector_array): Delete.
      	* gcc-interface/trans.c (gnat_to_gnu) <N_Indexed_Component>: Mark the
      	array object as addressable if it has vector type and is on the LHS.
      
      From-SVN: r188653
      Eric Botcazou committed
    • re PR middle-end/53590 (compiler fails to generate SIMD instruction for FP division) · 2da02156
      	PR middle-end/53590
      	* common.opt (-fdelete-dead-exceptions): New switch.
      	* doc/invoke.texi (Code Gen Options): Document it.
      	* cse.c (count_reg_usage) <CALL_INSN>: Use !insn_nothrow_p in lieu of
      	insn_could_throw_p predicate.  Do not skip an insn that could throw
      	if dead exceptions can be deleted.
      	(insn_live_p): Likewise, do not return true in that case.
      	* dce.c (can_alter_cfg): New flag.
      	(deletable_insn_p): Do not return false for an insn that can throw if
      	the CFG can be altered and dead exceptions can be deleted.
      	(init_dce): Set can_alter_cfg to false for fast DCE, true otherwise.
      	* dse.c (scan_insn): Use !insn_nothrow_p in lieu of insn_could_throw_
      	predicate. Do not preserve an insn that could throw if dead exceptions
      	can be deleted.
      	* function.h (struct function): Add can_delete_dead_exceptions flag.
      	* function.c (allocate_struct_function): Set it.
      	* lto-streamer-in.c (input_struct_function_base): Stream it.
      	* lto-streamer-out.c (input_struct_function_base): Likewise.
      	* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Do not mark a
      	statement that could throw as necessary if dead exceptions can be
      	deleted.
      ada/
      	* gcc-interface/misc.c (gnat_init_options_struct): Set
      	opts->x_flag_delete_dead_exceptions to 1.
      
      From-SVN: r188651
      Eric Botcazou committed
    • locks.h (compare_and_swap): Use __sync_bool_compare_and_swap. · 6724292e
      * sysdep/m68k/locks.h (compare_and_swap): Use
      __sync_bool_compare_and_swap.
      (release_set): Use write_barrier instead of inlining it.
      
      From-SVN: r188650
      Andreas Schwab committed
    • 2012-06-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> · 6d017004
      	* sysdep/s390/locks.h (compare_and_swap, release_set)
      	(read_barrier, write_barrier): Use the GCC atomic builtins.
      
      From-SVN: r188649
      Andreas Krebbel committed
    • (*zero_extendsidi2_rex64): Remove isa attribute. · 6c31f5fb
      From-SVN: r188648
      Uros Bizjak committed
    • re PR libstdc++/53578 (include/ext/concurrence.h relies on ill-formed narrowing conversions) · ea154879
      	PR libstdc++/53578
      	* include/ext/concurrence.h (__recursive_mutex::_S_destroy): Fix
      	narrowing conversion.
      	* include/std/mutex (__recursive_mutex_base::_S_destroy): Likewise.
      
      From-SVN: r188646
      Jonathan Wakely committed
    • Daily bump. · e48c9c3e
      From-SVN: r188645
      GCC Administrator committed
  4. 14 Jun, 2012 4 commits