gcc.git
12 years agotarget-supports-dg.exp (testname-for-summary): New.
Janis Johnson [Tue, 26 Jun 2012 03:10:43 +0000 (03:10 +0000)]
target-supports-dg.exp (testname-for-summary): New.

* lib/target-supports-dg.exp (testname-for-summary): New.
* lib/profopt.exp (profopt_execute): Define testname_with_flags.
* lib/gcc-dg.exp (cleanup-coverage-files, cleanup-repo-notes,
cleanup-stack-usage, cleanup-dump, cleanup-saved-temps, scan-module,
scan-module-absence, output-exists, output-exists-not: Use
testname-for-summary.
(dg-test): Clean up testname_with_flags.
* lib/scanasm.exp (scan-assembler, scan-assembler-not, scan-hidden,
scan-not-hidden, scan-file, scan-file-not, scan-stack-usage,
scan-stack-usage-not, scan-assembler-times, scan-assembler-dem,
scan-assembler-dem-not, object-size: Use testname-for-summary.
* lib/gcov.exp (run-gcov): Likewise.
* lib/scandump.exp (scan-dump, scan-dump-times, scan-dump-not,
scan-dump-dem, scan-dump-dem-note): Likewise.

From-SVN: r188972

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

From-SVN: r188971

12 years agoAdd C++11 isms to tr2/dynamic_bitset and tr2/bool_set.
Edward Smith-Rowland [Tue, 26 Jun 2012 00:14:00 +0000 (00:14 +0000)]
Add C++11 isms to tr2/dynamic_bitset and tr2/bool_set.

From-SVN: r188967

12 years agoObvious ChangeLog fix.
Sterling Augustine [Mon, 25 Jun 2012 22:56:04 +0000 (22:56 +0000)]
Obvious ChangeLog fix.

From-SVN: r188966

12 years agouser.cfg.in: Change COMPACT_LATEX to NO.
Benjamin Kosnik [Mon, 25 Jun 2012 22:20:15 +0000 (22:20 +0000)]
user.cfg.in: Change COMPACT_LATEX to NO.

2012-06-25  Benjamin Kosnik  <bkoz@redhat.com>

* doc/doxygen/user.cfg.in: Change COMPACT_LATEX to NO.

From-SVN: r188965

12 years agoprofopt.exp: Make prof_option_list local to profopt-execute.
Janis Johnson [Mon, 25 Jun 2012 22:01:34 +0000 (22:01 +0000)]
profopt.exp: Make prof_option_list local to profopt-execute.

* lib/profopt.exp: Make prof_option_list local to profopt-execute.
* g++.dg/tree-prof/tree-prof.exp (PROFOPT_OPTIONS): Define after
including profopt.opt; save and restore existing value.
* g++.dg/bprob/bprob.exp: Likewise.
* gcc.dg/matrix/matrix.exp: Likewise.
* gcc.dg/tree-prof/tree-prof.exp: Likewise.
* gcc.misc-tests/bprob.exp: Likewise; also replace formerly-ignored
PROFOPT_OPTIONS.

From-SVN: r188964

12 years agoObvious fix to Changelog entry.
Sterling Augustine [Mon, 25 Jun 2012 20:59:42 +0000 (20:59 +0000)]
Obvious fix to Changelog entry.

From-SVN: r188961

12 years agoi386: Delete sse sdot_prod; add sdot_prodv4si for xop
Richard Henderson [Mon, 25 Jun 2012 20:42:11 +0000 (13:42 -0700)]
i386: Delete sse sdot_prod; add sdot_prodv4si for xop

Now that we support mult_even/odd hooks, the vectorizer can
generate the exact same code for plain sse dot_prod by itself,
as well as other reductions other than plus.

From-SVN: r188960

12 years agoi386: Add widen_multiply_even/odd builtins and hooks
Richard Henderson [Mon, 25 Jun 2012 20:42:00 +0000 (13:42 -0700)]
i386: Add widen_multiply_even/odd builtins and hooks

From-SVN: r188959

12 years agoi386: Use vpmacsdd for mulv4si3
Richard Henderson [Mon, 25 Jun 2012 20:41:51 +0000 (13:41 -0700)]
i386: Use vpmacsdd for mulv4si3

From-SVN: r188958

12 years agoi386: Cleanup and unify widening multiply patterns
Richard Henderson [Mon, 25 Jun 2012 20:41:42 +0000 (13:41 -0700)]
i386: Cleanup and unify widening multiply patterns

Prepares for exposing builtin_mul_widen_even/odd hooks
for more efficient reduction.  Adds QImode multiplication.
Shares code between mulv4si3 and the widening multiplies.

From-SVN: r188957

12 years agoTestcase for pr53749
Richard Henderson [Mon, 25 Jun 2012 20:41:27 +0000 (13:41 -0700)]
Testcase for pr53749

From-SVN: r188956

12 years agore PR c++/52988 (std::async not executed on function returning nullptr_t)
Jason Merrill [Mon, 25 Jun 2012 20:39:47 +0000 (16:39 -0400)]
re PR c++/52988 (std::async not executed on function returning nullptr_t)

PR c++/52988
* typeck.c (decay_conversion): Don't discard side-effects from
expressions of nullptr_t.

From-SVN: r188955

12 years agoCommit for Christophe Lyon.
Christophe Lyon [Mon, 25 Jun 2012 20:11:35 +0000 (22:11 +0200)]
Commit for Christophe Lyon.

2012-06-25  Christophe Lyon  <christophe.lyon@st.com>

* config/arm/neon.md (UNSPEC_VLD1_DUP): Remove.
(neon_vld1_dup): Restrict to VQ operands.
(neon_vld1_dupv2di): New, fixes vld1q_dup_s64.

2012-06-25  Christophe Lyon  <christophe.lyon@st.com>

* gcc.target/arm/neon-vld1_dupQ.c: New.

From-SVN: r188951

12 years agoC++: Reject variably modified types in operator new
Florian Weimer [Mon, 25 Jun 2012 17:03:10 +0000 (19:03 +0200)]
C++: Reject variably modified types in operator new

From-SVN: r188948

12 years agoarm.h (TARGET_CPU_CPP_BUILTINS): Add new built-ins.
Matthew Gretton-Dann [Mon, 25 Jun 2012 16:30:53 +0000 (16:30 +0000)]
arm.h (TARGET_CPU_CPP_BUILTINS): Add new built-ins.

2012-05-25  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
            James Greenhalgh  <james.greenhalgh@arm.com>
* gcc/config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Add new built-ins.
(TARGET_FMA): New macro.
(TARGET_ARM_QBIT, TARGET_ARM_SAT): Likewise.
(TARGET_ARM_ARCH): Likewise.
(TARGET_ARM_ARCH_ISA_THUMB): Likewise.
(TARGET_V6M, TARGET_V7M): Likewise.
(TARGET_ARM_ARCH_PROFILE): Likewise.
(TARGET_ARM_FEATURE_LDREX): Likewise.
(TARGET_ARM_FP, TARGET_NEON_FP): Likewise.
(ARM_MIN_ENUM_SIZE): Likewise.
* gcc/config/arm/arm.c (arm_file_start): Refactor appropriately.
(base_architecture): New enumeration.
(arm_base_arch): New global variable.
(processors): Add field base_arch.
(ARM_ARCH, ARM_CORE): Adjust accordingly.
(arm_option_override): Add initialization of arm_base_arch.
* gcc/doc/cpp.texi (system-specific predefined macros.): Change.
* gcc/testsuite/gcc.target/arm/ftest-support-arm.h New testcase.
* gcc/testsuite/gcc.target/arm/ftest-support-thumb.h Likewise.
* gcc/testsuite/gcc.target/arm/ftest-support.h Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv4-arm.c: Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv4t-arm.c: Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv4t-thumb.c: Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv5t-arm.c Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv5t-thumb.c Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv5te-arm.c: Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv5te-thumb.c: Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv6-arm.c Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv6-thumb.c Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv6k-arm.c Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv6k-thumb.c Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv6m-thumb.c: Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv6t2-arm.c: Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv6t2-thumb.c: Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv6z-arm.c: Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv6z-thumb.c: Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv7a-arm.c Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv7a-thumb.c Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv7m-thumb.c: Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv7em-thumb.c: Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv7r-arm.c Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv7r-thumb.c Likewise.
* gcc/testsuite/lib/target-supports.exp
(check_effective_target_arm_arch_FUNC): Add support for more
architectures.
(add_options_for_arm_arch_FUNC): Likewise.
(check_effective_target_arm_arch_FUNC_multilib): New functions.

Co-Authored-By: James Greenhalgh <james.greenhalgh@arm.com>
From-SVN: r188946

12 years agogotest: Only look in data segment for ppc64, not ppc*.
Ian Lance Taylor [Mon, 25 Jun 2012 16:26:27 +0000 (16:26 +0000)]
gotest: Only look in data segment for ppc64, not ppc*.

From Andreas Schwab.

From-SVN: r188944

12 years agolibgo: Update to Go 1.0.2 release.
Ian Lance Taylor [Mon, 25 Jun 2012 16:20:03 +0000 (16:20 +0000)]
libgo: Update to Go 1.0.2 release.

From-SVN: r188943

12 years agore PR c++/53202 (Copy constructor not called when starting a thread)
Jason Merrill [Mon, 25 Jun 2012 15:17:59 +0000 (11:17 -0400)]
re PR c++/53202 (Copy constructor not called when starting a thread)

PR c++/53202
* semantics.c (build_data_member_initialization): Always keep
initializer for empty base.
(cxx_eval_bare_aggregate): Discard it here.

From-SVN: r188940

12 years agore PR c++/53565 (FAIL: libgomp.c++/for-7.C)
Jason Merrill [Mon, 25 Jun 2012 15:17:48 +0000 (11:17 -0400)]
re PR c++/53565 (FAIL: libgomp.c++/for-7.C)

PR c++/53565
* pt.c (tsubst_omp_for_iterator): Simplify DECL_EXPR handling.
(tsubst_expr) [OMP_FOR]: Here, too.

From-SVN: r188939

12 years agore PR target/53759 (gcc -mavx emits vshufps for __builtin_ia32_loadlps)
Jakub Jelinek [Mon, 25 Jun 2012 14:52:59 +0000 (16:52 +0200)]
re PR target/53759 (gcc -mavx emits vshufps for __builtin_ia32_loadlps)

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.

From-SVN: r188937

12 years agore PR debug/53740 (--enable-checking=yes,rtl bootstrap failure with ada)
Richard Sandiford [Mon, 25 Jun 2012 14:20:19 +0000 (14:20 +0000)]
re PR debug/53740 (--enable-checking=yes,rtl bootstrap failure with ada)

PR debug/53740
* df.h, df-problems.c, dce.c: Revert last patch.

From-SVN: r188935

12 years agore PR debug/53740 (--enable-checking=yes,rtl bootstrap failure with ada)
Richard Sandiford [Mon, 25 Jun 2012 13:25:39 +0000 (13:25 +0000)]
re PR debug/53740 (--enable-checking=yes,rtl bootstrap failure with ada)

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.

From-SVN: r188934

12 years agov850.c: Remove redundant extern declarations for last_assemble_variable_decl and...
Steven Bosscher [Mon, 25 Jun 2012 13:09:42 +0000 (13:09 +0000)]
v850.c: Remove redundant extern declarations for last_assemble_variable_decl and...

* 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.

From-SVN: r188933

12 years agoi386.h: Fix typo.
Tristan Gingold [Mon, 25 Jun 2012 08:30:30 +0000 (08:30 +0000)]
i386.h: Fix typo.

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

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

From-SVN: r188931

12 years agowinnt.c (i386_pe_seh_end_prologue): Move code to ...
Tristan Gingold [Mon, 25 Jun 2012 08:25:43 +0000 (08:25 +0000)]
winnt.c (i386_pe_seh_end_prologue): Move code to ...

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.

From-SVN: r188928

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

* MAINTAINERS (Write After Approval): Update my email address.

From-SVN: r188927

12 years agore PR c++/53594 ([C++11] Spurious -Wuninitialized warning for member with NSDMI)
Jakub Jelinek [Mon, 25 Jun 2012 06:48:04 +0000 (08:48 +0200)]
re PR c++/53594 ([C++11] Spurious -Wuninitialized warning for member with NSDMI)

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.

From-SVN: r188925

12 years ago02_match: To...
Benjamin Kosnik [Mon, 25 Jun 2012 06:01:13 +0000 (06:01 +0000)]
02_match: To...

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.

From-SVN: r188923

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

From-SVN: r188922

12 years agooutput.h: (current_function_is_leaf...
Steven Bosscher [Sun, 24 Jun 2012 17:58:46 +0000 (17:58 +0000)]
output.h: (current_function_is_leaf...

* 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.

From-SVN: r188918

12 years agosystem.h: Poison ASM_BYTE_OP and ASM_OUTPUT_BYTE.
Steven Bosscher [Sun, 24 Jun 2012 13:22:29 +0000 (13:22 +0000)]
system.h: Poison ASM_BYTE_OP and ASM_OUTPUT_BYTE.

        * 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.

From-SVN: r188917

12 years agopr23943.c (size_t): Use compatible type-definition for LLP64 targets.
Kai Tietz [Sun, 24 Jun 2012 12:09:22 +0000 (14:09 +0200)]
pr23943.c (size_t): Use compatible type-definition for LLP64 targets.

        * gcc.target/i386/pr23943.c (size_t): Use compatible type-definition
        for LLP64 targets.
        * gcc.target/i386/pr38988.c: Likewise.

From-SVN: r188916

12 years agomips.c (mips_process_sync_loop): Add missing enum cast.
Richard Sandiford [Sun, 24 Jun 2012 10:26:33 +0000 (10:26 +0000)]
mips.c (mips_process_sync_loop): Add missing enum cast.

gcc/
* config/mips/mips.c (mips_process_sync_loop): Add missing
enum cast.

From-SVN: r188915

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

From-SVN: r188913

12 years agore PR target/53749 (ice in expand_shift_1)
Richard Henderson [Sat, 23 Jun 2012 16:42:19 +0000 (09:42 -0700)]
re PR target/53749 (ice in expand_shift_1)

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.

From-SVN: r188909

12 years agoi386: Pass ix86_expand_sse_unpack operands by value
Richard Henderson [Sat, 23 Jun 2012 16:42:07 +0000 (09:42 -0700)]
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.

From-SVN: r188908

12 years agoi386: Extract the guts of mulv16qi3 to ix86_expand_vecop_qihi
Richard Henderson [Sat, 23 Jun 2012 16:41:53 +0000 (09:41 -0700)]
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.

From-SVN: r188907

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

From-SVN: r188906

12 years agore PR fortran/47710 ([OOP] Improve ambiguity check for GENERIC TBP w/ PASS and NOPASS)
Janus Weil [Fri, 22 Jun 2012 21:05:51 +0000 (23:05 +0200)]
re PR fortran/47710 ([OOP] Improve ambiguity check for GENERIC TBP w/ PASS and NOPASS)

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.

From-SVN: r188902

12 years agors6000.md (define_attr "type"): New type popcnt.
Edmar Wienskoski [Fri, 22 Jun 2012 20:13:23 +0000 (20:13 +0000)]
rs6000.md (define_attr "type"): New type popcnt.

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.

From-SVN: r188901

12 years agoUpdate -mpreferred-stack-boundary=3 warning
H.J. Lu [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.

From-SVN: r188900

12 years agoAllow -mpreferred-stack-boundary=3 on x86-64
H.J. Lu [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.

From-SVN: r188893

12 years agodouble-int.c (double_int_multiple_of): New function.
Bill Schmidt [Fri, 22 Jun 2012 16:37:40 +0000 (16:37 +0000)]
double-int.c (double_int_multiple_of): New function.

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.

From-SVN: r188891

12 years ago[multiple changes]
Richard Guenther [Fri, 22 Jun 2012 12:29:33 +0000 (12:29 +0000)]
[multiple changes]

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.

From-SVN: r188885

12 years agors6000.c (rs6000_pre_atomic_barrier): Pass in and return mem.
Alan Modra [Fri, 22 Jun 2012 12:14:12 +0000 (21:44 +0930)]
rs6000.c (rs6000_pre_atomic_barrier): Pass in and return mem.

* 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.

From-SVN: r188884

12 years agogcov-iov.c: Include bconfig.h and system.h.
Richard Guenther [Fri, 22 Jun 2012 10:12:46 +0000 (10:12 +0000)]
gcov-iov.c: Include bconfig.h and system.h.

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

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

From-SVN: r188881

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

From-SVN: r188880

12 years agore PR gcov-profile/53744 (gcov version oscillates between 407* and 407p on branches)
Richard Guenther [Fri, 22 Jun 2012 08:07:47 +0000 (08:07 +0000)]
re PR gcov-profile/53744 (gcov version oscillates between 407* and 407p on branches)

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

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

From-SVN: r188876

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

From-SVN: r188875

12 years agore PR debug/53704 (ICE: in based_loc_descr, at dwarf2out.c:10027 after revision 188621)
Eric Botcazou [Fri, 22 Jun 2012 07:18:50 +0000 (07:18 +0000)]
re PR debug/53704 (ICE: in based_loc_descr, at dwarf2out.c:10027 after revision 188621)

PR debug/53704
* dwarf2out.c (gen_compile_unit_die): Use DW_LANG_Fortran90 as language
for GNU Fortran if in strict DWARF2 mode.

From-SVN: r188874

12 years agotree-ssa-live.c (remove_unused_scope_block_p): Remove again DECL_IGNORED_P non-reg...
Eric Botcazou [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.

* tree-ssa-live.c (remove_unused_scope_block_p): Remove again
DECL_IGNORED_P non-reg vars even if they are used.

From-SVN: r188872

12 years agore PR debug/53671 (Many guality test failures)
Alexandre Oliva [Fri, 22 Jun 2012 01:34:05 +0000 (01:34 +0000)]
re PR debug/53671 (Many guality test failures)

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.

From-SVN: r188871

12 years agore PR debug/53671 (Many guality test failures)
Alexandre Oliva [Fri, 22 Jun 2012 01:33:46 +0000 (01:33 +0000)]
re PR debug/53671 (Many guality test failures)

PR debug/53671
PR debug/49888
* var-tracking.c (vt_initialize): Record initial offset between
arg pointer and stack pointer.

From-SVN: r188870

12 years agore PR debug/53671 (Many guality test failures)
Alexandre Oliva [Fri, 22 Jun 2012 01:33:21 +0000 (01:33 +0000)]
re PR debug/53671 (Many guality test failures)

PR debug/53671
PR debug/49888
* var-tracking.c (vt_init_cfa_base): Drop redundant recording of
CFA base.

From-SVN: r188869

12 years agore PR debug/53671 (Many guality test failures)
Alexandre Oliva [Fri, 22 Jun 2012 01:30:16 +0000 (01:30 +0000)]
re PR debug/53671 (Many guality test failures)

PR debug/53671
PR debug/49888
* alias.c (memrefs_conflict_p): Improve handling of AND for
alignment.

From-SVN: r188868

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

From-SVN: r188867

12 years agore PR target/53682 (ICE in cselib_lookup (SEGV) on i586-linux-gnu)
Alexandre Oliva [Fri, 22 Jun 2012 01:29:28 +0000 (01:29 +0000)]
re PR target/53682 (ICE in cselib_lookup (SEGV) on i586-linux-gnu)

PR debug/53682
* cselib.c (promote_debug_loc): Don't crash on NULL argument.

From-SVN: r188866

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

From-SVN: r188865

12 years agore PR c/53702 (ICE with -Wall and nested functions and unused typedef)
Meador Inge [Thu, 21 Jun 2012 20:20:30 +0000 (20:20 +0000)]
re PR c/53702 (ICE with -Wall and nested functions and unused typedef)

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.

From-SVN: r188860

12 years agoMAINTAINERS (Write After Approval): Add myself.
Meador Inge [Thu, 21 Jun 2012 20:05:28 +0000 (20:05 +0000)]
MAINTAINERS (Write After Approval): Add myself.

2012-06-21  Meador Inge  <meadori@codesourcery.com>

* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r188859

12 years agoPR 39654 FTELL intrinsic function return type.
Janne Blomqvist [Thu, 21 Jun 2012 18:47:01 +0000 (21:47 +0300)]
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.

From-SVN: r188858

12 years agodwarf2out.c (is_cu_die, [...]): New functions.
Sterling Augustine [Thu, 21 Jun 2012 18:16:05 +0000 (18:16 +0000)]
dwarf2out.c (is_cu_die, [...]): New functions.

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.

Co-Authored-By: Cary Coutant <ccoutant@google.com>
From-SVN: r188857

12 years agoc-common.h (c_common_print_pch_checksum): Remove.
Steven Bosscher [Thu, 21 Jun 2012 16:53:45 +0000 (16:53 +0000)]
c-common.h (c_common_print_pch_checksum): Remove.

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.

From-SVN: r188856

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

From-SVN: r188853

12 years agore PR middle-end/53688 (191.fma3d in SPEC CPU 2000 miscompiled)
Michael Matz [Thu, 21 Jun 2012 12:18:23 +0000 (12:18 +0000)]
re PR middle-end/53688 (191.fma3d in SPEC CPU 2000 miscompiled)

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.

From-SVN: r188852

12 years agotree-inline.c (estimate_num_insns): Estimate call cost for tailcalls properly.
Richard Guenther [Thu, 21 Jun 2012 09:24:53 +0000 (09:24 +0000)]
tree-inline.c (estimate_num_insns): Estimate call cost for tailcalls properly.

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

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

From-SVN: r188849

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

From-SVN: r188847

12 years agoi386.md (SINCOS): New int iterator.
Uros Bizjak [Wed, 20 Jun 2012 19:28:07 +0000 (21:28 +0200)]
i386.md (SINCOS): New int iterator.

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.

From-SVN: r188843

12 years agoMakefile.tpl (check-target-libgomp-c++): New.
Jason Merrill [Wed, 20 Jun 2012 18:26:04 +0000 (14:26 -0400)]
Makefile.tpl (check-target-libgomp-c++): New.

* Makefile.tpl (check-target-libgomp-c++): New.
(check-target-libitm-c++): New.
* Makefile.def (c++): Add them.
* Makefile.in: Regenerate.

From-SVN: r188842

12 years agoAdd DECL_SOURCE_COLUMN.
Rüdiger Sonderfeld [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

From-SVN: r188841

12 years agoi386.md (<rounding_insn><mode>2): Macroize expander from {floor,ceil,btrunc}<mode...
Uros Bizjak [Wed, 20 Jun 2012 17:37:40 +0000 (19:37 +0200)]
i386.md (<rounding_insn><mode>2): Macroize expander from {floor,ceil,btrunc}<mode>2 using FIST_ROUNDING int iterator.

* 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.

From-SVN: r188840

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

From-SVN: r188838

12 years agoFix typo.
David Edelsohn [Wed, 20 Jun 2012 13:48:40 +0000 (09:48 -0400)]
Fix typo.

From-SVN: r188833

12 years agolocks.h (compare_and_swap): Use GCC atomic intrinsics.
David Edelsohn [Wed, 20 Jun 2012 13:02:56 +0000 (13:02 +0000)]
locks.h (compare_and_swap): Use GCC atomic intrinsics.

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.

Co-Authored-By: Alan Modra <amodra@gmail.com>
From-SVN: r188829

12 years agore PR tree-optimization/30318 (VRP does not create ANTI_RANGEs on overflow)
Richard Guenther [Wed, 20 Jun 2012 12:00:20 +0000 (12:00 +0000)]
re PR tree-optimization/30318 (VRP does not create ANTI_RANGEs on overflow)

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.

From-SVN: r188827

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

From-SVN: r188826

12 years agoi386.md (rounding_insn): New int attribute.
Uros Bizjak [Wed, 20 Jun 2012 10:25:17 +0000 (12:25 +0200)]
i386.md (rounding_insn): New int attribute.

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.

From-SVN: r188824

12 years agoarm.h (EMIT_EABI_ATTRIBUTE): Remove.
Steven Bosscher [Wed, 20 Jun 2012 10:18:08 +0000 (10:18 +0000)]
arm.h (EMIT_EABI_ATTRIBUTE): Remove.

* 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.

From-SVN: r188823

12 years agotree-vect-data-refs.c (vect_can_force_dr_alignment_p): Allow adjusting alignment...
Richard Guenther [Wed, 20 Jun 2012 09:54:35 +0000 (09:54 +0000)]
tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Allow adjusting alignment of user-aligned decls again.

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.

From-SVN: r188822

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

From-SVN: r188821

12 years agoClear hwcap_2 with Sun ld
Rainer Orth [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.

From-SVN: r188820

12 years agocris.c: Include cgraph.h.
Steven Bosscher [Wed, 20 Jun 2012 08:13:39 +0000 (08:13 +0000)]
cris.c: Include cgraph.h.

* config/cris/cris.c: Include cgraph.h.
(cris_option_override): Do not set non-existing flag_no_gcc_ident.

From-SVN: r188818

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

* gcc.dg/stack-usage-1.c: Remove dg-options line for sh targets
and add __sh__ case.

From-SVN: r188815

12 years agore PR c++/52637 (ICE producing debug info for c++11 code using local class as templat...
Jason Merrill [Wed, 20 Jun 2012 07:27:07 +0000 (03:27 -0400)]
re PR c++/52637 (ICE producing debug info for c++11 code using local class as template argument)

PR c++/52637
* g++.dg/debug/localclass1.C: New.

From-SVN: r188814

12 years agoparser.c (cp_parser_direct_declarator): Move virt-specifier parsing after late-specif...
Ville Voutilainen [Wed, 20 Jun 2012 01:18:08 +0000 (04:18 +0300)]
parser.c (cp_parser_direct_declarator): Move virt-specifier parsing after late-specified return type parsing.

* parser.c (cp_parser_direct_declarator): Move virt-specifier
parsing after late-specified return type parsing.

From-SVN: r188808

12 years agore PR c++/53651 ([C++11] seg fault when specifying using decltype(...)::method)
Jason Merrill [Wed, 20 Jun 2012 01:17:59 +0000 (21:17 -0400)]
re PR c++/53651 ([C++11] seg fault when specifying using decltype(...)::method)

PR c++/53651
* name-lookup.c (constructor_name_p): Don't try to look at the
name of a DECLTYPE_TYPE.

From-SVN: r188807

12 years agoemit-rtl.c (need_atomic_barrier_p): New function.
Maxim Kuvyrkov [Wed, 20 Jun 2012 01:05:25 +0000 (01:05 +0000)]
emit-rtl.c (need_atomic_barrier_p): New function.

* 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.

From-SVN: r188806

12 years agomips.c (mips_process_sync_loop): Emit cmp result only if it is used.
Maxim Kuvyrkov [Wed, 20 Jun 2012 01:01:00 +0000 (01:01 +0000)]
mips.c (mips_process_sync_loop): Emit cmp result only if it is used.

2012-06-19  Maxim Kuvyrkov  <maxim@codesourcery.com>

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

From-SVN: r188805

12 years agoconstraints.md (ZR): New constraint.
Tom de Vries [Wed, 20 Jun 2012 00:59:08 +0000 (00:59 +0000)]
constraints.md (ZR): New constraint.

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.

Co-Authored-By: Maxim Kuvyrkov <maxim@codesourcery.com>
From-SVN: r188804

12 years ago2012-06-19 Tom de Vries <vries@codesourcery.com>
Tom de Vries [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.

Co-Authored-By: Maxim Kuvyrkov <maxim@codesourcery.com>
From-SVN: r188803

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

From-SVN: r188802

12 years agostack-usage-1.c: Use sh*-*-* instead of sh-*-*.
Kaz Kojima [Tue, 19 Jun 2012 22:29:24 +0000 (22:29 +0000)]
stack-usage-1.c: Use sh*-*-* instead of sh-*-*.

* gcc.dg/stack-usage-1.c: Use sh*-*-* instead of sh-*-*.

From-SVN: r188796

12 years agospe.md (*mov_si<mode>_e500_subreg0): Rename to mov_si<mode>_e500_subreg0.
Joseph Myers [Tue, 19 Jun 2012 22:08:49 +0000 (23:08 +0100)]
spe.md (*mov_si<mode>_e500_subreg0): Rename to mov_si<mode>_e500_subreg0.

* 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.

From-SVN: r188795

12 years agoSet cache parameters for alpha
Richard Henderson [Tue, 19 Jun 2012 21:08:03 +0000 (14:08 -0700)]
Set cache parameters for alpha

From-SVN: r188794

12 years agotm.texi.in (TARGET_OBJC_DECLARE_UNRESOLVED_CLASS_REFERENCE, [...]): Add @hooks.
Steven Bosscher [Tue, 19 Jun 2012 20:44:47 +0000 (20:44 +0000)]
tm.texi.in (TARGET_OBJC_DECLARE_UNRESOLVED_CLASS_REFERENCE, [...]): Add @hooks.

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.

From-SVN: r188793

12 years agocheck_makefile_deps.sh: Look for c-common.o in c-family/.
Steven Bosscher [Tue, 19 Jun 2012 20:01:23 +0000 (20:01 +0000)]
check_makefile_deps.sh: Look for c-common.o in c-family/.

* 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.

From-SVN: r188792

12 years agotarget.def (output_ident): New hook.
Steven Bosscher [Tue, 19 Jun 2012 19:55:33 +0000 (19:55 +0000)]
target.def (output_ident): New hook.

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.

From-SVN: r188791

12 years agoi386.md (FIST_ROUNDING): New int iterator.
Uros Bizjak [Tue, 19 Jun 2012 18:24:26 +0000 (20:24 +0200)]
i386.md (FIST_ROUNDING): New int iterator.

* 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.

From-SVN: r188789

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

From-SVN: r188788