OSDN Git Service

pf3gnuchains/gcc-fork.git
12 years agolibgo: Update to Go 1.0.2 release.
ian [Mon, 25 Jun 2012 16:20:03 +0000 (16:20 +0000)]
libgo: Update to Go 1.0.2 release.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188943 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR c++/53202
jason [Mon, 25 Jun 2012 15:17:59 +0000 (15:17 +0000)]
PR c++/53202
* semantics.c (build_data_member_initialization): Always keep
initializer for empty base.
(cxx_eval_bare_aggregate): Discard it here.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188940 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR c++/53565
jason [Mon, 25 Jun 2012 15:17:48 +0000 (15:17 +0000)]
PR c++/53565
* pt.c (tsubst_omp_for_iterator): Simplify DECL_EXPR handling.
(tsubst_expr) [OMP_FOR]: Here, too.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188939 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR target/53759
jakub [Mon, 25 Jun 2012 14:52:59 +0000 (14:52 +0000)]
PR target/53759
* config/i386/sse.md (sse_loadlps): Use x m x constraints instead
of x x x in the vmovlps load alternative.

* gcc.target/i386/pr53759.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188937 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR debug/53740
rsandifo [Mon, 25 Jun 2012 14:20:19 +0000 (14:20 +0000)]
PR debug/53740
* df.h, df-problems.c, dce.c: Revert last patch.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188935 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agogcc/
rsandifo [Mon, 25 Jun 2012 13:25:39 +0000 (13:25 +0000)]
gcc/
PR debug/53740
* df.h (dead_debug_add): Remove third argument.
* df-problems.c (dead_debug_add): Likewise.  Use the REGNO of the
REG that we want to replace instead.
(dead_debug_insert_temp): Use the REGNO of the reg that we want
to replace instead of DF_REF_REGNO.  Require there to always be
at least one such use.  Check for cases where the same location
has more than df_ref associated with it.
(df_note_bb_compute): Remove third dead_debug_add argument.
* dce.c (word_dce_process_block): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188934 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/v850/v850.c: Remove redundant extern declarations for
steven [Mon, 25 Jun 2012 13:09:42 +0000 (13:09 +0000)]
* config/v850/v850.c: Remove redundant extern declarations for
last_assemble_variable_decl and size_directive_output.

* doc/tm.texi.in: Document JMP_BUF_SIZE.
* doc/tm.texi: Regenerate.
* config/sparc/sparc.h (JMP_BUF_SIZE): Do not define.
* config/pa/pa.h (JMP_BUF_SIZE): Likewise.
* config/stormy16/stormy16.h: Likewise.

* config/picochip/picochip.c: Do not define DONT_USE_BUILTIN_SETJMP.

* doc/sourcebuild.texi: Add missing subdirectories.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188933 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-06-25 Tristan Gingold <gingold@adacore.com>
gingold [Mon, 25 Jun 2012 08:30:30 +0000 (08:30 +0000)]
2012-06-25  Tristan Gingold  <gingold@adacore.com>

* config/i386/i386.h: Fix typo.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188931 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-06-25 Tristan Gingold <gingold@adacore.com>
gingold [Mon, 25 Jun 2012 08:25:43 +0000 (08:25 +0000)]
2012-06-25  Tristan Gingold  <gingold@adacore.com>

* config/i386/winnt.c (i386_pe_seh_end_prologue): Move code to ...
(seh_cfa_adjust_cfa): ... that function.
(seh_emit_stackalloc): Do not emit out of range values.
* config/i386/i386.md: Delete unused UNSPEC_REG_SAVE,
UNSPEC_DEF_CFA constants.
* config/i386/i386.h (SEH_MAX_FRAME_SIZE): Define.
* config/i386/i386.c (ix86_frame_pointer_required): Required
for very large frames on SEH target.
(ix86_compute_frame_layout): Save area is before frame pointer
on SEH target.  Handle very large frames.
(ix86_expand_prologue): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188928 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * MAINTAINERS (Write After Approval): Update my email address.
iains [Mon, 25 Jun 2012 07:52:21 +0000 (07:52 +0000)]
* MAINTAINERS (Write After Approval): Update my email address.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188927 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR c++/53594
jakub [Mon, 25 Jun 2012 06:48:04 +0000 (06:48 +0000)]
PR c++/53594
* class.c (check_bases_and_members): Avoid -Wuninitialized
diagnostics for non-static const members or references if they
use NSDMI.

* g++.dg/cpp0x/nsdmi7.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188925 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-06-24 Benjamin Kosnik <bkoz@redhat.com>
bkoz [Mon, 25 Jun 2012 06:01:13 +0000 (06:01 +0000)]
2012-06-24  Benjamin Kosnik  <bkoz@redhat.com>

