gcc.git
12 years agoDaily bump.
GCC Administrator [Mon, 18 Jun 2012 00:18:37 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r188721

12 years ago* gcc.target/i386/pr33329.c: .
Uros Bizjak [Sun, 17 Jun 2012 22:14:03 +0000 (00:14 +0200)]
* gcc.target/i386/pr33329.c: .

From-SVN: r188717

12 years ago* gcc.target/i386/pr33329.c: Fix tabcount increase.
Uros Bizjak [Sun, 17 Jun 2012 22:09:40 +0000 (00:09 +0200)]
* gcc.target/i386/pr33329.c: Fix tabcount increase.

From-SVN: r188716

12 years agopr33329.c (f): Increase tabs array to 1024.
Uros Bizjak [Sun, 17 Jun 2012 22:01:25 +0000 (00:01 +0200)]
pr33329.c (f): Increase tabs array to 1024.

* gcc.target/i386/pr33329.c (f): Increase tabs array to 1024.

From-SVN: r188715

12 years agooutput.h (split_double): Move prototype to rtl.h.
Steven Bosscher [Sun, 17 Jun 2012 21:12:24 +0000 (21:12 +0000)]
output.h (split_double): Move prototype to rtl.h.

* output.h (split_double): Move prototype to rtl.h.
(constructor_static_from_elts_p): Move prototype to tree.c.
* rtl.h (split_double): Moved here from output.h.
* tree.h (constructor_static_from_elts_p): Moved here from output.h.
* final.c (split_double): Move from here ...
* rtlanal.c (split_double): ... to here.
* expr.c: Do not include output.h.

From-SVN: r188714

12 years agoforgot ChangeLog
Steven Bosscher [Sun, 17 Jun 2012 21:09:08 +0000 (21:09 +0000)]
forgot ChangeLog

From-SVN: r188713

12 years agocfglayout.h: Remove.
Steven Bosscher [Sun, 17 Jun 2012 21:08:39 +0000 (21:08 +0000)]
cfglayout.h: Remove.

2012-06-17  Steven Bosscher  <steven@gcc.gnu.org>

* cfglayout.h: Remove.
* cfglayout.c: Remove.
* function.h (struct function): Remove x_last_location field.
* function.c: Do not include cfglayout.h.
(expand_function_start): Do not call no-op force_next_line_note.
(expand_function_end): Likewise.
* cfgrtl.c: Do not include cfglayout.h.  Include gt-cfgrtl.h.
(unlink_insn_chain): Moved here from cfglayout.c.
(skip_insns_after_block, label_for_bb, record_effective_endpoints,
into_cfg_layout_mode, outof_cfg_layout_mode,
pass_into_cfg_layout_mode, pass_outof_cfg_layout_mode,
relink_block_chain, fixup_reorder_chain, verify_insn_chain,
fixup_fallthru_exit_predecessor, force_one_exit_fallthru,
cfg_layout_can_duplicate_bb_p, duplicate_insn_chain,
cfg_layout_duplicate_bb, cfg_layout_initialize, break_superblocks,
cfg_layout_finalize): Likewise.
(rtl_can_remove_branch_p): Likewise.
* rtl.h (insn_scope): Move prototype from cfglayout.h here.
(duplicate_insn_chain): Likewise.
(force_next_line_note): Remove prototype.
* emit-rtl.c: Do not include tree-flow.h, egad.  Include vecprim.h.
(last_location): Remove #define to emit.x_last_location.
(force_next_line_note): Remove no-op function.
(init_emit): Don't set x_last_location.
(block_locators_locs, block_locators_blocks, locations_locators_locs,
locations_locators_vals, prologue_locator, epilogue_locator,
curr_location, last_location, curr_block, last_block, curr_rtl_loc):
Move POD to here from cfglayout.c.
(insn_locators_alloc, insn_locators_finalize, insn_locators_free,
set_curr_insn_source_location, get_curr_insn_source_location,
set_curr_insn_block, get_curr_insn_block, curr_insn_locator,
locator_scope, insn_scope, locator_location, locator_line, insn_line,
locator_file, insn_file, locator_eq): Move to here from cfglayout.c.
* cfghooks.h: Remove double-include protection.
(can_copy_bbs_p, copy_bbs): Move prototypes from cfglayout.h to here.
* cfghooks.c (can_copy_bbs_p, copy_bbs): Move to here from cfglayout.c.
* final.c: Do not include cfglayout.h.
(choose_inner_scope, change_scope): Move to here from cfglayout.c.
(reemit_insn_block_notes): Likewise.  Make static.
* tree-flow.h (tree_could_trap_p, operation_could_trap_helper_p,
operation_could_trap_p, tree_could_throw_p): Move from here...
* tree.h: ... to here.
* gengtype.c (open_base_files): Remove cfglayout.h from the list.
* profile.c: Do not include cfghooks.h.
* cfgloopmanip.c: Do not include cfglayout.h and cfghooks.h.
* modulo-sched.c: Likewise.
* loop-unswitch.c: Do not include cfglayout.h.
* sched-ebb.c: Likewise.
* tracer.c: Likewise.
* ddg.c: Likewise.
* tree-vect-loop-manip.c: Likewise.
* loop-init.c: Likewise.
* dwarf2out.c: Likewise.
* hw-doloop.c: Likewise.
* loop-unroll.c: Likewise.
* cfgcleanup.c: Likewise.
* bb-reorder.c: Likewise.
* sched-rgn.c: Likewise.
* tree-cfg.c: Likewise.
* config/alpha/alpha.c: Likewise.
* config/spu/spu.c: Likewise.
* config/sparc/sparc.c: Likewise.
* config/sh/sh.c: Likewise.
* config/c6x/c6x.c: Likewise.
* config/ia64/ia64.c: Likewise.
* config/rs6000/rs6000.c: Likewise.
* config/score/score.c: Likewise.
* config/mips/mips.c: Likewise.
* config/bfin/bfin.c: Likewise.
* Makefile.in (CFGAYOUT_H): Remove, and fixup users.
* config/rs6000/t-rs6000 (rs6000.o): Do not depend on cfglayout.h.
* config/spu/t-spu-elf (spu.o: $): Likewise.
* config/sparc/t-sparc (sparc.o): Do not depend on CFGLAYOUT_H.

From-SVN: r188712

12 years agocfgloop.h: Do not include rtl.h.
Steven Bosscher [Sun, 17 Jun 2012 21:04:41 +0000 (21:04 +0000)]
cfgloop.h: Do not include rtl.h.

* 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

12 years agoexpmed.c (ceil_log2): Move from here...
Steven Bosscher [Sun, 17 Jun 2012 21:01:25 +0000 (21:01 +0000)]
expmed.c (ceil_log2): Move from here...

* 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

12 years agocris.h (TARGET_ELF): Remove.
Steven Bosscher [Sun, 17 Jun 2012 20:55:12 +0000 (20:55 +0000)]
cris.h (TARGET_ELF): Remove.

* 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

12 years agore PR fortran/53691 (ICE with -Wsurprising in LAPACK 3.4.1 cgbrfsx.f)
Tobias Burnus [Sun, 17 Jun 2012 19:30:29 +0000 (21:30 +0200)]
re PR fortran/53691 (ICE with -Wsurprising in LAPACK 3.4.1 cgbrfsx.f)

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

12 years agosfp-machine.h (FP_HANDLE_EXCEPTIONS): Use __builtin_expect when checking for exceptions.
Uros Bizjak [Sun, 17 Jun 2012 13:54:53 +0000 (15:54 +0200)]
sfp-machine.h (FP_HANDLE_EXCEPTIONS): Use __builtin_expect when checking for exceptions.

* 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

12 years agosse.md (vcvtph2ps): Fix vec_select selector.
Uros Bizjak [Sun, 17 Jun 2012 13:48:31 +0000 (15:48 +0200)]
sse.md (vcvtph2ps): Fix vec_select selector.

* config/i386/sse.md (vcvtph2ps): Fix vec_select selector.

From-SVN: r188704

12 years agovrp68.c: Fix scan-tree-dump-times argument order.
Uros Bizjak [Sun, 17 Jun 2012 08:39:13 +0000 (10:39 +0200)]
vrp68.c: Fix scan-tree-dump-times argument order.

* gcc.dg/tree-ssa/vrp68.c: Fix scan-tree-dump-times argument order.

From-SVN: r188703

12 years agoDaily bump.
GCC Administrator [Sun, 17 Jun 2012 00:17:24 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r188701

12 years agore PR fortran/53642 (Front-end optimization: Wrong string length for deferred-length...
Tobias Burnus [Sat, 16 Jun 2012 18:13:38 +0000 (20:13 +0200)]
re PR fortran/53642 (Front-end optimization: Wrong string length for deferred-length strings)

2012-06-16  Tobias Burnus  <burnus@net-b.de>

        PR fortran/53642
        PR fortran/45170
        * frontend-passes.c (optimize_assignment): Don't remove RHS's
        trim when assigning to a deferred-length string.
        * trans-expr.c (gfc_trans_assignment_1): Ensure that the RHS string
        length is evaluated before the deferred-length LHS is reallocated.

2012-06-16  Tobias Burnus  <burnus@net-b.de>

        PR fortran/53642
        PR fortran/45170
        * gfortran.dg/deferred_type_param_8.f90: New.

From-SVN: r188692

12 years agore PR middle-end/53590 (compiler fails to generate SIMD instruction for FP division)
Eric Botcazou [Sat, 16 Jun 2012 11:05:43 +0000 (11:05 +0000)]
re PR middle-end/53590 (compiler fails to generate SIMD instruction for FP division)

PR middle-end/53590
* tree-inline.c (initialize_cfun): Copy can_delete_dead_exceptions.

From-SVN: r188691

12 years agoDaily bump.
GCC Administrator [Sat, 16 Jun 2012 00:17:32 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r188689

12 years agogcov.exp (verify-lines, [...]): Use testname that includes flags, passed in as new...
Janis Johnson [Fri, 15 Jun 2012 19:45:54 +0000 (19:45 +0000)]
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

12 years agostackalign.exp: Combine stack alignment torture options with usual torture options.
Janis Johnson [Fri, 15 Jun 2012 18:04:22 +0000 (18:04 +0000)]
stackalign.exp: Combine stack alignment torture options with usual torture options.

* g++.dg/torture/stackalign/stackalign.exp: Combine stack
alignment torture options with usual torture options.

From-SVN: r188678

12 years agoauto27.C: Add comments to checks for multiple messages reported for one line of sourc...
Janis Johnson [Fri, 15 Jun 2012 18:03:34 +0000 (18:03 +0000)]
auto27.C: Add comments to checks for multiple messages reported for one line of source code.

* 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

12 years agopasses.c (init_optimization_passes): Remove pass_call_cdce from its current position...
Easwaran Raman [Fri, 15 Jun 2012 17:35:11 +0000 (17:35 +0000)]
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

12 years ago* config/tilegx/sync.md (atomic_fetch_<fetchop_name><mode>): Fix typo.
Walter Lee [Fri, 15 Jun 2012 17:19:16 +0000 (17:19 +0000)]
* config/tilegx/sync.md (atomic_fetch_<fetchop_name><mode>): Fix typo.

From-SVN: r188673

12 years agoarm.c (note_invalid_constants): Don't return a result.
Richard Earnshaw [Fri, 15 Jun 2012 16:51:25 +0000 (16:51 +0000)]
arm.c (note_invalid_constants): Don't return a result.

* 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

12 years ago[multiple changes]
Ramana Radhakrishnan [Fri, 15 Jun 2012 16:43:36 +0000 (16:43 +0000)]
[multiple changes]

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

12 years agoavr.c (avr_default_expand_builtin): New function.
Georg-Johann Lay [Fri, 15 Jun 2012 15:56:02 +0000 (15:56 +0000)]
avr.c (avr_default_expand_builtin): New function.

* 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

12 years agore PR middle-end/38474 (compile time explosion in dataflow_set_preserve_mem_locs...
Michael Matz [Fri, 15 Jun 2012 14:56:26 +0000 (14:56 +0000)]
re PR middle-end/38474 (compile time explosion in dataflow_set_preserve_mem_locs at -O3)

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

12 years agogimplify.c (gimplify_compound_literal_expr): Take gimple_test_f argument...
Michael Matz [Fri, 15 Jun 2012 14:46:36 +0000 (14:46 +0000)]
gimplify.c (gimplify_compound_literal_expr): Take gimple_test_f argument...

* 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

12 years agogimplify.c (gimplify_modify_expr): Fold generated statements.
Michael Matz [Fri, 15 Jun 2012 14:40:38 +0000 (14:40 +0000)]
gimplify.c (gimplify_modify_expr): Fold generated statements.

* 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

12 years agotree-vrp.c (set_and_canonicalize_value_range): Use canonical predicates to set VR_UND...
Richard Guenther [Fri, 15 Jun 2012 13:38:17 +0000 (13:38 +0000)]
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

12 years agoarm.md (addsf3, adddf3): Use s_register_operand.
Richard Earnshaw [Fri, 15 Jun 2012 13:32:09 +0000 (13:32 +0000)]
arm.md (addsf3, adddf3): Use s_register_operand.

* 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

12 years agore PR tree-optimization/53636 (SLP may create invalid unaligned memory accesses)
Ulrich Weigand [Fri, 15 Jun 2012 13:30:36 +0000 (13:30 +0000)]
re PR tree-optimization/53636 (SLP may create invalid unaligned memory accesses)

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

12 years agotree-vect-generic.c (lower_vec_perm): Propagate vector constants into VEC_PERM_EXPR.
Ramana Radhakrishnan [Fri, 15 Jun 2012 13:06:51 +0000 (13:06 +0000)]
tree-vect-generic.c (lower_vec_perm): Propagate vector constants into VEC_PERM_EXPR.

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

12 years agotree-vect-patterns.c (vect_pattern_recog): Don't unnecessarily allocate and free...
Jakub Jelinek [Fri, 15 Jun 2012 11:08:28 +0000 (13:08 +0200)]
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

12 years agore PR tree-optimization/51581 (Integer division by constant is not vectorized)
Jakub Jelinek [Fri, 15 Jun 2012 11:07:47 +0000 (13:07 +0200)]
re PR tree-optimization/51581 (Integer division by constant is not vectorized)

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

12 years ago20120615-1.c: New testcase.
Richard Guenther [Fri, 15 Jun 2012 11:06:16 +0000 (11:06 +0000)]
20120615-1.c: New testcase.

2012-06-15  Richard Guenther  <rguenther@suse.de>

* gcc.c-torture/execute/20120615-1.c: New testcase.

From-SVN: r188655

12 years agore PR ada/53592 (ICE on assignment to component of vector_type)
Eric Botcazou [Fri, 15 Jun 2012 10:41:13 +0000 (10:41 +0000)]
re PR ada/53592 (ICE on assignment to component of vector_type)

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

12 years agore PR middle-end/53590 (compiler fails to generate SIMD instruction for FP division)
Eric Botcazou [Fri, 15 Jun 2012 09:22:00 +0000 (09:22 +0000)]
re PR middle-end/53590 (compiler fails to generate SIMD instruction for FP division)

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

12 years agolocks.h (compare_and_swap): Use __sync_bool_compare_and_swap.
Andreas Schwab [Fri, 15 Jun 2012 08:08:04 +0000 (08:08 +0000)]
locks.h (compare_and_swap): Use __sync_bool_compare_and_swap.

* 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

12 years ago2012-06-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
Andreas Krebbel [Fri, 15 Jun 2012 07:29:26 +0000 (07:29 +0000)]
2012-06-15  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* sysdep/s390/locks.h (compare_and_swap, release_set)
(read_barrier, write_barrier): Use the GCC atomic builtins.

From-SVN: r188649

12 years ago(*zero_extendsidi2_rex64): Remove isa attribute.
Uros Bizjak [Fri, 15 Jun 2012 06:53:28 +0000 (08:53 +0200)]
(*zero_extendsidi2_rex64): Remove isa attribute.

From-SVN: r188648

12 years agore PR libstdc++/53578 (include/ext/concurrence.h relies on ill-formed narrowing conve...
Jonathan Wakely [Fri, 15 Jun 2012 00:27:29 +0000 (00:27 +0000)]
re PR libstdc++/53578 (include/ext/concurrence.h relies on ill-formed narrowing conversions)

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

12 years agoDaily bump.
GCC Administrator [Fri, 15 Jun 2012 00:18:49 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r188645

12 years agoUpdate sysdep/sh/locks.h with atomic builtins
Kaz Kojima [Thu, 14 Jun 2012 22:58:05 +0000 (22:58 +0000)]
Update sysdep/sh/locks.h with atomic builtins

Update sysdep/sh/locks.h with atomic builtins
* sysdep/sh/locks.h (__cas_lock): Remove.
(__cas_start_atomic, __cas_end_atomic): Likewise.
(compare_and_swap): Call __sync_bool_compare_and_swap.

From-SVN: r188640

12 years ago* config/tilegx/sync.md (atomic_fetch_sub<mode>): Fix typo.
Maxim Kuvyrkov [Thu, 14 Jun 2012 22:46:03 +0000 (22:46 +0000)]
* config/tilegx/sync.md (atomic_fetch_sub<mode>): Fix typo.

From-SVN: r188639

12 years agore PR libstdc++/53270 (Error when bootstrapping gcc on hppa2.0-unknown-linux-gcc)
Jonathan Wakely [Thu, 14 Jun 2012 22:20:52 +0000 (22:20 +0000)]
re PR libstdc++/53270 (Error when bootstrapping gcc on hppa2.0-unknown-linux-gcc)

PR libstdc++/53270
* include/ext/concurrence.h (__mutex, __recursive_mutex, __cond): Use
NSDMI in C++11 mode.
* include/ext/rope (_Refcount_Base): Likewise. Destroy mutex in
destructor when initialized by function.

From-SVN: r188637

12 years agore PR libstdc++/53648 ([C++11] nested empty tuples)
Jonathan Wakely [Thu, 14 Jun 2012 22:07:33 +0000 (22:07 +0000)]
re PR libstdc++/53648 ([C++11] nested empty tuples)

PR libstdc++/53648
* include/std/tuple (__empty_not_final): Do not use EBO for tuples.
* testsuite/20_util/tuple/53648.cc: New.
* testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error line
number.

From-SVN: r188636

12 years ago* doc/xml/manual/status_cxx2011.xml: Correct C++11 status table.
Jonathan Wakely [Thu, 14 Jun 2012 20:32:11 +0000 (20:32 +0000)]
* doc/xml/manual/status_cxx2011.xml: Correct C++11 status table.

From-SVN: r188635

12 years agoFix my previous commit to:
Uros Bizjak [Thu, 14 Jun 2012 19:38:12 +0000 (21:38 +0200)]
Fix my previous commit to:

* config/i386/i386.md (*zero_extendsidi2): Remove x,x alternative.
(*zero_extendsidi2_rex64): Ditto.

From-SVN: r188634

12 years agore PR target/53568 (SH Target: Add support for bswap built-ins)
Oleg Endo [Thu, 14 Jun 2012 19:33:10 +0000 (19:33 +0000)]
re PR target/53568 (SH Target: Add support for bswap built-ins)

PR target/53568
* config/sh/sh.md: Add peephole for swapbsi2.
(*swapbisi2_and_shl8, *swapbhisi2): New insns and splits.

From-SVN: r188632

12 years agoi386.md (*zero_extendsidi2): Mark movd alternatives SSE2 only.
Uros Bizjak [Thu, 14 Jun 2012 18:51:36 +0000 (20:51 +0200)]
i386.md (*zero_extendsidi2): Mark movd alternatives SSE2 only.

* config/i386/i386.md (*zero_extendsidi2): Mark movd alternatives
SSE2 only.  Remove x,x alternative.
(*zero_extendsidi2_rex64): Ditto.

From-SVN: r188630

12 years agore PR target/53639 (x86_64: redundant 64-bit operations on 32-bit integers)
Jakub Jelinek [Thu, 14 Jun 2012 18:26:53 +0000 (20:26 +0200)]
re PR target/53639 (x86_64: redundant 64-bit operations on 32-bit integers)

PR target/53639
* config/i386/i386.md (*anddi_1 into *andsi_1_zext splitter): New.

From-SVN: r188629

12 years agoarm.c (arm_cirrus_insn_p): Delete.
Richard Earnshaw [Thu, 14 Jun 2012 16:00:55 +0000 (16:00 +0000)]
arm.c (arm_cirrus_insn_p): Delete.

* arm.c (arm_cirrus_insn_p): Delete.
(cirrus_reorg): Delete.
(arm_reorg): Don't call cirrus_reorg.
(arm_final_prescan_insn_p): Don't check for cirrus insns.
* arm.md (define_attr "type"): Remove mav_farith and mav_dmult.
(adddi3, subdi3): Remove Maverick support.
(arm_adddi3): Likewise.
(adddi_sesidi_di, adddi_zesidi_di): Likewise.
(addsf3, adddf3): Likewise.
(subsf3, subdf3): Likewise.
(mulsf3, muldf3): Likewise.
(ashldi3, ashrdi3, lshrdi3): Likewise.
(floatsisf2, floatsidf2): Likewise.
(fix_truncsfsi2, fix_truncdfsi2): Likewise.
(arm_movdi, thumb1_movdi_insn): Likewise.
(arm_cmpdi_insn): Likewise.
(cirrus_cmpsf, cirrus_cmpdf, cirrus_cmpdi): Likewise.
(cirrus.md): Don't include.
* cirrus.md: Delete file.
* t-arm (MD_INCLUDES): Remove cirrus.md.

From-SVN: r188622

12 years agodwarf2out.c (function_possibly_abstracted_p): New static function.
Eric Botcazou [Thu, 14 Jun 2012 14:09:05 +0000 (14:09 +0000)]
dwarf2out.c (function_possibly_abstracted_p): New static function.

* dwarf2out.c (function_possibly_abstracted_p): New static function.
(gen_subprogram_die): Use it function_possibly_abstracted_p in lieu of
cgraph_function_possibly_inlined_p.
(gen_inlined_subroutine_die): Return if the origin is to be ignored.
(process_scope_var): Do not emit concrete instances of abstracted
nested functions from here.
(gen_decl_die): Emit the abstract instance if the function is possibly
abstracted and not only possibly inlined.
(dwarf2out_finish): Find the first non-abstract parent instance and
attach concrete instances on the limbo list to it.

From-SVN: r188621

12 years agoarm.md (divsf3, divdf3): Remove FPA support.
Richard Earnshaw [Thu, 14 Jun 2012 13:02:52 +0000 (13:02 +0000)]
arm.md (divsf3, divdf3): Remove FPA support.

* arm.md (divsf3, divdf3): Remove FPA support.
(negsf2, negdf2): Likewise.
(sqrtsf2, sqrtdf2): Likewise.
(movdfcc): Likewise.
(modsf3, moddf3, movxf): Delete.
(push_fp_multi): Delete.
(fpa.md): Don't include it.
* fpa.md: Delete file.
* t-arm (MD_INCLUDES): Remove fpa.md.

From-SVN: r188616

12 years agoMake-lang.in (ada.install-common, [...]): Use the prefix specified with the --program...
Jose Ruiz [Thu, 14 Jun 2012 12:48:22 +0000 (12:48 +0000)]
Make-lang.in (ada.install-common, [...]): Use the prefix specified with the --program-prefix configure option to...

2012-06-14  Jose Ruiz  <ruiz@adacore.com>

* gcc-interface/Make-lang.in (ada.install-common, ada.uninstall):
Use the prefix specified with the --program-prefix configure option
to determine the install name of the Ada tools.
(ada.all.cross): Use a for loop to iterate over the set of Ada tools
instead of duplicate the same processing.
Update dependencies.

From-SVN: r188612

12 years agotree-vectorizer.h (vect_get_stmt_cost): Move from tree-vect-stmts.c.
Bill Schmidt [Thu, 14 Jun 2012 12:21:36 +0000 (12:21 +0000)]
tree-vectorizer.h (vect_get_stmt_cost): Move from tree-vect-stmts.c.

2012-06-14  Bill Schmidt  <wschmidt@linux.ibm.com>

* tree-vectorizer.h (vect_get_stmt_cost): Move from tree-vect-stmts.c.
(cost_for_stmt): Remove decl.
(vect_get_single_scalar_iteration_cost): Correct typo in name.
* tree-vect-loop.c (vect_get_cost): Remove.
(vect_get_single_scalar_iteration_cost): Correct typo in name; use
vect_get_stmt_cost rather than vect_get_cost.
(vect_get_known_peeling_cost): Use vect_get_stmt_cost rather than
vect_get_cost.
(vect_estimate_min_profitable_iters): Correct typo in call to
vect_get_single_scalar_iteration_cost; use vect_get_stmt_cost rather
than vect_get_cost.
(vect_model_reduction_cost): Use vect_get_stmt_cost rather than
vect_get_cost.
(vect_model_induction_cost): Likewise.
* tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost): Correct
typo in call to vect_get_single_scalar_iteration_cost.
* tree-vect-stmts.c (vect_get_stmt_cost): Move to tree-vectorizer.h.
(cost_for_stmt): Remove unnecessary function.
* Makefile.in (TREE_VECTORIZER_H): Update dependencies.

From-SVN: r188611

12 years ago[multiple changes]
Arnaud Charlet [Thu, 14 Jun 2012 10:56:22 +0000 (12:56 +0200)]
[multiple changes]

2012-06-14  Vincent Pucci  <pucci@adacore.com>

* exp_ch6.adb (Expand_Call): Expand_Put_Call_With_Dimension_Symbol
call replaced by Expand_Put_Call_With_Symbol call.
* sem_dim.adb: New fields Unit_Names, Unit_Symbols
and Dim_Symbols for record type System_Type.
(From_Dimension_To_String_Of_Symbols): Removed.
(From_Dim_To_Str_Of_Dim_Symbols): Renames previous
routine From_Dimension_To_String_Of_Symbols.
(From_Dim_To_Str_Of_Unit_Symbols): New routine.
(Analyze_Aspect_Dimension): argument Symbol in aspect
Dimension aggregate is optional. Named association implemented.
(Has_Compile_Time_Known_Expressions): Removed.
(Analyze_Aspect_Dimension_System): New
component Dim_Symbol in each Dimension aggregate in
aspect Dimension_System. Named associations implemented.
(Add_Dimension_Vector_To_Buffer): Removed.
(Add_Whole_To_Buffer): Removed.
(Expand_Put_Call_With_Dimension_Symbol.): Removed.
(Expand_Put_Call_With_Symbol): Renames previous routine
Expand_Put_Call_With_Dimension_Symbol.
(Has_Dimension_Symbols): Removed.
(Has_Symbols): Renames previous routine
Has_Dimension_Symbols. (Store_String_Oexpon): New routine.
* sem_dim.ads (Expand_Put_Call_With_Dimension_Symbol.): Removed.
(Expand_Put_Call_With_Symbol): Renames previous routine
Expand_Put_Call_With_Dimension_Symbol.
* s-diflio.adb, s-diinio.adb (Put): Symbol renames Symbols.
(Put_Dim_Of): New routines.
* s-diflio.ads, s-diinio.ads: documentation updated.
(Put): Symbol renames Symbols.
(Put_Dim_Of): New routines.
* s-dim.ads: documentation updated.
* s-dimmks.ads: dimensioned type and subtypes updated.
* snames.ads-tmpl: Name_Dim_Symbol, Name_Put_Dim_Of, Name_Symbol,
and Name_Unit_Symbol added. Name_Symbols removed.

2012-06-14  Vincent Pucci  <pucci@adacore.com>

* freeze.adb (In_Exp_Body): Expression function case added.
(Freeze_Expression): Insert the Freeze_Nodes
list before the correct current scope in case of a quantified
expression.

2012-06-14  Pascal Obry  <obry@adacore.com>

* projects.texi: Document the Install package for gprinstall.
2012-06-14  Ed Schonberg  <schonberg@adacore.com>

* sem_elim.adb (Check_For_Eliminated_Subprogram): Do not check within
a default expression.
* sem_res.adb (Resolve_Call): simplify code.

2012-06-14  Ed Schonberg  <schonberg@adacore.com>

* sem_case.adb (Check, Issue_Msg): within an instance, non-other
values in a variant part or a case expression do not have to
belong to the actual subtype.

2012-06-14  Ed Schonberg  <schonberg@adacore.com>

* sem_ch12.adb (Validate_Derived_Type_Instance): If parent is
an interface type, check whether it is itself a previous formal
already instantiated in the current list of actuals.

2012-06-14  Ed Schonberg  <schonberg@adacore.com>

* sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): The
expression for a stream attribute is a name that may be overloaded
with other declarations. To determine whether it matches the
aspect at the freeze point, it is necessary to verify that one
of its interpretations matches.

From-SVN: r188610

12 years ago[multiple changes]
Arnaud Charlet [Thu, 14 Jun 2012 10:49:59 +0000 (12:49 +0200)]
[multiple changes]

2012-06-14  Robert Dewar  <dewar@adacore.com>

* exp_ch7.adb, exp_util.adb, sem_aux.ads, exp_ch9.adb,
sem_ch10.adb, freeze.adb, sem_util.adb, exp_ch4.adb,
s-taprop-dummy.adb: Minor reformatting.

2012-06-14  Vincent Pucci  <pucci@adacore.com>

* exp_attr.adb (Expand_N_Attribute_Reference): Lock_Free
attribute case added.
* par-prag.adb (Prag): Lock_Free pragma case added.
* sem_attr.adb (Analyze_Attribute_Reference): Lock_Free attribute
case added.
* sem_ch13.adb (Analyze_Aspect_Specifications): Record_Rep_Item
call added for Aspect_Lock_Free.
* sem_ch9.adb (Allows_Lock_Free_Implementation): New Lock_Free
error messages for subprogram bodies.
(Lock_Free_Disabled): New routine.
(Analyze_Protected_Body): Call to Lock_Free_Disabled added.
* sem_prag.adb (Analyze_Pragma): Lock_Free pragma case added.
* snames.adb-tmpl (Get_Pragma_Id): Name_Lock_Free case added.
(Is_Pragma_Name): Name_Lock_Free case added.
* snames.ads-tmpl: Attribute_Lock_Free and Pragma_Lock_Free added.

2012-06-14  Ed Schonberg  <schonberg@adacore.com>

* a-coorma.adb, a-cborma.adb, a-cbhama.adb, a-ciorma.adb: Add missing
aliased keyword.

2012-06-14  Bob Duff  <duff@adacore.com>

* lib.ads, lib.adb, sem.adb (Write_Unit_Info): Move this
procedure from Sem body to Lib spec, so it can be used for
debugging elsewhere.

2012-06-14  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6.adb (Check_Conformance): Add Ada 2012 check on mode
conformance: "aliased" must apply to both or neither formal
parameters.

From-SVN: r188609

12 years ago[multiple changes]
Arnaud Charlet [Thu, 14 Jun 2012 10:46:14 +0000 (12:46 +0200)]
[multiple changes]

2012-06-14  Gary Dismukes  <dismukes@adacore.com>

* exp_ch9.adb: Minor reformatting.

2012-06-14  Thomas Quinot  <quinot@adacore.com>

* freeze.adb (Freeze_Record_Type): Warn about useless bit order
specification [when there's no component clause] regardless
of whether the specified bit order is reversed or not.

2012-06-14  Tristan Gingold  <gingold@adacore.com>

* raise-gcc.c (__gnat_personality_seh0): New function.

2012-06-14  Tristan Gingold  <gingold@adacore.com>

* gnatname.adb (Gnatname): Make sure that dynamic table
argument_data is initialized.

2012-06-14  Robert Dewar  <dewar@adacore.com>

* sem_aux.adb: Minor code reorganization.

From-SVN: r188608

12 years agoeinfo.adb einfo.ads (Get_Rep_Item): Removed.
Vincent Pucci [Thu, 14 Jun 2012 10:43:53 +0000 (10:43 +0000)]
einfo.adb einfo.ads (Get_Rep_Item): Removed.

2012-06-14  Vincent Pucci  <pucci@adacore.com>

* einfo.adb einfo.ads (Get_Rep_Item): Removed.
(Get_Rep_Item_For_Entity): Removed.
(Get_Rep_Pragma): Removed.
(Get_Rep_Pragma_For_Entity): Removed.
(Has_Rep_Item): Removed.
(Has_Rep_Pragma): Removed.
(Has_Rep_Pragma_For_Entity): Removed.
* exp_ch9.adb (Expand_N_Task_Type_Declaration):
Has_Rep_Pragma_For_Entity replaced by Has_Rep_Pragma
and Get_Rep_Pragma_For_Entity replaced by Get_Rep_Pragma.
(Make_Task_Create_Call): Has_Rep_Pragma_For_Entity replaced
by Has_Rep_Pragma and Get_Rep_Pragma_For_Entity replaced by
Get_Rep_Pragma.
* exp_intr.adb: Dependency to Sem_Aux added for call to Get_Rep_Pragma.
* sem_aux.adb (Get_Rep_Item): New routine.
(Get_Rep_Pragma): New routine.
(Has_Rep_Item): New routine.
(Has_Rep_Pragma): New routine.
(Nearest_Ancestor): Minor reformatting.
* sem_aux.ads (Get_Rep_Item): New routine.
(Get_Rep_Pragma): New routine.
(Has_Rep_Item): New routine.
(Has_Rep_Pragma): New routine.
* sem_ch13.adb (Duplicate_Clause): Restore original error messages.
* sem_eval.adb (Subtypes_Statically_Match): Get_Rep_Item_For_Entity
replaced by Get_Rep_Item.
* sem_prag.adb (Analyze_Pragma): Restore original error messages.
(Check_Duplicate_Pragma): Restore original error messages.

From-SVN: r188607

12 years ago[multiple changes]
Arnaud Charlet [Thu, 14 Jun 2012 10:39:51 +0000 (12:39 +0200)]
[multiple changes]

2012-06-14  Ed Schonberg  <schonberg@adacore.com>

* sem_util.adb (Is_Object_Reference): in Ada 2012, qualified
expressions are valid names.

2012-06-14  Ed Schonberg  <schonberg@adacore.com>

* sem_ch10.adb (Analyze_Compilation_Unit): If the unit is an
instantiation do not emit warnings for obsolescent units. The
warnings belong on the corresponding generic.

2012-06-14  Hristian Kirtchev  <kirtchev@adacore.com>

* einfo.adb: Update the usage of Node15.
(Return_Flag_Or_Transient_Decl): Removed.
(Set_Return_Flag_Or_Transient_Decl): Removed.
(Set_Status_Flag_Or_Transient_Decl): New routine.
(Status_Flag_Or_Transient_Decl): New routine.
(Write_Field15_Name): Update the output for variables and constants.
* einfo.ads: Remove attribute
Return_Flag_Or_Transient_Decl along with occurrences in nodes.
(Return_Flag_Or_Transient_Decl): Removed along with pragma Inline.
(Set_Return_Flag_Or_Transient_Decl): Removed along with pragma Inline.
(Set_Status_Flag_Or_Transient_Decl): New routine along with pragma
Inline.
(Status_Flag_Or_Transient_Decl): New routine along with pragma Inline.
* exp_ch4.adb (Create_Alternative): New routine.
(Expand_N_Conditional_Expression): Handle the case
where at least one of the conditional expression
alternatives prodices a controlled temporary by means of a function
call.
(Is_Controlled_Function_Call): New routine.
(Process_Transient_Object): Update the call to
Set_Return_Flag_Or_Transient_Decl.
* exp_ch6.adb (Enclosing_Context): New routine.
(Expand_N_Extended_Return_Statement): Update all calls to
Set_Return_Flag_Or_Transient_Decl.
(Expand_Ctrl_Function_Call): Prohibit the finalization of a controlled
function result when the context is a conditional expression.
* exp_ch7.adb (Process_Declarations): Update all calls to
Return_Flag_Or_Transient_Decl. Add processing for intermediate
results of conditional expressions where one of the alternatives
uses a controlled function call.
(Process_Object_Declaration): Update all calls to
Return_Flag_Or_Transient_Decl and rearrange the logic to process
"hook" objects first.
(Process_Transient_Objects): Update the call to
Set_Return_Flag_Or_Transient_Decl.
* exp_util.adb (Requires_Cleanup_Actions (List_Id, Boolean,
Boolean)): Update all calls to Return_Flag_Or_Transient_Decl. Add
detection for intermediate results of conditional expressions
where one of the alternatives uses a controlled function call.

From-SVN: r188606

12 years agovrp.h: New testcase.
Richard Guenther [Thu, 14 Jun 2012 09:38:47 +0000 (09:38 +0000)]
vrp.h: New testcase.

2012-06-14  Richard Guenther  <rguenther@suse.de>

* gcc.dg/tree-ssa/vrp.h: New testcase.
* gcc.dg/tree-ssa/vrp68.c: Likewise.

From-SVN: r188604

12 years agoarm.opt (mfp=2, [...]): Delete options.
Richard Earnshaw [Thu, 14 Jun 2012 09:24:51 +0000 (09:24 +0000)]
arm.opt (mfp=2, [...]): Delete options.

* arm.opt (mfp=2, mfp=3, mfpe, mfpe=2, mfpe=3): Delete options.
        * arm-fpus.def (fpa, fpe2, fpe3, maverick): Delete FPU types.
* arm-tables.opt: Regenerated.
        * doc/invoke.texi: Remove references to deleted options.

From-SVN: r188603

12 years agoAdded offset bits of MOVA/Sz assembly instruction for memory access
Sandeep Kumar Singh [Thu, 14 Jun 2012 09:08:49 +0000 (09:08 +0000)]
Added offset bits of MOVA/Sz assembly instruction for memory access

From-SVN: r188602

12 years agoAdded offset bits of MOVA/Sz assembly instruction for memory access
Sandeep Kumar Singh [Thu, 14 Jun 2012 08:47:28 +0000 (08:47 +0000)]
Added offset bits of MOVA/Sz assembly instruction for memory access

From-SVN: r188600

12 years agore PR target/53621 ([SH] Frame pointers not generated with -fno-omit-frame-pointer...
Christian Bruel [Thu, 14 Jun 2012 08:38:22 +0000 (10:38 +0200)]
re PR target/53621 ([SH] Frame pointers not generated with -fno-omit-frame-pointer on GCC 4.7.0)

PR target/53621
* config/sh/sh.c (sh_option_override): Don't force
flag_omit_frame_pointer and maccumulate_outgoing_args.
* config/sh/sh.opt (maccumulate-outgoing-args): Init as Var.

* gcc.dg/stack-usage-1.c: Force -fomit-frame-pointer on SH.

From-SVN: r188598

12 years agotree-vrp.c (VR_INITIALIZER): New define.
Richard Guenther [Thu, 14 Jun 2012 07:52:32 +0000 (07:52 +0000)]
tree-vrp.c (VR_INITIALIZER): New define.

2012-06-14  Richard Guenther  <rguenther@suse.de>

* tree-vrp.c (VR_INITIALIZER): New define.
(ranges_from_anti_range): New function.
(extract_range_from_binary_expr_1): Decompose operations on
VR_ANTI_RANGEs to operations on VR_RANGE.
(extract_range_from_unary_expr_1): Likewise.
(extract_range_from_binary_expr_1, extract_range_from_binary_expr,
extract_range_from_unary_expr_1, extract_range_from_unary_expr,
extract_range_from_cond_expr, adjust_range_with_scev,
vrp_visit_assignment_or_call, vrp_visit_phi_node,
simplify_bit_ops_using_ranges): Use VR_INITIALIZER.

From-SVN: r188551

12 years agomips.exp (mips-dg-options): Handle -msynci.
Richard Sandiford [Thu, 14 Jun 2012 07:05:25 +0000 (07:05 +0000)]
mips.exp (mips-dg-options): Handle -msynci.

gcc/testsuite/
* gcc.target/mips/mips.exp (mips-dg-options): Handle -msynci.

From-SVN: r188550

12 years agocompiler, reflect: Quote package path with tabs.
Ian Lance Taylor [Thu, 14 Jun 2012 05:04:04 +0000 (05:04 +0000)]
compiler, reflect: Quote package path with tabs.

From-SVN: r188548

12 years agolibgo: Make the subdirectory in the CHECK target.
Ian Lance Taylor [Thu, 14 Jun 2012 04:47:45 +0000 (04:47 +0000)]
libgo: Make the subdirectory in the CHECK target.

From Andreas Schwab.

From-SVN: r188547

12 years agocompiler: Avoid unnecessary interface conversions.
Ian Lance Taylor [Thu, 14 Jun 2012 00:47:38 +0000 (00:47 +0000)]
compiler: Avoid unnecessary interface conversions.

From-SVN: r188545

12 years agoDaily bump.
GCC Administrator [Thu, 14 Jun 2012 00:18:01 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r188544

12 years agore PR testsuite/20771 (Duplicate PCH test names)
Janis Johnson [Wed, 13 Jun 2012 22:55:56 +0000 (22:55 +0000)]
re PR testsuite/20771 (Duplicate PCH test names)

PR testsuite/20771
* lib/dg-pch.exp (dg-flags-pch): Add flags to make compile lines in
test summary unique.

From-SVN: r188540

12 years agoscanasm.exp (scan-assembler, [...]): Don't strip torture options from test name.
Janis Johnson [Wed, 13 Jun 2012 22:55:15 +0000 (22:55 +0000)]
scanasm.exp (scan-assembler, [...]): Don't strip torture options from test name.

* lib/scanasm.exp (scan-assembler, scan-assembler-not, scan-hidden,
scan-not-hiddent, scan-file, scan-file-not, scan-stack-usage,
scan-stack-usage-not): Don't strip torture options from test name.

From-SVN: r188539

12 years agoscandump.exp (scan-dump-times): Use printable version of regexp in test summary line.
Janis Johnson [Wed, 13 Jun 2012 22:54:24 +0000 (22:54 +0000)]
scandump.exp (scan-dump-times): Use printable version of regexp in test summary line.

* lib/scandump.exp (scan-dump-times): Use printable version of
regexp in test summary line.

From-SVN: r188538

12 years agodi-longlong64-sync-1.c: Add comments to checks for multiple messages reported for...
Janis Johnson [Wed, 13 Jun 2012 22:53:42 +0000 (22:53 +0000)]
di-longlong64-sync-1.c: Add comments to checks for multiple messages reported for one line of source code.

* gcc.dg/di-longlong64-sync-1.c: Add comments to checks for multiple
messages reported for one line of source code.
* gcc.dg/format/few-1.c: Likewise.
* gcc.dg/ia64-sync-2.c: Likewise.
* gcc.dg/sync-2.c: Likewise.
* gcc.dg/noncompile/pr44517.c: Likewise.

From-SVN: r188537

12 years agoAdd and use HOST_WIDEST_INT_C, HOST_WIDE_INT_C.
Richard Henderson [Wed, 13 Jun 2012 21:52:47 +0000 (14:52 -0700)]
Add and use HOST_WIDEST_INT_C, HOST_WIDE_INT_C.

From-SVN: r188535

12 years ago* gcc.pot: Regenerate.
Joseph Myers [Wed, 13 Jun 2012 21:49:11 +0000 (22:49 +0100)]
* gcc.pot: Regenerate.

From-SVN: r188534

12 years ago* cpplib.pot: Regenerate.
Joseph Myers [Wed, 13 Jun 2012 21:48:00 +0000 (22:48 +0100)]
* cpplib.pot: Regenerate.

From-SVN: r188533

12 years agore PR debug/49888 (VTA: -O2 -g variable value changes, it does not change in the...
Alexandre Oliva [Wed, 13 Jun 2012 21:43:51 +0000 (21:43 +0000)]
re PR debug/49888 (VTA: -O2 -g variable value changes, it does not change in the source)

gcc/ChangeLog:
PR debug/49888
* var-tracking.c: Include alias.h.
(overlapping_mems): New struct.
(drop_overlapping_mem_locs): New.
(clobber_overlapping_mems): New.
(var_mem_delete_and_set, var_mem_delete): Call it.
(val_bind): Likewise, but only if modified.
(compute_bb_dataflow, emit_notes_in_bb): Call it on MEMs.
* Makefile.in (var-tracking.o): Depend in $(ALIAS_H).
gcc/testsuite/ChangeLog:
PR debug/49888
* gcc.dg/guality/pr49888.c: New.

From-SVN: r188531

12 years agore PR debug/47624 (FAIL: gcc.dg/guality/pr43077-1.c -O1 line 42 c == 3)
Alexandre Oliva [Wed, 13 Jun 2012 21:43:19 +0000 (21:43 +0000)]
re PR debug/47624 (FAIL: gcc.dg/guality/pr43077-1.c  -O1  line 42 c == 3)

PR debug/47624
* var-tracking.c (loc_exp_dep_pool): New.
(vt_emit_notes): Create and release the pool.
(compute_bb_dataflow): Use value-based locations in MO_VAL_SET.
(emit_notes_in_bb): Likewise.
(loc_exp_dep_insert): Deal with NOT_ONEPART vars.
(notify_dependents_of_changed_value): Likewise.
(notify_dependents_of_resolved_value): Check that NOT_ONEPART
variables don't have a VAR_LOC_DEP_LST.
(emit_note_insn_var_location): Expand NOT_ONEPART locs that are
VALUEs or MEMs of VALUEs.

From-SVN: r188530

12 years ago* sr.po: New.
Joseph Myers [Wed, 13 Jun 2012 21:39:19 +0000 (22:39 +0100)]
* sr.po: New.

From-SVN: r188528

12 years agore PR debug/52983 (internal compiler error: in df_uses_record, at df-scan.c:3243)
Alexandre Oliva [Wed, 13 Jun 2012 20:41:55 +0000 (20:41 +0000)]
re PR debug/52983 (internal compiler error: in df_uses_record, at df-scan.c:3243)

PR debug/52983
PR debug/48866
* dce.c (word_dce_process_block): Insert debug temps only if the
insn is not marked.
(dce_process_block): Likewise, and if debug.used is not empty,
and only after iterating over all DEFs that might mark the insn.

From-SVN: r188527

12 years agocommon.opt (ftree-coalesce-inlined-vars): New.
Alexandre Oliva [Wed, 13 Jun 2012 20:41:41 +0000 (20:41 +0000)]
common.opt (ftree-coalesce-inlined-vars): New.

gcc/ChangeLog:
* common.opt (ftree-coalesce-inlined-vars): New.
(ftree-coalesce-vars): New.
* doc/invoke.texi: Document them.
* tree-ssa-copyrename.c (copy_rename_partition_coalesce):
Implement them.
gcc/testsuite/ChangeLog:
* g++.dg/tree-ssa/ivopts-2.C: Adjust for coalescing.
* gcc.dg/tree-ssa/forwprop-11.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-1.c: Likewise.

From-SVN: r188526

12 years agoread-rtl.c (mapping): Remove index field.
Richard Sandiford [Wed, 13 Jun 2012 19:38:11 +0000 (19:38 +0000)]
read-rtl.c (mapping): Remove index field.

gcc/
* read-rtl.c (mapping): Remove index field.  Add current_value field.
Define heap vectors.
(iterator_group): Fix long line.  Remove num_builtins field and
uses_iterator fields.  Make apply_iterator take a void * parameter.
(iterator_use, atttribute_use): New structures.
(iterator_traverse_data, BELLWETHER_CODE, bellwether_codes): Delete.
(current_iterators, iterator_uses, attribute_uses): New variables.
(uses_mode_iterator_p, uses_code_iterator_p): Delete.
(apply_mode_iterator, apply_code_iterator): Take a void * parameter.
(map_attr_string, apply_iterator_to_string): Remove iterator
and value parameters.  Look through all current iterator values
for a matching attribute.
(mode_attr_index, apply_mode_maps): Delete.
(apply_iterator_to_rtx): Replace with...
(copy_rtx_for_iterators): ...this new function.
(uses_iterator_p, apply_iterator_traverse): Delete.
(apply_attribute_uses, add_current_iterators, apply_iterators): New
functions.
(add_mapping): Remove index field.  Set current_value field.
(initialize_iterators): Don't set num_builtins and uses_iterator_p
fields.
(find_iterator): Delete.
(record_iterator_use, record_attribute_use): New functions.
(record_potential_iterator_use): New function.
(check_code_iterator): Remove handling of bellwether codes.
(read_rtx): Remove mode maps.  Truncate iterator and attribute uses.
(read_rtx_code, read_nested_rtx, read_rtx_variadic): Remove mode_maps
parameter.  Use the first code iterator value instead of the
bellwether_codes array.  Use record_potential_iterator_use
for modes.

From-SVN: r188525

12 years agore PR target/53568 (SH Target: Add support for bswap built-ins)
Oleg Endo [Wed, 13 Jun 2012 18:45:17 +0000 (18:45 +0000)]
re PR target/53568 (SH Target: Add support for bswap built-ins)

PR target/53568
* config/sh/sh.md (bswapsi2): New expander.
(swapbsi2): New insn.

From-SVN: r188524

12 years agoSet cache values from -mtune
H.J. Lu [Wed, 13 Jun 2012 17:46:59 +0000 (17:46 +0000)]
Set cache values from -mtune

PR target/53647
* config/i386/i386.c (ix86_tune_cost): New variable.
(ix86_option_override_internal): Set ix86_tune_cost.  Use
ix86_tune_cost for simultaneous_prefetches, prefetch_block,
l1_cache_size and l2_cache_size.

From-SVN: r188523

12 years ago* ChangeLog: Fix whitespace.
Uros Bizjak [Wed, 13 Jun 2012 15:59:15 +0000 (17:59 +0200)]
* ChangeLog: Fix whitespace.

From-SVN: r188521

12 years agosfp-machine.h (__sfp_handle_exceptions): New function declaration.
Uros Bizjak [Wed, 13 Jun 2012 15:56:55 +0000 (17:56 +0200)]
sfp-machine.h (__sfp_handle_exceptions): New function declaration.

* config/ia64/sfp-machine.h (__sfp_handle_exceptions): New
function declaration.
(FP_HANDLE_EXCEPTIONS): Use __sfp_handle_exceptions.
(FP_RND_MASK): New.
* config/ia64/sfp-exceptions.c: New.
* config/ia64/t-softfp (LIB2ADD): Add sfp-exceptions.c.

From-SVN: r188520

12 years agosfp-machine.h (_FP_NANSIGN_S, [...]): Move ...
Uros Bizjak [Wed, 13 Jun 2012 15:23:12 +0000 (17:23 +0200)]
sfp-machine.h (_FP_NANSIGN_S, [...]): Move ...

* config/i386/32/sfp-machine.h (_FP_NANSIGN_S, _FP_NANSIGN_D,
_FP_NANSIGN_E, _FP_NANSIGN_Q): Move ...
* config/i386/64/sfp-machine: ... (delete here) ...
* config/i386/sfp-machine.h: ... to here.
(FP_EX_MASK): Remove.
(FP_RND_MASK): New.
(FP_INIT_ROUNDMODE): Declare asm as volatile.

From-SVN: r188518

12 years agotree-vrp.c (vrp_meet): Properly meet equivalent ranges.
Richard Guenther [Wed, 13 Jun 2012 15:12:02 +0000 (15:12 +0000)]
tree-vrp.c (vrp_meet): Properly meet equivalent ranges.

2012-06-13  Richard Guenther  <rguenther@suse.de>

* tree-vrp.c (vrp_meet): Properly meet equivalent ranges.
Handle meeting two VR_RANGE to an VR_ANTI_RANGE.  Implement
all possible meetings of VR_RANGE with VR_ANTI_RANGE and
VR_ANTI_RANGE with VR_ANTI_RANGE.

From-SVN: r188517

12 years agoRevert
Eric Botcazou [Wed, 13 Jun 2012 13:30:29 +0000 (13:30 +0000)]
Revert
2012-05-19  Eric Botcazou  <ebotcazou@adacore.com>

* gcc-interface/decl.c (Has_Thiscall_Convention): New macro.
(gnat_to_gnu_entity) <E_Subprogram_Type>: Test it to set the thiscall
calling convention
(get_minimal_subprog_decl): Likewise.
(gnat_first_param_is_class): New predicate.

From-SVN: r188512

12 years agoconfig.gcc (unsupported): Move obsoleted FPA-based configurations here from ...
Richard Earnshaw [Wed, 13 Jun 2012 12:45:27 +0000 (12:45 +0000)]
config.gcc (unsupported): Move obsoleted FPA-based configurations here from ...

* config.gcc (unsupported): Move obsoleted FPA-based configurations
here from ...
(obsolete): ... here.
(arm*-*-freebsd*): Remove.
(arm*-*-linux*): Only accept EABI variants.  Simplify logic.
(arm*-*-uclinux*): Likewise.
(arm*-*-ecos-elf): Remove.
(arm*-*-rtems*): Remove.
(arm*-*-elf): Remove.
(arm*-wince-pe*): Remove.
(arm, --with-fpu): Remove support for fpa and Maverick variants.
* arm/ecos-elf.h: Delete.
* arm/t-strongarm-elf: Delete.
* arm/rtems-elf.h: Delete.
* arm/wince-pe.h: Delete.
* arm/pe.c: Delete.
* arm/pe.h: Delete.
* arm/t-wince-pe: Delete.

From-SVN: r188510

12 years agore PR tree-optimization/53647 (gcc.c-torture/compile/20011229-1.c and gcc.c-torture...
Bill Schmidt [Wed, 13 Jun 2012 12:33:55 +0000 (12:33 +0000)]
re PR tree-optimization/53647 (gcc.c-torture/compile/20011229-1.c and gcc.c-torture/compile/pr25311.c)

2012-06-13  Bill Schmidt  <wschmidt@linux.ibm.com>

PR tree-optimization/53647
* tree-ssa-phiopt.c (gate_hoist_loads): Skip transformation for
targets with no defined cache line size.

From-SVN: r188509

12 years agotarghooks.c (default_builtin_vectorized_conversion): Handle vec_construct, using...
Bill Schmidt [Wed, 13 Jun 2012 12:27:57 +0000 (12:27 +0000)]
targhooks.c (default_builtin_vectorized_conversion): Handle vec_construct, using vectype to base cost on subparts.

2012-06-13  Bill Schmidt  <wschmidt@linux.ibm.com>

* targhooks.c (default_builtin_vectorized_conversion): Handle
vec_construct, using vectype to base cost on subparts.
* target.h (enum vect_cost_for_stmt): Add vec_construct.
* tree-vect-stmts.c (vect_model_load_cost): Use vec_construct
instead of scalar_to-vec.
* config/spu/spu.c (spu_builtin_vectorization_cost): Handle
vec_construct in same way as default for now.
* config/i386/i386.c (ix86_builtin_vectorization_cost): Likewise.
* config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost):
Handle vec_construct, including special case for 32-bit loads.

From-SVN: r188508

12 years agore PR fortran/53643 ([OOP] ICE (segfault) with INTENT(OUT) CLASS array)
Tobias Burnus [Wed, 13 Jun 2012 11:57:45 +0000 (13:57 +0200)]
re PR fortran/53643 ([OOP] ICE (segfault) with INTENT(OUT) CLASS array)

2012-06-13  Tobias Burnus  <burnus@net-b.de>

        PR fortran/53643
        * trans-decl.c (init_intent_out_dt): Fix for polymorphic arrays.
        * trans-array.c (structure_alloc_comps): Don't loop for
        scalar coarrays.

2012-06-13  Tobias Burnus  <burnus@net-b.de>

        PR fortran/53643
        * gfortran.dg/intent_out_7.f90: New.

From-SVN: r188507

12 years agore PR fortran/53597 (F95/F2003 constraint no longer triggers: un-SAVED default-initia...
Tobias Burnus [Wed, 13 Jun 2012 11:56:08 +0000 (13:56 +0200)]
re PR fortran/53597 (F95/F2003 constraint no longer triggers: un-SAVED default-initialized module variable)

2012-06-13  Tobias Burnus  <burnus@net-b.de>

        PR fortran/53597
        * decl.c (match_attr_spec): Only mark module variables
        as SAVE_IMPLICIT for Fortran 2008 and later.

2012-06-13  Tobias Burnus  <burnus@net-b.de>

        PR fortran/53597
        * gfortran.dg/save_4.f90: New.

From-SVN: r188506

12 years ago* ChangeLog: Fix whitespace.
Uros Bizjak [Wed, 13 Jun 2012 10:43:26 +0000 (12:43 +0200)]
* ChangeLog: Fix whitespace.

From-SVN: r188505

12 years ago* ChangeLog: Fix whitespace.
Uros Bizjak [Wed, 13 Jun 2012 10:39:27 +0000 (12:39 +0200)]
* ChangeLog: Fix whitespace.

From-SVN: r188504