* testsuite/28_regex/algorithms/02_match: To...
* testsuite/28_regex/algorithms/match: ...this.
* testsuite/28_regex/headers/04_header/regex/std_c++0x_neg.cc: Remove
duplicate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188923 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDaily bump.
gccadmin [Mon, 25 Jun 2012 00:18:06 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188922 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * output.h: (current_function_is_leaf,
steven [Sun, 24 Jun 2012 17:58:46 +0000 (17:58 +0000)]
* output.h: (current_function_is_leaf,
current_function_sp_is_unchanging,
current_function_uses_only_leaf_regs): Remove.
* function.c (current_function_is_leaf,
current_function_sp_is_unchanging,
current_function_uses_only_leaf_regs): Remove.
(rest_of_handle_check_leaf_regs): Set crtl->uses_only_leaf_regs
instead of current_function_uses_only_leaf_regs.
* function.h (struct rtl_data): New fields sp_is_unchanging,
is_leaf, uses_only_leaf_regs.
* resource.c (init_resource_info): Replace current_function_is_leaf,
current_function_sp_is_unchanging, and
current_function_uses_only_leaf_regs with new crtl fields.
* sdbout.c (sdbout_symbol): Likewise.
* df-core.c (rest_of_handle_df_initialize): Likewise.
* ira.c (ira): Likewise.
* final.c (final_start_function): Likewise.
* reorg.c (fill_simple_delay_slots): Likewise.
* regrename.c (check_new_reg_p): Likewise.
* stack-ptr-mod.c (notice_stack_pointer_modification_1): Likewise.
(notice_stack_pointer_modification): Likewise.
* dbxout.c (dbxout_symbol): Likewise.
(dbxout_parms): Likewise.
* sel-sched.c (init_regs_for_mode): Likewise.
* dwarf2out.c (dbx_reg_number): Likewise.
(multiple_reg_loc_descriptor): Likewise.
* config/i386/i386.c (ix86_frame_pointer_required): Likewise.
(gen_pop): Likewise.
(ix86_select_alt_pic_regnum): Likewise.
(ix86_compute_frame_layout): Likewise.
(ix86_finalize_stack_realign_flags): Likewise.
(ix86_expand_epilogue): Likewise.
* config/rs6000/rs6000.c (rs6000_stack_info): Likewise.
* config/h8300/h8300.c (byte_reg): Likewise.
* config/c6x/c6x.c (must_reload_pic_reg_p): Likewise.
(c6x_save_reg): Likewise.
(c6x_compute_frame_layout): Likewise.
* config/pa/pa.c (pa_compute_frame_size): Likewise.
(pa_output_function_prologue): Likewise.
* config/stormy16/stormy16.c (struct xstormy16_stack_layout): Likewise.
* config/sparc/sparc.md (attr "leaf_function"): Likewise.
* config/sparc/sparc.c (sparc_initial_elimination_offset): Likewise.
(sparc_expand_prologue): Likewise.
(sparc_flat_expand_prologue): Likewise.
(sparc_asm_function_prologue): Likewise.
(sparc_output_mi_thunk): Likewise.
(sparc_frame_pointer_required): Likewise.
* config/epiphany/epiphany.c (epiphany_compute_function_type): Likewise.
(epiphany_compute_frame_size): Likewise.
* config/lm32/lm32.c (lm32_compute_frame_size): Likewise.
* config/cris/cris.c (cris_md_asm_clobbers): Likewise.
(cris_frame_pointer_required): Likewise.
* config/tilepro/tilepro.c (emit_sp_adjust): Likewise.
(tilepro_current_function_is_leaf): Likewise.
* config/arm/arm.c (arm_compute_save_reg0_reg12_mask): Likewise.
* config/pdp11/pdp11.c (pdp11_expand_epilogue): Likewise.
* config/ia64/ia64.c (find_gr_spill): Likewise.
(ia64_compute_frame_size): Likewise.
(ia64_can_eliminate): Likewise.
(ia64_initial_elimination_offset): Likewise.
* config/m68k/m68k.c (m68k_save_reg): Likewise.
(m68k_expand_epilogue): Likewise.
* config/rx/rx.c (rx_get_stack_layout): Likewise.
* config/tilegx/tilegx.c (tilegx_current_function_is_leaf): Likewise.
* config/picochip/picochip.c (picochip_can_eliminate_link_sp_save):
Likewise.
(picochip_output_frame_debug): Likewise.
* config/sh/sh.c (sh_media_register_for_return): Likewise.
(sh_allocate_initial_value): Likewise.
(sh_output_mi_thunk): Likewise.
* config/microblaze/microblaze.c (microblaze_must_save_register): Likewise.
(compute_frame_size): Likewise.
(microblaze_initial_elimination_offset): Likewise.
(microblaze_expand_prologue): Likewise.
(microblaze_expand_epilogue): Likewise.
* config/frv/frv.c (frv_expand_epilogue): Likewise.
(frv_frame_pointer_required): Likewise.
* config/spu/spu.c (get_pic_reg): Likewise.
(direct_return): Likewise.
(spu_expand_prologue): Likewise.
(spu_expand_epilogue): Likewise.
(spu_initial_elimination_offset): Likewise.
* config/mips/mips.c (mips_global_pointer): Likewise.
(mips_cfun_might_clobber_call_saved_reg_p): Likewise.
(mips_compute_frame_info): Likewise.
* config/mep/mep.c (mep_interrupt_saved_reg): Likewise.
(mep_reload_pointer): Likewise.
* config/rl78/rl78.c (need_to_save): Likewise.
* config/cr16/cr16.c (cr16_compute_save_regs): Likewise.
* config/score/score.c (score_compute_frame_size): Likewise.
(score_function_prologue): Likewise.
* config/bfin/bfin.c (must_save_p): Likewise.
(expand_prologue_reg_save): Likewise.
(expand_epilogue_reg_restore): Likewise.
(bfin_frame_pointer_required): Likewise.
(n_regs_saved_by_prologue): Likewise.
(add_to_reg): Likewise.
(expand_interrupt_handler_prologue): Likewise.
(expand_interrupt_handler_epilogue): Likewise.
(bfin_expand_prologue): Likewise.
* config/avr/avr.c (avr_regs_to_save): Likewise.
(avr_prologue_setup_frame): Likewise.
(expand_epilogue): Likewise.
* config/s390/s390.c (s390_regs_ever_clobbered): Likewise.
(s390_register_info): Likewise.
(s390_frame_info): Likewise.
(s390_init_frame_layout): Likewise.
(s390_emit_prologue): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188918 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * system.h: Poison ASM_BYTE_OP and ASM_OUTPUT_BYTE.
steven [Sun, 24 Jun 2012 13:22:29 +0000 (13:22 +0000)]
    * system.h: Poison ASM_BYTE_OP and ASM_OUTPUT_BYTE.
* vmsdbgout: Do not undefine it if defined.
Rename local ASM_BYTE_OP definition to VMS_ASM_BYTE_OP.
* config/microblaze/microblaze/h: Do no define ASM_BYTE_OP.
* config/mep/mep.h: Do not define ASM_OUTPUT_BYTE.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188917 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * gcc.target/i386/pr23943.c (size_t): Use compatible type-definition
ktietz [Sun, 24 Jun 2012 12:09:22 +0000 (12:09 +0000)]
    * gcc.target/i386/pr23943.c (size_t): Use compatible type-definition
        for LLP64 targets.
        * gcc.target/i386/pr38988.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188916 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agogcc/
rsandifo [Sun, 24 Jun 2012 10:26:33 +0000 (10:26 +0000)]
gcc/
* config/mips/mips.c (mips_process_sync_loop): Add missing
enum cast.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188915 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDaily bump.
gccadmin [Sun, 24 Jun 2012 00:18:01 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188913 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoPR target/53749
rth [Sat, 23 Jun 2012 16:42:19 +0000 (16:42 +0000)]
PR target/53749
        * config/i386/i386.c (ix86_rtx_costs): Add reasonable costs for
        V*QImode shifts and multiply.
        (ix86_expand_vecop_qihi): Support shifts.
        * config/i386/i386.md (any_shift): New code iterator.
        * config/i386/sse.md (ashlv16qi3): Merge ...
        (<any_shiftrt>v16qi3): ... into ...
        (<any_shift><VI1_AVX2>3): ... here.  Use ix86_expand_vecop_qihi
        to support SSE and AVX.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188909 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoi386: Pass ix86_expand_sse_unpack operands by value
rth [Sat, 23 Jun 2012 16:42:07 +0000 (16:42 +0000)]
i386: Pass ix86_expand_sse_unpack operands by value

        * config/i386/i386.c (ix86_expand_sse_unpack): Split operands[]
        parameter into src and dest.
        * config/i386/sse.md (vec_unpacku_hi_<V124_AVX2>): Update call.
        (vec_unpacks_hi_<V124_AVX2>): Likewise.
        (vec_unpacku_lo_<V124_AVX2>): Likewise.
        (vec_unpacks_lo_<V124_AVX2>): Likewise.
        * config/i386/i386-protos.h: Update.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188908 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoi386: Extract the guts of mulv16qi3 to ix86_expand_vecop_qihi
rth [Sat, 23 Jun 2012 16:41:53 +0000 (16:41 +0000)]
i386: Extract the guts of mulv16qi3 to ix86_expand_vecop_qihi

        * config/i386/sse.md (mul<VI1_AVX2>3): Change from insn_and_split to
        pure expander; move expansion code ...
        * config/i386/i386.c (ix86_expand_vecop_qihi): ... here.  New function.
        * config/i386/i386-protos.h: Update.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188907 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDaily bump.
gccadmin [Sat, 23 Jun 2012 00:18:25 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188906 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-06-22 Janus Weil <janus@gcc.gnu.org>
janus [Fri, 22 Jun 2012 21:05:51 +0000 (21:05 +0000)]
2012-06-22  Janus Weil  <janus@gcc.gnu.org>

PR fortran/47710
PR fortran/53328
* interface.c (count_types_test, generic_correspondence,
gfc_compare_interfaces): Ignore PASS arguments.
(check_interface1, compare_parameter): Pass NULL arguments to
gfc_compare_interfaces.
* gfortran.h (gfc_compare_interfaces): Modified prototype.
* expr.c (gfc_check_pointer_assign): Pass NULL arguments to
gfc_compare_interfaces.
* resolve.c (resolve_structure_cons): Ditto.
(check_generic_tbp_ambiguity): Determine PASS arguments and pass them
to gfc_compare_interfaces.

2012-06-22  Janus Weil  <janus@gcc.gnu.org>

PR fortran/47710
PR fortran/53328
* gfortran.dg/typebound_generic_12.f03: New.
* gfortran.dg/typebound_generic_13.f03: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188902 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-06-22 Edmar Wienskoski <edmar@freescale.com>
edmarwjr [Fri, 22 Jun 2012 20:13:23 +0000 (20:13 +0000)]
2012-06-22  Edmar Wienskoski  <edmar@freescale.com>

* config/rs6000/rs6000.md (define_attr "type"): New type popcnt.
(popcntb<mode>2): Add attribute type popcnt.
(popcntd<mode>2): Ditto.
* config/rs6000/power4.md (define_insn_reservation): Add type popcnt.
* config/rs6000/power5.md (define_insn_reservation): Ditto.
* config/rs6000/power7.md (define_insn_reservation): Ditto.
* config/rs6000/476.md (define_insn_reservation): Ditto.
* config/rs6000/power6.md (define_insn_reservation): New
reservation for popcnt instructions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188901 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoUpdate -mpreferred-stack-boundary=3 warning
hjl [Fri, 22 Jun 2012 18:27:58 +0000 (18:27 +0000)]
Update -mpreferred-stack-boundary=3 warning

* doc/invoke.texi: Update -mpreferred-stack-boundary=3 warning.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188900 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoAllow -mpreferred-stack-boundary=3 on x86-64
hjl [Fri, 22 Jun 2012 17:10:58 +0000 (17:10 +0000)]
Allow -mpreferred-stack-boundary=3 on x86-64

PR target/53383
* doc/invoke.texi: Add a warning for -mpreferred-stack-boundary=3.

* config/i386/i386.c (ix86_option_override_internal): Allow
-mpreferred-stack-boundary=3 for 64-bit if SSE is disabled.

* config/i386/i386.h (MIN_STACK_BOUNDARY): Set to 64 for 64-bit
if SSE is disabled.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188893 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-06-22 Bill Schmidt <wschmidt@linux.ibm.com>
wschmidt [Fri, 22 Jun 2012 16:37:40 +0000 (16:37 +0000)]
2012-06-22  Bill Schmidt  <wschmidt@linux.ibm.com>

* double-int.c (double_int_multiple_of): New function.
* double-int.h (double_int_multiple_of): New decl.
* tree-ssa-loop-ivopts.c (add_cost, zero_cost): Remove undefs.
(mbc_entry_hash): New forward decl.
(mbc_entry_eq): Likewise.
(zero_cost): Change to no_cost.
(mult_costs): New static var.
(cost_tables_exist): Likewise.
(initialize_costs): New function.
(finalize_costs): Likewise.
(tree_ssa_iv_optimize_init): Call initialize_costs.
(add_cost): Change to add_regs_cost; distinguish costs by speed.
(multiply_regs_cost): New function.
(add_const_cost): Likewise.
(extend_or_trunc_reg_cost): Likewise.
(negate_reg_cost): Likewise.
(multiply_by_cost): Change to multiply_by_const_cost; distinguish
costs by speed.
(get_address_cost): Change add_cost to add_regs_cost; change
multiply_by_cost to multiply_by_const_cost.
(force_expr_to_var_cost): Change zero_cost to no_cost; change
add_cost to add_regs_cost; change multiply_by_cost to
multiply_by_const_cost.
(split_cost): Change zero_cost to no_cost.
(ptr_difference_cost): Likewise.
(difference_cost): Change zero_cost to no_cost; change multiply_by_cost
to multiply_by_const_cost.
(get_computation_cost_at): Change add_cost to add_regs_cost; change
multiply_by_cost to multiply_by_const_cost.
(determine_use_iv_cost_generic): Change zero_cost to no_cost.
(determine_iv_cost): Change add_cost to add_regs_cost.
(iv_ca_new): Change zero_cost to no_cost.
(tree_ssa_iv_optimize_finalize): Call finalize_costs.
* tree-ssa-address.c (most_expensive_mult_to_index): Change
multiply_by_cost to multiply_by_const_cost.
* tree-flow.h (multiply_by_cost): Change to multiply_by_const_cost.
(add_regs_cost): New decl.
(multiply_regs_cost): Likewise.
(add_const_cost): Likewise.
(extend_or_trunc_reg_cost): Likewise.
(negate_reg_cost): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188891 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-06-22 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 22 Jun 2012 12:29:33 +0000 (12:29 +0000)]
2012-06-22  Richard Guenther  <rguenther@suse.de>

Merge from graphite branch
2011-08-10  Sebastian Pop <sebpop@gmail.com>

* graphite-sese-to-poly.c (build_scop_drs): Fix memory leak.

2012-01-13  Tobias Grosser  <tobias@grosser.es>

* tree-flow.h (parallelized_function_p): Declare.
* tree-parloops.c (parallelized_function_p): Export.
* graphite.c (graphite_transform_loops): Do not run graphite on
already parallel functions.

libgomp/
* testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
* testsuite/libgomp.graphite/force-parallel-2.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188885 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/rs6000/rs6000.c (rs6000_pre_atomic_barrier): Pass in and
amodra [Fri, 22 Jun 2012 12:14:12 +0000 (12:14 +0000)]
* config/rs6000/rs6000.c (rs6000_pre_atomic_barrier): Pass in and
return mem.  Convert to indirect addressing if not indirect or
indexed.  Adjust all callers.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188884 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-06-22 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 22 Jun 2012 10:12:46 +0000 (10:12 +0000)]
2012-06-22  Richard Guenther  <rguenther@suse.de>

* gcov-iov.c: Include bconfig.h and system.h.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188881 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago* doc/include/texinfo.tex: Update to version 2012-06-05.14.
schwab [Fri, 22 Jun 2012 09:22:47 +0000 (09:22 +0000)]
* doc/include/texinfo.tex: Update to version 2012-06-05.14.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188880 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-06-22 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 22 Jun 2012 08:07:47 +0000 (08:07 +0000)]
2012-06-22  Richard Guenther  <rguenther@suse.de>

PR gcov-profile/53744
* gcov-iov.c (main): Treat "" and "prerelease" the same.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188876 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoFix entry
ebotcazou [Fri, 22 Jun 2012 07:22:42 +0000 (07:22 +0000)]
Fix entry

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188875 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR debug/53704
ebotcazou [Fri, 22 Jun 2012 07:18:50 +0000 (07:18 +0000)]
PR debug/53704
* dwarf2out.c (gen_compile_unit_die): Use DW_LANG_Fortran90 as language
for GNU Fortran if in strict DWARF2 mode.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188874 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * tree-ssa-live.c (remove_unused_scope_block_p): Remove again
ebotcazou [Fri, 22 Jun 2012 06:41:09 +0000 (06:41 +0000)]
* tree-ssa-live.c (remove_unused_scope_block_p): Remove again
DECL_IGNORED_P non-reg vars even if they are used.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188872 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoPR debug/53671
aoliva [Fri, 22 Jun 2012 01:34:05 +0000 (01:34 +0000)]
PR debug/53671
PR debug/49888
* var-tracking.c (vt_get_canonicalize_base): New.
(vt_canonicalize_addr, vt_stack_offset_p): New.
(vt_canon_true_dep): New.
(drop_overlapping_mem_locs): Use vt_canon_true_dep.
(clobber_overlaping_mems): Use vt_canonicalize_addr.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188871 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoPR debug/53671
aoliva [Fri, 22 Jun 2012 01:33:46 +0000 (01:33 +0000)]
PR debug/53671
PR debug/49888
* var-tracking.c (vt_initialize): Record initial offset between
arg pointer and stack pointer.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188870 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoPR debug/53671
aoliva [Fri, 22 Jun 2012 01:33:21 +0000 (01:33 +0000)]
PR debug/53671
PR debug/49888
* var-tracking.c (vt_init_cfa_base): Drop redundant recording of
CFA base.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188869 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoPR debug/53671
aoliva [Fri, 22 Jun 2012 01:30:16 +0000 (01:30 +0000)]
PR debug/53671
PR debug/49888
* alias.c (memrefs_conflict_p): Improve handling of AND for
alignment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188868 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago* ddg.c (build_intra_loop_deps): Discard deps of nondebug on debug.
aoliva [Fri, 22 Jun 2012 01:30:00 +0000 (01:30 +0000)]
* ddg.c (build_intra_loop_deps): Discard deps of nondebug on debug.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188867 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoPR debug/53682
aoliva [Fri, 22 Jun 2012 01:29:28 +0000 (01:29 +0000)]
PR debug/53682
* cselib.c (promote_debug_loc): Don't crash on NULL argument.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188866 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDaily bump.
gccadmin [Fri, 22 Jun 2012 00:19:04 +0000 (00:19 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188865 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR c/53702
meadori [Thu, 21 Jun 2012 20:20:30 +0000 (20:20 +0000)]
PR c/53702

* c-decl.c (c_push_function_context): Restore the behavior to reuse
the language function allocated for -Wunused-local-typedefs.
(c_pop_function_context): If necessary, clear the language function
created in c_push_function_context.  Always clear out the
x_cur_stmt_list field of the restored language function.

testsuite/
* gcc.dg/Wunused-local-typedefs.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188860 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-06-21 Meador Inge <meadori@codesourcery.com>
meadori [Thu, 21 Jun 2012 20:05:28 +0000 (20:05 +0000)]
2012-06-21  Meador Inge  <meadori@codesourcery.com>

* MAINTAINERS (Write After Approval): Add myself.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188859 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoPR 39654 FTELL intrinsic function return type.
jb [Thu, 21 Jun 2012 18:47:01 +0000 (18:47 +0000)]
PR 39654 FTELL intrinsic function return type.

frontend ChangeLog:

2012-06-21  Janne Blomqvist  <jb@gcc.gnu.org>

PR fortran/39654
* iresolve.c (gfc_resolve_ftell): Fix result kind and use new
library function.

library ChangeLog:

2012-06-21  Janne Blomqvist  <jb@gcc.gnu.org>

PR fortran/39654
* io/intrinsics.c (ftell2): New function.
* gfortran.map (_gfortran_ftell2): Export function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188858 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-06-21 Sterling Augustine <saugustine@google.com>
sterling [Thu, 21 Jun 2012 18:16:05 +0000 (18:16 +0000)]
2012-06-21   Sterling Augustine  <saugustine@google.com>
        Cary Coutant  <ccoutant@google.com>

* dwarf2out.c (is_cu_die, is_namespace_die, is_class_die,
add_AT_pubnames, add_enumerator_pubname, want_pubnames): New functions.
(comdat_type_struct): New field 'skeleton_die'.
(breakout_comdat_types): Update it.
(add_pubname): Rework logic.  Call is_class_die, is_cu_die and
is_namespace_die.  Fix minor style violation.  Call want_pubnames.
(add_pubname_string): Call want_pubnames.
(add_pubtype): Rework logic for calculating type name.  Call
is_namespace_die.  Call want_pubnames.
(output_pubnames): Move conditional logic deciding when to produce the
section from dwarf2out_finish.  Use new skeleton_die field.
(base_type_die): Call add_pubtype.
(gen_enumeration_type_die): Unconditionally call add_pubtype.
(gen_subprogram_die): Adjust calls to add_pubname.
(gen_namespace_die): Call add_pubname_string.
(dwarf2out_finish): Call add_AT_pubnames; Move logic on when to
produce pubnames and pubtypes sections to output_pubnames.
(common.opt): New option '-gpubnames'.
(invoke.texi): Document it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188857 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoc-family/
steven [Thu, 21 Jun 2012 16:53:45 +0000 (16:53 +0000)]
c-family/
* c-common.h (c_common_print_pch_checksum): Remove.
* c-pch.c: Do not include output.h.
(CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
(asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
(asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
(struct c_pch_header): Remove.
(get_ident): Update gpch version.
(pch_init): Do not print executable_checksum to asm_out_file.
Do not fail if there is no asm_out_file to read back from.  Set
asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
(c_common_write_pch): Verify that nothing was written to asm_out_file
since pch_init was called.  Do not write a c_pch_header, and do not
copy from asm_out_file to the PCH.
(c_common_read_pch): Do not read a c_pch_header, and do not restore
the content of asm_out_file from the PCH.
(c_common_print_pch_checksum): Remove.
* c-opts.c (c_common_init): Print out executable_checksum directly.

testsuite/
* testsuite/gcc.dg/pch/ident-1.c: New test.
* testsuite/gcc.dg/pch/ident-1.hs: Header file for new test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188856 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/m32c/m32c-pragma.c: Remove unnecessary includes.
steven [Thu, 21 Jun 2012 12:24:52 +0000 (12:24 +0000)]
* config/m32c/m32c-pragma.c: Remove unnecessary includes.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188853 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR middle-end/53688
matz [Thu, 21 Jun 2012 12:18:23 +0000 (12:18 +0000)]
PR middle-end/53688
* builtins.c (get_memory_rtx): Always build an all-aliasing MEM_REF
with correct size.

testsuite/
* gcc.c-torture/execute/pr53688.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188852 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-06-21 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 21 Jun 2012 09:24:53 +0000 (09:24 +0000)]
2012-06-21  Richard Guenther  <rguenther@suse.de>

* tree-inline.c (estimate_num_insns): Estimate call cost for
tailcalls properly.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188849 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDaily bump.
gccadmin [Thu, 21 Jun 2012 00:18:59 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188847 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-06-20 Uros Bizjak <ubizjak@gmail.com>
uros [Wed, 20 Jun 2012 19:28:07 +0000 (19:28 +0000)]
2012-06-20  Uros Bizjak  <ubizjak@gmail.com>

* config/i386/i386.md (SINCOS): New int iterator.
(sincos): New int attribute.
(*<sincos>xf2_i387): Macroize insn from *{sin,cos}xf2_i387 using
SINCOS int iterator.
(*<sincos>_extend<mode>xf2_i387): Macroize insn from
*{sin,cos}_extend<mode>xf2_i387 using SINCOS int iterator.

2012-06-20  Uros Bizjak  <ubizjak@gmail.com>

* config/i386/i386.md (RDFSGSBASE): New int iterator.
(WRFSGSBASE): Ditto.
(fsgs): New int attribute.
(rd<fsgs>base<mode>): Macroize insn from rd<fsgs>base<mode> using
RDFSGSBASE int iterator.
(wr<fsgs>base<mode>): Macroize insn from wr<fsgs>base<mode> using
WRFSGSBASE int iterator.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188843 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * Makefile.tpl (check-target-libgomp-c++): New.
jason [Wed, 20 Jun 2012 18:26:04 +0000 (18:26 +0000)]
* Makefile.tpl (check-target-libgomp-c++): New.
(check-target-libitm-c++): New.
* Makefile.def (c++): Add them.
* Makefile.in: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188842 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoAdd DECL_SOURCE_COLUMN.
dnovillo [Wed, 20 Jun 2012 18:03:10 +0000 (18:03 +0000)]
Add DECL_SOURCE_COLUMN.

I'm currently writing a plugin for GCC and I need to extract the
column of a declaration. There exists DECL_SOURCE_FILE/LINE already
and for consistency reasons and ease of use I've added a
DECL_SOURCE_COLUMN macro.

2012-06-20  Rüdiger Sonderfeld  <ruediger@c-plusplus.de>

* tree.h (DECL_SOURCE_COLUMN): New accessor

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188841 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/i386/i386.md (<rounding_insn><mode>2): Macroize expander
uros [Wed, 20 Jun 2012 17:37:40 +0000 (17:37 +0000)]
* config/i386/i386.md (<rounding_insn><mode>2): Macroize expander
from {floor,ceil,btrunc}<mode>2 using FIST_ROUNDING int iterator.
(l<rounding_insn><MODEF:mode><SWI48:mode>2): Macroize expander
from l{floor,ceil}<MODEF:mode><SWI48:mode>2 using FIST_ROUNDING
int iterator.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188840 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * system.h: Poison ASM_OUTPUT_IDENT and IDENT_ASM_OP.
steven [Wed, 20 Jun 2012 14:49:01 +0000 (14:49 +0000)]
* system.h: Poison ASM_OUTPUT_IDENT and IDENT_ASM_OP.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188838 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoFix typo.
dje [Wed, 20 Jun 2012 13:48:40 +0000 (13:48 +0000)]
Fix typo.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188833 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-06-20 David Edelsohn <dje.gcc@gmail.com>
dje [Wed, 20 Jun 2012 13:02:56 +0000 (13:02 +0000)]
2012-06-20  David Edelsohn  <dje.gcc@gmail.com>
            Alan Modra  <amodra@gmail.com>

        * sysdep/powerpc/locks.h (compare_and_swap): Use GCC atomic
        intrinsics.
        (release_set): Same.
        (compare_and_swap_release): Same.
        (read_barrier): Same.
        (write_barrier): Same.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188829 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-06-20 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 20 Jun 2012 12:00:20 +0000 (12:00 +0000)]
2012-06-20  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/30318
* tree-vrp.c (range_int_cst_p): Do not reject overflowed
constants here.
(range_int_cst_singleton_p): But explicitely here.
(zero_nonzero_bits_from_vr): And here.
(extract_range_from_binary_expr_1): Re-implement PLUS_EXPR
to cover all cases we can perform arbitrary precision
arithmetic with double-ints.
(intersect_ranges): Handle adjacent anti-ranges.

* gcc.dg/tree-ssa/vrp69.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188827 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * g++.dg/debug/dwarf2/nested-3.C: Add ARM comment character to regexp.
rearnsha [Wed, 20 Jun 2012 10:56:19 +0000 (10:56 +0000)]
* g++.dg/debug/dwarf2/nested-3.C: Add ARM comment character to regexp.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188826 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-06-20 Uros Bizjak <ubizjak@gmail.com>
uros [Wed, 20 Jun 2012 10:25:17 +0000 (10:25 +0000)]
2012-06-20  Uros Bizjak  <ubizjak@gmail.com>

* config/i386/i386.md (rounding_insn): New int attribute.
(<rounding_insn>xf2): Macroize insn from
{floor,ceil,btrunc}xf2 using FRNDINT_ROUNDING int iterator.
(l<rounding_insn>xf<mode>2): Rename from l<rounding>xf<mode>2.

2012-06-20  Uros Bizjak  <ubizjak@gmail.com>

* config/i386/i386.md (IEEE_MAXMIN): New int iterator.
(ieee_maxmin): New int attribute.
(*ieee_s<ieee_maxmin><mode>3): Macroize insn from
*ieee_s{max,min}<mode>3 using IEEE_MAXMIN mode iterator.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188824 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/arm/arm.h (EMIT_EABI_ATTRIBUTE): Remove.
steven [Wed, 20 Jun 2012 10:18:08 +0000 (10:18 +0000)]
* config/arm/arm.h (EMIT_EABI_ATTRIBUTE): Remove.
* config/arm/arm.c: Do not include c-pragma.h.
(arm_emit_eabi_attribute): New function based on EMIT_EABI_ATTRIBUTE.
(arm_file_start): Replace uses of EMIT_EABI_ATTRIBUTE with calls
to arm_emit_eabi_attribute.
* arm-c.c: Do not include output.h.
(arm_output_c_attributes): Replace use of EMIT_EABI_ATTRIBUTE with a
call to arm_emit_eabi_attribute.
* config/arm/arm-protos.h (arm_emit_eabi_attribute): Prototype it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188823 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-06-20 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 20 Jun 2012 09:54:35 +0000 (09:54 +0000)]
2012-06-20  Richard Guenther  <rguenther@suse.de>

* tree-vect-data-refs.c (vect_can_force_dr_alignment_p):
Allow adjusting alignment of user-aligned decls again.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188822 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/rl78/rl78-c.c: Remove unnecessary includes.
steven [Wed, 20 Jun 2012 09:51:47 +0000 (09:51 +0000)]
* config/rl78/rl78-c.c: Remove unnecessary includes.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188821 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoClear hwcap_2 with Sun ld
ro [Wed, 20 Jun 2012 09:17:53 +0000 (09:17 +0000)]
Clear hwcap_2 with Sun ld

* gcc.target/i386/clearcapv2.map: New file.
* gcc.target/i386/i386.exp: Try it first before clearcap.map.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188820 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/cris/cris.c: Include cgraph.h.
steven [Wed, 20 Jun 2012 08:13:39 +0000 (08:13 +0000)]
* config/cris/cris.c: Include cgraph.h.
(cris_option_override): Do not set non-existing flag_no_gcc_ident.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188818 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * gcc.dg/stack-usage-1.c: Remove dg-options line for sh targets
kkojima [Wed, 20 Jun 2012 07:37:48 +0000 (07:37 +0000)]
* gcc.dg/stack-usage-1.c: Remove dg-options line for sh targets
and add __sh__ case.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188815 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR c++/52637
jason [Wed, 20 Jun 2012 07:27:07 +0000 (07:27 +0000)]
PR c++/52637
* g++.dg/debug/localclass1.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188814 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * parser.c (cp_parser_direct_declarator): Move virt-specifier
jason [Wed, 20 Jun 2012 01:18:08 +0000 (01:18 +0000)]
* parser.c (cp_parser_direct_declarator): Move virt-specifier
parsing after late-specified return type parsing.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188808 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR c++/53651
jason [Wed, 20 Jun 2012 01:17:59 +0000 (01:17 +0000)]
PR c++/53651
* name-lookup.c (constructor_name_p): Don't try to look at the
name of a DECLTYPE_TYPE.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188807 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * emit-rtl.c (need_atomic_barrier_p): New function.
mkuvyrkov [Wed, 20 Jun 2012 01:05:25 +0000 (01:05 +0000)]
* emit-rtl.c (need_atomic_barrier_p): New function.
* emit-rtl.h (need_atomic_barrier_p): Declare it.
* config/alpha/alpha.c (alpha_{pre,post}_atomic_barrier): Use it.
* config/arm/arm.c (arm_{pre,post}_atomic_barrier): Use it.
* config/tilegx/tilegx.c (tile_{pre,post}_atomic_barrier): Use it.
* config/mips/mips.c (mips_{pre,post}_atomic_barrier_p): Remove.
(mips_process_sync_loop): Use generic version instead.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188806 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-06-19 Maxim Kuvyrkov <maxim@codesourcery.com>
mkuvyrkov [Wed, 20 Jun 2012 01:01:00 +0000 (01:01 +0000)]
2012-06-19  Maxim Kuvyrkov  <maxim@codesourcery.com>

* config/mips/mips.c (mips_process_sync_loop): Emit cmp result only if
it is used.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188805 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-06-19 Tom de Vries <vries@codesourcery.com>
mkuvyrkov [Wed, 20 Jun 2012 00:59:08 +0000 (00:59 +0000)]
2012-06-19  Tom de Vries  <vries@codesourcery.com>
            Maxim Kuvyrkov  <maxim@codesourcery.com>

* config/mips/constraints.md (ZR): New constraint.
* config/mips/predicates.md (mem_noofs_operand): New predicate.
* config/mips/mips.c (mips_print_operand): Handle new print modifier.
        * config/mips/mips.h (TARGET_XLP): Define.
(TARGET_SYNC_AFTER_SC): Update.
(ISA_HAS_SWAP, ISA_HAS_LDADD): Define.
* config/mips/sync.md (atomic_exchange, atomic_fetch_add): Use
XLP-specific swap and ldadd patterns.
(atomic_exchange_swap, atomic_fetch_add_ldadd): New patterns.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188804 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-06-19 Tom de Vries <vries@codesourcery.com>
mkuvyrkov [Wed, 20 Jun 2012 00:57:23 +0000 (00:57 +0000)]
2012-06-19  Tom de Vries  <vries@codesourcery.com>
    Maxim Kuvyrkov  <maxim@codesourcery.com>

* config/mips/mips.c (mips_emit_pre_atomic_barrier_p,)
(mips_emit_post_atomic_barrier_p): New static functions.
(mips_process_sync_loop): Use them.  Emit sync memory barriers in
accordance with memory model semantics.  Add return of CMP result for
compare_and_swap.
* config/mips/mips.md: Update comment.
(sync_cmp): New attribute.
(sync_memmodel): New attribute replacing sync_release_barrier.
* config/mips/sync.md (UNSPEC_ATOMIC_COMPARE_AND_SWAP,)
(UNSPEC_ATOMIC_EXCHANGE, UNSPEC_ATOMIC_FETCH_OP): New constants.
(sync_lock_test_and_set, test_and_set_12): Update.
(atomic_compare_and_swap, atomic_exchange, atomic_exchange_llsc,)
(atomic_fetch_add, atomic_fetch_add_llsc): New patterns.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188803 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDaily bump.
gccadmin [Wed, 20 Jun 2012 00:18:50 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188802 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * gcc.dg/stack-usage-1.c: Use sh*-*-* instead of sh-*-*.
kkojima [Tue, 19 Jun 2012 22:29:24 +0000 (22:29 +0000)]
* gcc.dg/stack-usage-1.c: Use sh*-*-* instead of sh-*-*.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188796 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/rs6000/spe.md (*mov_si<mode>_e500_subreg0): Rename to
jsm28 [Tue, 19 Jun 2012 22:08:49 +0000 (22:08 +0000)]
* config/rs6000/spe.md (*mov_si<mode>_e500_subreg0): Rename to
mov_si<mode>_e500_subreg0.
(*mov_si<mode>_e500_subreg0_elf_low)
(*mov_si<mode>_e500_subreg4_elf_low): New patterns.

testsuite:
* gcc.c-torture/compile/vector-5.c,
gcc.c-torture/compile/vector-6.c: New tests.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188795 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoSet cache parameters for alpha
rth [Tue, 19 Jun 2012 21:08:03 +0000 (21:08 +0000)]
Set cache parameters for alpha

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188794 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agogcc/
steven [Tue, 19 Jun 2012 20:44:47 +0000 (20:44 +0000)]
gcc/
* doc/tm.texi.in (TARGET_OBJC_DECLARE_UNRESOLVED_CLASS_REFERENCE,
TARGET_OBJC_DECLARE_CLASS_DEFINITION): Add @hooks.
(ASM_DECLARE_CLASS_REFERENCE, ASM_DECLARE_UNRESOLVED_REFERENCE):
Remove.
* doc/tm.texi: Regenerate.
* config/darwin.h (ASM_OUTPUT_LABELREF): Remove special case for
.objc_class_name_*.
* config/darwin-c.c: Include target.h.
(darwin_objc_declare_unresolved_class_reference): New function.
(darwin_objc_declare_class_definition): New function.
(TARGET_OBJC_DECLARE_UNRESOLVED_CLASS_REFERENCE): Define.
(TARGET_OBJC_DECLARE_CLASS_DEFINITION): Define.

c-family/
* c-target.def (objc_declare_unresolved_class_reference,
objc_declare_class_definition): Add new hooks.

objc/
* objc-next-runtime-abi-01.c: Do not include tm.h and output.h.
Include c-family/c-target.h.
(handle_next_class_ref): Rewrite to emit top-level asm statements.
(handle_next_impent): Likewise.
* objc/Make-lang.in: Fix dependencies for objc-next-runtime-abi-01.o.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188793 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * check_makefile_deps.sh: Look for c-common.o in c-family/.
steven [Tue, 19 Jun 2012 20:01:23 +0000 (20:01 +0000)]
* check_makefile_deps.sh: Look for c-common.o in c-family/.
Add a few more crt* files to the list of files to skip.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188792 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agogcc/
steven [Tue, 19 Jun 2012 19:55:33 +0000 (19:55 +0000)]
gcc/
* target.def (output_ident): New hook.
* targhooks.h (default_asm_output_ident_directive): Add prototype.
* varasm.c (assemble_asm): Only prefix a tab if the string does not
already start with one.
(default_asm_output_ident_directive): New function to emit
.ident as a top-level asm node while parsing, or directly to
asm_out_file after parsing.
* toplev.c (compile_file): Print a GCC .ident with
targetm.asm_out.output_ident.
* doc/tm.texi.in (ASM_OUTPUT_IDENT): Remove documentation for macro.
(TARGET_ASM_OUTPUT_IDENT): Add @hook for this.
* doc/tm.texi: Update.

* config/elfos.h (ASM_OUTPUT_IDENT, IDENT_ASM_OP): Remove.
(TARGET_ASM_OUTPUT_IDENT): Define.
* config/i386/djgpp.h (IDENT_ASM_OP): Remove.
* config/i386/gas.h (ASM_OUTPUT_IDENT): Remove.
* config/arm/aout.h (ASM_OUTPUT_IDENT): Remove.
* config/sparc/sparc.h (IDENT_ASM_OP): Remove.
(TARGET_ASM_OUTPUT_IDENT): Define.
* config/picochip/picochip.h (IDENT_ASM_OP): Remove.
(TARGET_ASM_OUTPUT_IDENT): Define.

* config/cris/cris-protos.h (cris_asm_output_ident): Add prototype.
* config/cris/cris.c (cris_asm_output_ident): New function.
* config/cris/cris.h (ASM_OUTPUT_IDENT, IDENT_ASM_OP): Remove.

* config/microblaze/microblaze-protos.h (microblaze_asm_output_ident):
Add prototype.
* config/microblaze/microblaze.c: Include cgraph.h for add_asm_node.
(microblaze_asm_output_ident): Rewrite to work similar to
default_asm_output_ident_directive for front-end .idents.
* config/microblaze/microblaze.h (ASM_OUTPUT_IDENT): Remove.
(TARGET_ASM_OUTPUT_IDENT): Define.

* config/mips/mips.h (ASM_OUTPUT_IDENT): Remove.
* config/mips/sde.h (IDENT_ASM_OP, ASM_OUTPUT_IDENT): Remove.

* config/rx/rx.c: Include cgraph.h for add_asm_node.
(rx_asm_output_ident): New function, similar to
default_asm_output_ident_directive, but handle AS100 syntax also, so
that #ident also works for rx in AS100 syntax.
(TARGET_ASM_OUTPUT_IDENT): Define.
* config/rx/rx.h (IDENT_ASM_OP): Remove.

* Makefile.in: Fix dependencies for c-family/c-lex.o.

c-family/
* c-lex.c: Do not include output.h.
(cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
Remove uses of ASM_OUTPUT_IDENT.

ada/
* gcc-interface/trans.c: Include target.h.
(gigi): Try to put out .ident with targetm.asm_out.output_ident.
Remove uses of ASM_OUTPUT_IDENT.
* gcc-interface/Make-lang.in: Fix dependencies.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188791 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/i386/i386.md (FIST_ROUNDING): New int iterator.
uros [Tue, 19 Jun 2012 18:24:26 +0000 (18:24 +0000)]
* config/i386/i386.md (FIST_ROUNDING): New int iterator.
(rounding): Handle UNSPEC_FIST_{FLOOR,CEIL}.
(ROUNDING): Ditto.
(*fist<mode>2_<rounding>_1): Macroize insn from
*fist<mode>2_{floor,ceil}_1 using FIST_ROUNDING int iterator.
(fistdi2_<rounding>): Macroize insn from
fistdi2_{floor,ceil} using FIST_ROUNDING int iterator.
(fistdi2_<rounding>_with_temp and splitters): Macroize insn and
corresponding splitters from fistdi2_{floor,ceil} and corresponding
splitters using FIST_ROUNDING int iterator.
(fist<mode>2_<rounding>): Macroize insn from
fist<mode>2_{floor,ceil} using FIST_ROUNDING int iterator.
(fist<mode>2_<rounding>_with_temp and splitters): Macroize insn and
corresponding splitters from fist<mode>2_{floor,ceil} and corresponding
splitters using FIST_ROUNDING int iterator.
(l<rounding>xf<mode>2): Macroize expander from l{floor,ceil}xf<mode>2
using FIST_ROUNDING int iterator.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188789 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agopr33329.c: Change multiplier constant to 12345
rth [Tue, 19 Jun 2012 18:19:37 +0000 (18:19 +0000)]
pr33329.c: Change multiplier constant to 12345

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188788 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoHandle const_vector in mulv4si3 for pre-sse4.1.
rth [Tue, 19 Jun 2012 18:19:26 +0000 (18:19 +0000)]
Handle const_vector in mulv4si3 for pre-sse4.1.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188787 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoUse synth_mult for vector multiplies vs scalar constant
rth [Tue, 19 Jun 2012 18:19:16 +0000 (18:19 +0000)]
Use synth_mult for vector multiplies vs scalar constant

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188786 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoAdd rtx costs for sse integer ops
rth [Tue, 19 Jun 2012 18:19:03 +0000 (18:19 +0000)]
Add rtx costs for sse integer ops

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188785 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * inclhack.def (aix_mutex_initializer_1): New fix.
dje [Tue, 19 Jun 2012 17:55:14 +0000 (17:55 +0000)]
    * inclhack.def (aix_mutex_initializer_1): New fix.
        (aix_cond_initializer_1): New fix.
        (aix_rwlock_initializer): New fix.
        * fixincl.x: Regenerate.
        * tests/base/pthread.h [AIX_MUTEX_INITIALIZER_1_CHECK]: New.
        [AIX_COND_INITIALIZER_1_CHECK]: New.
        [AIX_RWLOCK_INITIALIZER_1_CHECK]: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188784 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/i386/i386.md (FRNDINT_ROUNDING): New int iterator.
uros [Tue, 19 Jun 2012 16:32:57 +0000 (16:32 +0000)]
* config/i386/i386.md (FRNDINT_ROUNDING): New int iterator.
(rounding): New int attribute.
(ROUNDING): Ditto.
(frndintxf2_<rounding>): Macroize insn from
frndintxf2_{floor,ceil,trunc} using FRNDINT_ROUNDING int iterator.
(frndintxf2_<rounding>_i387): Macroize insn from
frndintxf2_{floor,ceil,trunc}_i387 using FRNDINT_ROUNDING int iterator.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188783 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * lex.c (search_line_sse42): Use __builtin_ia32_loaddqu and
uros [Tue, 19 Jun 2012 16:28:50 +0000 (16:28 +0000)]
* lex.c (search_line_sse42): Use __builtin_ia32_loaddqu and
__builtin_ia32_pcmpestri128 instead of asm.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188782 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-06-19 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 19 Jun 2012 15:28:50 +0000 (15:28 +0000)]
2012-06-19  Richard Guenther  <rguenther@suse.de>

* gcc.dg/tree-ssa/vrp68.c: Adjust testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188781 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-06-19 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 19 Jun 2012 14:59:39 +0000 (14:59 +0000)]
2012-06-19  Richard Guenther  <rguenther@suse.de>

* tree-vrp.c (union_ranges): New function.
(vrp_meet_1): Use union_ranges.
(vrp_meet): Dump what we union and call vrp_meet_1.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188780 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * arm.md (enum unspec): Delete UNSPEC_SIN and UNSPEC_COS.
rearnsha [Tue, 19 Jun 2012 13:41:43 +0000 (13:41 +0000)]
* arm.md (enum unspec): Delete UNSPEC_SIN and UNSPEC_COS.
(attr type): Remove fmul, ffmul, farith, ffarith, float_em
f_fpa_load, f_fpa_store, f_mem_r, r_mem_f.
(attr write_conflict, attr core_cycles): Update.
* arm-generic.md (r_mem_f_wbuf): Delete reservation.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188778 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-06-19 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 19 Jun 2012 13:06:35 +0000 (13:06 +0000)]
2012-06-19  Richard Guenther  <rguenther@suse.de>

* tree-vrp.c (intersect_ranges): Handle more cases.
(vrp_intersect_ranges): Dump what we intersect and call ...
(vrp_intersect_ranges_1): ... this.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188776 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-06-19 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 19 Jun 2012 09:19:07 +0000 (09:19 +0000)]
2012-06-19  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/53708
* tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Preserve
user-supplied alignment and alignment of decls with the used
attribute.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188771 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoThe intent of the phases was to have a high-level but mutually exclusive
crowl [Tue, 19 Jun 2012 01:30:31 +0000 (01:30 +0000)]
The intent of the phases was to have a high-level but mutually exclusive
accounting of compile time.  We want to track compile time in a way that
tells us which conceptual phases are taking the most time.  That intent
is not currently satisfied.  This patch restores that intent.

Add code to verify that the sum of the phase times is less than the total
time, to detect when phases are overlapped.  A slight amount of leeway is
required due to time jitters.  This verification is done as the last step
in printing timevars so that any timevar information is not lost.

Rename the phases to be clearer about what they measure, so that they
are less likely to be modified to be overlapping.  The primary example
is to change TV_PHASE_GENERATE to TV_PHASE_LATE_ASM, meaning late work
on the assembly.  This name change avoids confusion n moving the timevar
start call after the call to lang_hooks.decls.final_write_globals, which
prevents overlapping phases.

Each implementation of lang_hooks.decls.final_write_globals, is responsible
for starting and stopping its own phases.  Each implementation currently has
a first phase of TV_PHASE_DEFERRED for front-end work deferred until after
parsing is complete.  The second phase has been renamed from TV_PHASE_CGRAPH
to TV_PHASE_OPT_GEN, to better reflect its use as the main optimization
and generation phase.  This phase accounts for 70%-80% of compilation time
during bootstrap.  The third phase is TV_PHASE_DBGINFO, except in cp/decl2.c,
where it is TV_PHASE_CHECK_DBGINFO because cc1plus mixes checking in with
debug info generation.  In langhooks.c, write_global_declarations was
using TV_PHASE_CHECK_DBGINFO, but it was doing no checking.  So, it now
uses TV_PHASE_DBGINFO.

The changes to LTO are significant.  First, initialization now uses
TV_PHASE_SETUP.  Reading files now uses TV_PHASE_STREAM_IN.  Writing files
now uses TV_PHASE_STREAM_OUT.  The remaining phase is TV_PHASE_OPT_GEN
(formerly TV_PHASE_CGRAPH).  Finally, because LTO is treated as a front
end, TV_PHASE_PARSING and TV_PARSE_GLOBAL active around it.  It is not
parsing, and so those timers should not be active.  Rather than make all
front ends manage them, we turn them off as the first thing in LTO and turn
them back on as the last thing.

Tested on x86_64.

Index: gcc/ChangeLog

2012-06-18  Lawrence Crowl  <crowl@google.com>

* timevar.def (TV_PHASE_GENERATE): Rename to TV_PHASE_LATE_ASM.
(TV_PHASE_CGRAPH): Rename to TV_PHASE_OPT_GEN.
(TV_PHASE_STREAM_IN): New.
(TV_PHASE_STREAM_OUT): New.
* timevar.c (validate_phases): New.
(timevar_print): Call validate_phases.
* c-decl.c (c_write_global_declarations): Rename use of TV_PHASE_CGRAPH
to TV_PHASE_OPT_GEN.
* langhooks.c (write_global_declarations): Rename use of
TV_PHASE_CGRAPH to TV_PHASE_OPT_GEN.  Use TV_PHASE_DBGINFO instead of
TV_PHASE_CHECK_DBGINFO.
* toplev.c (compile_file): Rename use of TV_PHASE_GENERATE to
TV_PHASE_LATE_ASM.  Move start of TV_PHASE_LATE_ASM to after call to
lang_hooks.decls.final_write_globals.

Index: gcc/cp/ChangeLog

2012-06-18  Lawrence Crowl  <crowl@google.com>

* decl2.c (cp_write_global_declarations): Rename use of TV_PHASE_CGRAPH
to TV_PHASE_OPT_GEN.

Index: gcc/lto/ChangeLog

2012-06-18  Lawrence Crowl  <crowl@google.com>

        * lto.c (do_whole_program_analysis):  Rename use of TV_PHASE_CGRAPH to
TV_PHASE_OPT_GEN.  Use new timevar TV_PHASE_STREAM_OUT around the call
to lto_wpa_write_files.
(lto_main):  Rename use of TV_PHASE_CGRAPH to TV_PHASE_OPT_GEN.  Move
start of TV_PHASE_OPT_GEN to include call to materialize_cgraph.  Use
TV_PHASE_SETUP for the call to lto_init.  Use new timevar
TV_PHASE_STREAM_IN around the call to read_cgraph_and_symbols.
Turn TV_PHASE_PARSING off then back on again, because LTO is pretending
to be a front end, but is not one.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188765 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDaily bump.
gccadmin [Tue, 19 Jun 2012 00:20:02 +0000 (00:20 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188764 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * dwarf2.def (DW_OP): Add DW_OP_GNU_const_index.
devans [Mon, 18 Jun 2012 23:35:08 +0000 (23:35 +0000)]
* dwarf2.def (DW_OP): Add DW_OP_GNU_const_index.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188759 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2012-06-18 Jörg Sonnenberger <joerg@britannica.bec.de>
redi [Mon, 18 Jun 2012 21:43:58 +0000 (21:43 +0000)]
2012-06-18  Jörg Sonnenberger <joerg@britannica.bec.de>
    Jonathan Wakely  <jwakely.gcc@gmail.com>

PR libstdc++/53678
* config/os/bsd/netbsd/ctype_base.h: Check for _CTYPE_U.
* testsuite/22_locale/ctype_base/53678.cc: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188755 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/rs6000/aix52.h (TARGET_EXTRA_BUILTINS): Define as 0.
dje [Mon, 18 Jun 2012 20:05:48 +0000 (20:05 +0000)]
    * config/rs6000/aix52.h (TARGET_EXTRA_BUILTINS): Define as 0.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188754 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR target/53712
uros [Mon, 18 Jun 2012 18:41:25 +0000 (18:41 +0000)]
PR target/53712
* config/i386/sse.md (*sse4_2_pcmpestr_unaligned): New.
(*sse4_2_pcmpistr_unaligned): New.

testsuite/ChangeLog:

PR target/53712
* gcc.target/i386/pr53712.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188753 138bc75d-0d04-0410-961f-82ee72b054a4