platform/upstream/gcc.git
10 years agoira.c (update_equiv_regs): Only call set_paradoxical_subreg for non-debug insns.
Richard Sandiford [Sun, 8 Sep 2013 18:15:49 +0000 (18:15 +0000)]
ira.c (update_equiv_regs): Only call set_paradoxical_subreg for non-debug insns.

gcc/
* ira.c (update_equiv_regs): Only call set_paradoxical_subreg
for non-debug insns.
* lra.c (new_insn_reg): Take the containing insn as a parameter.
Only modify lra_reg_info[].biggest_mode if it's non-debug insn.
(collect_non_operand_hard_regs, add_regs_to_insn_regno_info): Update
accordingly.

gcc/testsuite/
* g++.dg/debug/ra1.C: New test.

From-SVN: r202369

10 years agodevirt-11.C: Update template.
Jan Hubicka [Sun, 8 Sep 2013 16:42:21 +0000 (18:42 +0200)]
devirt-11.C: Update template.

* testsuite/g++.dg/ipa/devirt-11.C: Update template.
* testsuite/g++.dg/ipa/devirt-16.C: New testcase.
* testsuite/g++.dg/ipa/devirt-17.C: New testcase.
* testsuite/g++.dg/ipa/devirt-18.C: New testcase.

* cgraphunit.c (walk_polymorphic_call_targets): Permit 0 possible
targets and devirtualize to BUILT_IN_UNREACHABLE.
* timevar.def (TV_IPA_UNREACHABLE): New timevar.
* ipa.c (walk_polymorphic_call_targets): New function.
(symtab_remove_unreachable_nodes): Use it; do not keep all virtual
functions; use the new timevar.
* ipa-devirt.c (maybe_record_node): Do not insert static nodes that
was removed from the program.
(record_binfo): If BINFO corresponds to an anonymous namespace, we may
not consider it in the walk when its vtable is dead.
(possible_polymorphic_call_targets_1): Pass anonymous flag to
record_binfo.
(devirt_variable_node_removal_hook): New function.
(possible_polymorphic_call_targets): Also register
devirt_variable_node_removal_hook.
(ipa_devirt): Do not do non-speculative devirtualization.
(gate_ipa_devirt): One execute if devirtualizing speculatively.

From-SVN: r202368

10 years agocgraph.h (varpool_node_hook, [...]): Declare.
Jan Hubicka [Sun, 8 Sep 2013 16:18:04 +0000 (18:18 +0200)]
cgraph.h (varpool_node_hook, [...]): Declare.

* cgraph.h (varpool_node_hook, varpool_node_hook_list,
varpool_add_node_removal_hook, varpool_add_variable_insertion_hook,
varpool_remove_variable_insertion_hook): Declare.
* varpool.c (varpool_node_hook_list): New structure.
(first_varpool_node_removal_hook,
first_varpool_variable_insertion_hook): New variables.
(varpool_add_node_removal_hook, varpool_remove_node_removal_hook,
varpool_call_node_removal_hooks, varpool_add_variable_insertion_hook,
varpool_remove_variable_insertion_hook,
varpool_call_variable_insertion_hooks): New functions.
(varpool_remove_node): Use it.

From-SVN: r202367

10 years agore PR c++/54941 (do not print line/column numbers for <built-in>:0:0)
Paolo Carlini [Sun, 8 Sep 2013 14:30:27 +0000 (14:30 +0000)]
re PR c++/54941 (do not print line/column numbers for <built-in>:0:0)

2013-09-08  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/54941
* diagnostic.c (diagnostic_build_prefix): When s.file is
"<built-in>" don't output line and column numbers.

/testsuite
2013-09-08  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/54941
* g++.dg/overload/new1.C: Adjust.

From-SVN: r202366

10 years agoAdd missing ChangeLog entry for r199969.
Tom de Vries [Sun, 8 Sep 2013 08:17:47 +0000 (08:17 +0000)]
Add missing ChangeLog entry for r199969.

From-SVN: r202365

10 years agoc-common.c (same_scalar_type_ignoring_signedness): Delete.
Joern Rennecke [Sun, 8 Sep 2013 06:16:24 +0000 (06:16 +0000)]
c-common.c (same_scalar_type_ignoring_signedness): Delete.

gcc/c-family:
        * c-common.c (same_scalar_type_ignoring_signedness): Delete.
        (vector_types_compatible_elements_p): New function.
        * c-common.h: (same_scalar_type_ignoring_signedness): Delete
declaration.
        (vector_types_compatible_elements_p): Declare.
gcc/c:
        * c-typeck.c (build_binary_op): Use vector_types_compatible_elements_p.
gcc/cp:
        * typeck.c (cp_build_binary_op): Use vector_types_compatible_elements_p.
gcc/testsuite:
        * c-c++-common/opaque-vector.c: New test.

From-SVN: r202364

10 years agoDaily bump.
GCC Administrator [Sun, 8 Sep 2013 00:16:31 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r202363

10 years agoTestcase for PR58282
Tom de Vries [Sat, 7 Sep 2013 23:31:58 +0000 (23:31 +0000)]
Testcase for PR58282

2013-09-08  Tom de Vries  <tom@codesourcery.com>

PR c++/58282
* g++.dg/tm/noexcept-6.C: New test.

From-SVN: r202360

10 years agoHandle noexcept on transactions with -fno-exceptions
Tom de Vries [Sat, 7 Sep 2013 23:31:48 +0000 (23:31 +0000)]
Handle noexcept on transactions with -fno-exceptions

2013-09-08  Tom de Vries  <tom@codesourcery.com>

PR c++/58282
* except.c (build_must_not_throw_expr): Handle
flag_exceptions.

From-SVN: r202359

10 years agore PR libstdc++/58341 (Doc conflicts with standard on forbidden range of `result...
Paolo Carlini [Sat, 7 Sep 2013 22:57:49 +0000 (22:57 +0000)]
re PR libstdc++/58341 (Doc conflicts with standard on forbidden range of `result` in copy_backward())

2013-09-07  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/58341
* include/bits/stl_algobase.h (copy_backward): Fix documentation
per DR 1206.

From-SVN: r202357

10 years agoMakefile.am: Remove #if ENABLE_VTABLE_VERIFY check around definition of check-am:.
Paolo Carlini [Sat, 7 Sep 2013 21:35:38 +0000 (21:35 +0000)]
Makefile.am: Remove #if ENABLE_VTABLE_VERIFY check around definition of check-am:.

2013-09-07  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/Makefile.am: Remove #if ENABLE_VTABLE_VERIFY check around
definition of check-am:.
* testsuite/Makefile.in: Regenerate.

From-SVN: r202356

10 years agocgraphunit.c (expand_thunk): Get body before touching arguments.
Jan Hubicka [Sat, 7 Sep 2013 07:48:59 +0000 (09:48 +0200)]
cgraphunit.c (expand_thunk): Get body before touching arguments.

* cgraphunit.c (expand_thunk): Get body before touching arguments.
* lto-streamer-out.c: Stream thunks, too.
* lto-streamer-in.c (input_function): Pop cfun here
(lto_read_body): Instead of here.

From-SVN: r202352

10 years agoDaily bump.
GCC Administrator [Sat, 7 Sep 2013 00:16:36 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r202350

10 years agoAdd documentation for the options --enable-vtable-verify,
Caroline Tice [Fri, 6 Sep 2013 17:56:35 +0000 (10:56 -0700)]
Add documentation for the options --enable-vtable-verify,

--disable-vtable-verify and --disable-libvtv.  Also
update configure and make files in libvtv not to use
--enable-vtable-verify.

From-SVN: r202346

10 years agotree-ssa-dom.c (cprop_into_successor_phis): Also propagate edge implied equivalences...
Jeff Law [Fri, 6 Sep 2013 17:41:48 +0000 (11:41 -0600)]
tree-ssa-dom.c (cprop_into_successor_phis): Also propagate edge implied equivalences into successor phis.

        * tree-ssa-dom.c (cprop_into_successor_phis): Also propagate
        edge implied equivalences into successor phis.

From-SVN: r202345

10 years agoresource.c (mark_referenced_resources): Handle COND_EXEC.
Joern Rennecke [Fri, 6 Sep 2013 17:37:50 +0000 (18:37 +0100)]
resource.c (mark_referenced_resources): Handle COND_EXEC.

gcc:
* resource.c (mark_referenced_resources): Handle COND_EXEC.
gcc/testsuite:
* gcc.target/arc/cond-set-use.c: New test.

From-SVN: r202344

10 years agoresource.c (mark_target_live_regs): Compute resources taking into account if a call...
Claudiu Zissulescu [Fri, 6 Sep 2013 17:27:54 +0000 (19:27 +0200)]
resource.c (mark_target_live_regs): Compute resources taking into account if a call is predicated or not.

2013-09-06 Claudiu Zissulescu <claziss@synopsys.com>

        * resource.c (mark_target_live_regs): Compute resources taking
        into account if a call is predicated or not.

From-SVN: r202343

10 years agotoplev.c (output_stack_usage): Be prepared for suffixes created by the compiler in...
Eric Botcazou [Fri, 6 Sep 2013 15:28:02 +0000 (15:28 +0000)]
toplev.c (output_stack_usage): Be prepared for suffixes created by the compiler in the function names.

* toplev.c (output_stack_usage): Be prepared for suffixes created by
the compiler in the function names.

From-SVN: r202339

10 years agore PR middle-end/58094 (IPA devirt testsuite errors)
Jan Hubicka [Fri, 6 Sep 2013 15:02:03 +0000 (17:02 +0200)]
re PR middle-end/58094 (IPA devirt testsuite errors)

PR middle-end/58094
* ipa-inline.c (has_caller_p): New function.
(want_inline_function_to_all_callers_p): Use it.
(sum_callers, inline_to_all_callers): Break out from ...
(ipa_inline): ... here.

From-SVN: r202337

10 years agoi386.c (ix86_hard_regno_mode_ok): AVX modes are valid only when AVX is enabled.
Jan Hubicka [Fri, 6 Sep 2013 14:39:17 +0000 (16:39 +0200)]
i386.c (ix86_hard_regno_mode_ok): AVX modes are valid only when AVX is enabled.

* i386.c (ix86_hard_regno_mode_ok): AVX modes are valid only when
AVX is enabled.

From-SVN: r202335

10 years ago[AArch64] Use neon_<ldm,stm>_2 where appropriate as "type".
James Greenhalgh [Fri, 6 Sep 2013 13:59:47 +0000 (13:59 +0000)]
[AArch64] Use neon_<ldm,stm>_2 where appropriate as "type".

gcc/
* config/aarch64/aarch64.md
(*movtf_aarch64): Use neon_<ls>dm_2 as type where v8type
is fpsimd_<load/store>2.
(load_pair<mode>): Likewise.
(store_pair<mode>): Likewise.

From-SVN: r202334

10 years ago[AArch64, ARM] Introduce "mrs" type attribute.
James Greenhalgh [Fri, 6 Sep 2013 13:58:09 +0000 (13:58 +0000)]
[AArch64, ARM] Introduce "mrs" type attribute.

gcc/
* config/arm/types.md (type): Add "mrs" type.
* config/aarch64/aarch64.md
(aarch64_load_tp_hard): Make type "mrs".
* config/arm/arm.md
(load_tp_hard): Make type "mrs".
* config/arm/cortex-a15.md: Update with new attributes.
* config/arm/cortex-a5.md: Update with new attributes.
* config/arm/cortex-a53.md: Update with new attributes.
* config/arm/cortex-a7.md: Update with new attributes.
* config/arm/cortex-a8.md: Update with new attributes.
* config/arm/cortex-a9.md: Update with new attributes.
* config/arm/cortex-m4.md: Update with new attributes.
* config/arm/cortex-r4.md: Update with new attributes.
* config/arm/fa526.md: Update with new attributes.
* config/arm/fa606te.md: Update with new attributes.
* config/arm/fa626te.md: Update with new attributes.
* config/arm/fa726te.md: Update with new attributes.

From-SVN: r202333

10 years ago[AArch64, ARM] Use "multiple" for type, where more than one instruction is used for...
James Greenhalgh [Fri, 6 Sep 2013 13:56:01 +0000 (13:56 +0000)]
[AArch64, ARM] Use "multiple" for type, where more than one instruction is used for a move

gcc/
* config/aarch64/aarch64.md
(*movti_aarch64): Use "multiple" for type where v8type is "move2".
(*movtf_aarch64): Likewise.
* config/arm/arm.md
(thumb1_movdi_insn): Use "multiple" for type where more than one
instruction is used for a move.
(*arm32_movhf): Likewise.
(*thumb_movdf_insn): Likewise.

From-SVN: r202332

10 years ago[AArch64, ARM] Rename the FCPYS type to FMOV
James Greenhalgh [Fri, 6 Sep 2013 13:53:51 +0000 (13:53 +0000)]
[AArch64, ARM] Rename the FCPYS type to FMOV

gcc/
* config/arm/types.md (type): Rename fcpys to fmov.
* config/arm/vfp.md
(*arm_movsi_vfp): Rename type fcpys as fmov.
(*thumb2_movsi_vfp): Likewise
(*movhf_vfp_neon): Likewise
(*movhf_vfp): Likewise
(*movsf_vfp): Likewise
(*thumb2_movsf_vfp): Likewise
(*movsfcc_vfp): Likewise
(*thumb2_movsfcc_vfp): Likewise
* config/aarch64/aarch64-simd.md
(move_lo_quad_<mode>): Replace type mov_reg with fmovs.
* config/aarch64/aarch64.md
(*movsi_aarch64): Replace type mov_reg with fmovs.
(*movdi_aarch64): Likewise
(*movsf_aarch64): Likewise
(*movdf_aarch64): Likewise
* config/arm/arm.c
(cortexa7_older_only): Rename TYPE_FCPYS to TYPE_FMOV.
* config/arm/iwmmxt.md
(*iwmmxt_movsi_insn): Rename type fcpys as fmov.
* config/arm/arm1020e.md: Update with new attributes.
* config/arm/cortex-a15-neon.md: Update with new attributes.
* config/arm/cortex-a5.md: Update with new attributes.
* config/arm/cortex-a53.md: Update with new attributes.
* config/arm/cortex-a7.md: Update with new attributes.
* config/arm/cortex-a8-neon.md: Update with new attributes.
* config/arm/cortex-a9.md: Update with new attributes.
* config/arm/cortex-m4-fpu.md: Update with new attributes.
* config/arm/cortex-r4f.md: Update with new attributes.
* config/arm/marvell-pj4.md: Update with new attributes.
* config/arm/vfp11.md: Update with new attributes.

From-SVN: r202331

10 years ago[Patch AArch64] Fix types for some multiply instructions.
James Greenhalgh [Fri, 6 Sep 2013 13:42:12 +0000 (13:42 +0000)]
[Patch AArch64] Fix types for some multiply instructions.

gcc/
* config/aarch64/aarch64.md
(*madd<mode>): Fix type attribute.
(*maddsi_uxtw): Likewise.
(*msub<mode>): Likewise.
(*msubsi_uxtw): Likewise.
(<su_optab>maddsidi4): Likewise.
(<su_optab>msubsidi4): Likewise.

From-SVN: r202330

10 years ago[Patch ARM AARCH64] Split "type" attributes: fdiv
James Greenhalgh [Fri, 6 Sep 2013 13:39:57 +0000 (13:39 +0000)]
[Patch ARM AARCH64] Split "type" attributes: fdiv

gcc/
* config/arm/types.md: Split fdiv<sd> as fsqrt<sd>, fdiv<sd>.
* config/arm/arm.md (core_cycles): Remove fdiv.
* config/arm/vfp.md:
(*sqrtsf2_vfp): Update for attribute changes.
(*sqrtdf2_vfp): Likewise.
* config/aarch64/aarch64.md:
(sqrt<mode>2): Update for attribute changes.
* config/arm/arm1020e.md: Update with new attributes.
* config/arm/cortex-a15-neon.md: Update with new attributes.
* config/arm/cortex-a5.md: Update with new attributes.
* config/arm/cortex-a53.md: Update with new attributes.
* config/arm/cortex-a7.md: Update with new attributes.
* config/arm/cortex-a8-neon.md: Update with new attributes.
* config/arm/cortex-a9.md: Update with new attributes.
* config/arm/cortex-m4-fpu.md: Update with new attributes.
* config/arm/cortex-r4f.md: Update with new attributes.
* config/arm/marvell-pj4.md: Update with new attributes.
* config/arm/vfp11.md: Update with new attributes.

From-SVN: r202329

10 years ago[ARM,AARCH64] Insn type reclassification. Split f_cvt type.
James Greenhalgh [Fri, 6 Sep 2013 13:37:56 +0000 (13:37 +0000)]
[ARM,AARCH64] Insn type reclassification. Split f_cvt type.

gcc/
* config/arm/types.md
(type): Split f_cvt as f_cvt, f_cvtf2i, f_cvti2f.
* config/aarch64/aarch64.md
(l<fcvt_pattern><su_optab><GPF:mode><GPI:mode>2): Update with
new attributes.
(fix_trunc<GPF:mode><GPI:mode>2): Likewise.
(fixuns_trunc<GPF:mode><GPI:mode>2): Likewise.
(float<GPI:mode><GPF:mode>2): Likewise.
* config/arm/vfp.md
(*truncsisf2_vfp): Update with new attributes.
(*truncsidf2_vfp): Likewise.
(fixuns_truncsfsi2): Likewise.
(fixuns_truncdfsi2): Likewise.
(*floatsisf2_vfp): Likewise.
(*floatsidf2_vfp): Likewise.
(floatunssisf2): Likewise.
(floatunssidf2): Likewise.
(*combine_vcvt_f32_<FCVTI32typename>): Likewise.
(*combine_vcvt_f64_<FCVTI32typename>): Likewise.
* config/arm/arm1020e.md: Update with new attributes.
* config/arm/cortex-a15-neon.md: Update with new attributes.
* config/arm/cortex-a5.md: Update with new attributes.
* config/arm/cortex-a53.md: Update with new attributes.
* config/arm/cortex-a7.md: Update with new attributes.
* config/arm/cortex-a8-neon.md: Update with new attributes.
* config/arm/cortex-a9.md: Update with new attributes.
* config/arm/cortex-m4-fpu.md: Update with new attributes.
* config/arm/cortex-r4f.md: Update with new attributes.
* config/arm/marvell-pj4.md: Update with new attributes.
* config/arm/vfp11.md: Update with new attributes.

From-SVN: r202328

10 years ago[AArch64] Fix types of second parameter to qtbl/qtbx intrinsics
James Greenhalgh [Fri, 6 Sep 2013 13:34:41 +0000 (13:34 +0000)]
[AArch64] Fix types of second parameter to qtbl/qtbx intrinsics

gcc/
* config/aarch64/arm_neon.h
(vqtbl<1,2,3,4><q>_s8): Fix control vector parameter type.
(vqtbx<1,2,3,4><q>_s8): Likewise.

gcc/testsuite/
* gcc.target/aarch64/table-intrinsics.c
(qtbl_tests8_< ,2,3,4>): Fix control vector parameter type.
(qtb_tests8_< ,2,3,4>): Likewise.
(qtblq_tests8_< ,2,3,4>): Likewise.
(qtbxq_tests8_< ,2,3,4>): Likewise.

From-SVN: r202327

10 years ago[Patch ARM] Add "type" attribute to Everything!
James Greenhalgh [Fri, 6 Sep 2013 13:21:38 +0000 (13:21 +0000)]
[Patch ARM] Add "type" attribute to Everything!

gcc/
* config/arm/types.md: Add "no_insn", "multiple" and "untyped"
types.
* config/arm/arm-fixed.md: Add type attribute to all insn
patterns.
* config/arm/vfp.md: Add type attribute to all insn patterns.
* config/arm/arm.md: Add type attribute to all insn patterns.
* config/arm/thumb2.md: Add type attribute to all insn patterns.
* config/arm/arm1020e.md: Update with new attributes.
* config/arm/arm1026ejs.md: Update with new attributes.
* config/arm/arm1136jfs.md: Update with new attributes.
* config/arm/arm926ejs.md: Update with new attributes.
* config/arm/cortex-a15.md: Update with new attributes.
* config/arm/cortex-a5.md: Update with new attributes.
* config/arm/cortex-a53.md: Update with new attributes.
* config/arm/cortex-a7.md: Update with new attributes.
* config/arm/cortex-a8.md: Update with new attributes.
* config/arm/cortex-a9.md: Update with new attributes.
* config/arm/cortex-m4.md: Update with new attributes.
* config/arm/cortex-r4.md: Update with new attributes.
* config/arm/fa526.md: Update with new attributes.
* config/arm/fa606te.md: Update with new attributes.
* config/arm/fa626te.md: Update with new attributes.
* config/arm/fa726te.md: Update with new attributes.

From-SVN: r202323

10 years ago[Patch AArch64] Fix register constraints for lane intrinsics.
James Greenhalgh [Fri, 6 Sep 2013 11:02:52 +0000 (11:02 +0000)]
[Patch AArch64] Fix register constraints for lane intrinsics.

gcc/
* config/aarch64/aarch64-simd.md
(aarch64_sqdml<SBINQOPS:as>l_n<mode>_internal): Use
<vwx> iterator to ensure correct register choice.
(aarch64_sqdml<SBINQOPS:as>l2_n<mode>_internal): Likewise.
(aarch64_sqdmull_n<mode>): Likewise.
(aarch64_sqdmull2_n<mode>_internal): Likewise.
* config/aarch64/arm_neon.h
(vml<as><q>_lane<q>_<su>16): Use 'x' constraint for element vector.
(vml<as><q>_n_<su>16): Likewise.
(vml<as>l_high_lane<q>_<su>16): Likewise.
(vml<as>l_high_n_<su>16): Likewise.
(vml<as>l_lane<q>_<su>16): Likewise.
(vml<as>l_n_<su>16): Likewise.
(vmul<q>_lane<q>_<su>16): Likewise.
(vmul<q>_n_<su>16): Likewise.
(vmull_lane<q>_<su>16): Likewise.
(vmull_n_<su>16): Likewise.
(vmull_high_lane<q>_<su>16): Likewise.
(vmull_high_n_<su>16): Likewise.
(vqrdmulh<q>_n_s16): Likewise.

From-SVN: r202322

10 years agoarm_neon.h: Fix all vdup<bhsd_lane<q> intrinsics to have the correct lane parameter.
Tejas Belagod [Fri, 6 Sep 2013 10:57:14 +0000 (11:57 +0100)]
arm_neon.h: Fix all vdup<bhsd_lane<q> intrinsics to have the correct lane parameter.

2013-09-06  Tejas Belagod  <tejas.belagod@arm.com>

gcc/
* config/aarch64/arm_neon.h: Fix all vdup<bhsd_lane<q> intrinsics to
have the correct lane parameter.

From-SVN: r202321

10 years agocfganal.c (control_dependences::~control_dependences): Properly free all of the vector.
Richard Biener [Fri, 6 Sep 2013 10:38:08 +0000 (10:38 +0000)]
cfganal.c (control_dependences::~control_dependences): Properly free all of the vector.

2013-09-06  Richard Biener <rguenther@suse.de>

* cfganal.c (control_dependences::~control_dependences):
Properly free all of the vector.

From-SVN: r202320

10 years agoMakefile.in (tree-sra.o): Update dependencies.
Jan Hubicka [Fri, 6 Sep 2013 10:36:44 +0000 (10:36 +0000)]
Makefile.in (tree-sra.o): Update dependencies.

* Makefile.in (tree-sra.o): Update dependencies.
* tree-sra.c: Include ipa-utils.h
(scan_function): Use recursive_call_p.
(has_caller_p): New function.
(cgraph_for_node_and_aliases): Count also callers of aliases.

From-SVN: r202319

10 years agore PR target/58269 (ICE when building libobjc on x86_64-apple-darwin* after revision...
Kirill Yukhin [Fri, 6 Sep 2013 10:36:30 +0000 (10:36 +0000)]
re PR target/58269 (ICE when building libobjc on x86_64-apple-darwin*  after revision 201915)

PR target/58269
* config/i386/i386.c (ix86_conditional_register_usage):
Proper initialize extended SSE registers.

From-SVN: r202318

10 years agore PR tree-optimization/58311 (ICE: SIGSEGV in hash_table::find_slot_with_hash()...
Jan Hubicka [Fri, 6 Sep 2013 10:33:48 +0000 (12:33 +0200)]
re PR tree-optimization/58311 (ICE: SIGSEGV in hash_table::find_slot_with_hash() with -fdevirtualize)

PR tree-optimization/58311
* ipa-devirt.c (gate_ipa_devirt): Only execute when optimizing.

From-SVN: r202317

10 years agore PR middle-end/58094 (IPA devirt testsuite errors)
Jan Hubicka [Fri, 6 Sep 2013 10:13:37 +0000 (12:13 +0200)]
re PR middle-end/58094 (IPA devirt testsuite errors)

PR middle-end/58094
* cgraph.h (symtab_semantically_equivalent_p): Declare.
* tree-tailcall.c: Include ipa-utils.h.
(find_tail_calls): Use it.
* ipa-pure-const.c (check_call): Likewise.
* ipa-utils.c (recursive_call_p): New function.
* ipa-utils.h (recursive_call_p): Dclare.
* symtab.c (symtab_nonoverwritable_alias): Fix formatting.
(symtab_semantically_equivalent_p): New function.
* Makefile.in (tree-tailcall.o): Update dependencies.

From-SVN: r202316

10 years agoipa-split.c (split_function): Set DECL_NO_INLINE_WARNING_P on the non-inlinable part.
Eric Botcazou [Fri, 6 Sep 2013 09:35:23 +0000 (09:35 +0000)]
ipa-split.c (split_function): Set DECL_NO_INLINE_WARNING_P on the non-inlinable part.

* ipa-split.c (split_function): Set DECL_NO_INLINE_WARNING_P on the
non-inlinable part.

From-SVN: r202315

10 years agoipa-pta-14.c (scan-ipa-dump): Don't expect NULL in foo.result set.
Joern Rennecke [Fri, 6 Sep 2013 09:31:12 +0000 (09:31 +0000)]
ipa-pta-14.c (scan-ipa-dump): Don't expect NULL in foo.result set.

        * gcc.dg/ipa/ipa-pta-14.c (scan-ipa-dump) [keeps_null_pointer_checks]:
        Don't expect NULL in foo.result set.
        * gcc.dg/tree-ssa/pta-escape-1.c (scan-tree-dump): Don't expect NULL
        in ESCAPED set.
        * gcc.dg/tree-ssa/pta-escape-2.c: Likewise.
        * gcc.dg/tree-ssa/pta-escape-3.c: Likewise.

From-SVN: r202314

10 years agolto-streamer.h (lto_global_var_decls): Remove.
Richard Biener [Fri, 6 Sep 2013 09:06:25 +0000 (09:06 +0000)]
lto-streamer.h (lto_global_var_decls): Remove.

2013-09-06  Richard Biener  <rguenther@suse.de>

* lto-streamer.h (lto_global_var_decls): Remove.
* Makefile.in (OBJS): Remove lto-symtab.o.
(lto-symtab.o): Remove.
(GTFILES): Remove lto-symtab.c
* lto-symtab.c: Move to lto/

lto/
* lto-symtab.c: Move from gcc/
* lto.h: Include vec.h.
(lto_global_var_decls): Declare.
* lto.c (lto_global_var_decls): Move definition here.
* Make-lang.in (LTO_OBJS): Add lto-symtab.o.
(lto-symtab.o): Add.
* config-lang.in (gtfiles): Add lto.h.

From-SVN: r202313

10 years ago2013-09-06 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
Andreas Krebbel [Fri, 6 Sep 2013 07:55:35 +0000 (07:55 +0000)]
2013-09-06  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* config/s390/s390.md (UNSPEC_FPINT_FLOOR, UNSPEC_FPINT_BTRUNC)
(UNSPEC_FPINT_ROUND, UNSPEC_FPINT_CEIL, UNSPEC_FPINT_NEARBYINT)
(UNSPEC_FPINT_RINT): New constant definitions.
(FPINT, fpint_name, fpint_roundingmode): New integer iterator
definition with 2 attributes.
("<FPINT:fpint_name><BFP:mode>2", "rint<BFP:mode>2")
("<FPINT:fpint_name><DFP:mode>2", "rint<DFP:mode>2"): New pattern
definitions.

2013-09-06  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* gcc.target/s390/nearestint-1.c: New testcase.

From-SVN: r202312

10 years agos390.md: Add "bcr_flush" value to mnemonic attribute.
Andreas Krebbel [Fri, 6 Sep 2013 07:54:05 +0000 (07:54 +0000)]
s390.md: Add "bcr_flush" value to mnemonic attribute.

2013-09-06  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* config/s390/s390.md: Add "bcr_flush" value to mnemonic
attribute.
("mem_thread_fence_1"): Use bcr 14,0 for z196 and later.
Set the mnemonic attribute to "bcr_flush".  Set the "z196prop"
attribute to "z196_alone".
* config/s390/2827.md: Add "bcr_flush" to "ooo_groupalone" and
"zEC12_simple".

From-SVN: r202311

10 years agobasic-block.h (class control_dependences): New.
Richard Biener [Fri, 6 Sep 2013 07:24:11 +0000 (07:24 +0000)]
basic-block.h (class control_dependences): New.

2013-09-06  Richard Biener  <rguenther@suse.de>

* basic-block.h (class control_dependences): New.
* tree-ssa-dce.c (control_dependence_map): Remove.
(cd): New global.
(EXECUTE_IF_CONTROL_DEPENDENT): Remove.
(set_control_dependence_map_bit, clear_control_dependence_bitmap,
find_pdom, find_control_dependence, find_all_control_dependences):
Move to cfganal.c.
(mark_control_dependent_edges_necessary, find_obviously_necessary_stmts,
propagate_necessity, tree_dce_init, tree_dce_done,
perform_tree_ssa_dce): Adjust.
* cfganal.c (set_control_dependence_map_bit,
clear_control_dependence_bitmap, find_pdom, find_control_dependence,
find_all_control_dependences): Move from tree-ssa-dce.c and
implement as methods of control_dependences class.
(control_dependences::control_dependences): New.
(control_dependences::~control_dependences): Likewise.
(control_dependences::get_edges_dependent_on): Likewise.
(control_dependences::get_edge): Likewise.

From-SVN: r202309

10 years agoDaily bump.
GCC Administrator [Fri, 6 Sep 2013 00:16:51 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r202305

10 years agotree.c (types_same_for_odr): Drop overactive check.
Jan Hubicka [Thu, 5 Sep 2013 23:25:48 +0000 (01:25 +0200)]
tree.c (types_same_for_odr): Drop overactive check.

* tree.c (types_same_for_odr): Drop overactive check.
* ipa-devirt.c (hash_type_name): Likewise.

From-SVN: r202302

10 years ago20101011-1.c [__arc__] (DO_TEST): Define as 0.
Joern Rennecke [Thu, 5 Sep 2013 23:23:53 +0000 (23:23 +0000)]
20101011-1.c [__arc__] (DO_TEST): Define as 0.

        * gcc.c-torture/execute/20101011-1.c [__arc__] (DO_TEST): Define as 0.
        * testsuite/gcc.target/arc: New directory.
        * gcc.dg/torture/pr37868.c: Also skip for arc*-*-*.
        * gcc.dg/stack-usage-1.c [__arc__] (SIZE): Define.
        * testsuite/gcc.dg/torture/stackalign/builtin-apply-2.c
        [__arc__] (STACK_ARGUMENTS_SIZE): Set to 0.
        * testsuite/gcc.dg/builtin-apply2.c
        [__arc__] (STACK_ARGUMENTS_SIZE): Set to 0.

Co-Authored-By: Vineet Gupta <Vineet.Gupta@synopsys.com>
From-SVN: r202301

10 years agocgraphunit.c (walk_polymorphic_call_targets): Break out from ...
Jan Hubicka [Thu, 5 Sep 2013 23:06:10 +0000 (01:06 +0200)]
cgraphunit.c (walk_polymorphic_call_targets): Break out from ...

* cgraphunit.c (walk_polymorphic_call_targets): Break out from ...
(analyze_functions): ... here.

From-SVN: r202299

10 years agore PR c++/58201 (Undefined reference to `B::B(void const**)')
Jan Hubicka [Thu, 5 Sep 2013 23:04:11 +0000 (01:04 +0200)]
re PR c++/58201 (Undefined reference to `B::B(void const**)')

PR middle-end/58201
* cgraphunit.c (analyze_functions): Clear AUX fields
after processing; initialize assembler name has.

* g++.dg/torture/pr58201_0.C: New testcase.
* g++.dg/torture/pr58201_1.C: New testcase.
* g++.dg/torture/pr58201.h: New testcase.

From-SVN: r202298

10 years ago* gcc.dg/autopar/pr49960.c: Disable partial inlining
Jan Hubicka [Thu, 5 Sep 2013 22:48:48 +0000 (00:48 +0200)]
* gcc.dg/autopar/pr49960.c: Disable partial inlining

From-SVN: r202297

10 years agotree-ssa-threadedge.c (thread_around_empty_blocks): Renamed from thread_around_empty_...
Jeff Law [Thu, 5 Sep 2013 20:28:36 +0000 (14:28 -0600)]
tree-ssa-threadedge.c (thread_around_empty_blocks): Renamed from thread_around_empty_block.

       * tree-ssa-threadedge.c (thread_around_empty_blocks): Renamed
       from thread_around_empty_block.  Record threading path into PATH.
       Recurse if threading through the initial block is successful.
       (thread_across_edge): Corresponding changes to slightly simplify.

From-SVN: r202296

10 years ago[AArch64] Fix categorisation of the frecp* insns.
James Greenhalgh [Thu, 5 Sep 2013 15:53:37 +0000 (15:53 +0000)]
[AArch64] Fix categorisation of the frecp* insns.

gcc/

* config/aarch64/aarch64.md
(type): Remove frecpe, frecps, frecpx.
(aarch64_frecp<FRECP:frecp_suffix><mode>): Move to aarch64-simd.md,
fix to be a TARGET_SIMD instruction.
(aarch64_frecps): Remove.
* config/aarch64/aarch64-simd.md
(aarch64_frecp<FRECP:frecp_suffix><mode>): New, moved from aarch64.md
  (aarch64_frecps<mode>): Handle all float/vector of float modes.

From-SVN: r202292

10 years ago[AARCH64][Insn classification unification 3/N] ALU/shift types
James Greenhalgh [Thu, 5 Sep 2013 15:49:15 +0000 (15:49 +0000)]
[AARCH64][Insn classification unification 3/N] ALU/shift types

2013-09-05  James Greenhalgh  <james.greenhalgh@arm.com>
    Sofiane Naci  <sofiane.naci@arm.com>

* config/arm/types.md (define_attr "type"):
Expand "arlo_imm"
into "adr", "alu_imm", "alus_imm", "logic_imm", "logics_imm".
Expand "arlo_reg"
into "adc_reg", "adc_imm", "adcs_reg", "adcs_imm", "alu_ext",
"alu_reg", "alus_ext", "alus_reg", "bfm", "csel", "logic_reg",
"logics_reg", "rev".
Expand "arlo_shift"
into "alu_shift_imm", "alus_shift_imm", "logic_shift_imm",
"logics_shift_imm".
Expand "arlo_shift_reg"
into "alu_shift_reg", "alus_shift_reg", "logic_shift_reg",
"logics_shift_reg".
Expand "clz" into "clz, "rbit".
Rename "shift" to "shift_imm".
* config/arm/arm.md (define_attr "core_cycles"): Update for attribute
changes.
Update for attribute changes all occurrences of arlo_* and
shift* types.
* config/arm/arm-fixed.md: Update for attribute changes
all occurrences of arlo_* types.
* config/arm/thumb2.md: Update for attribute changes all occurrences
of arlo_* types.
* config/arm/arm.c (xscale_sched_adjust_cost):  (rtx insn, rtx
(cortexa7_older_only): Likewise.
(cortexa7_younger):  Likewise.
* config/arm/arm1020e.md (1020alu_op): Update for attribute changes.
(1020alu_shift_op): Likewise.
(1020alu_shift_reg_op): Likewise.
* config/arm/arm1026ejs.md (alu_op): Update for attribute changes.
(alu_shift_op): Likewise.
(alu_shift_reg_op): Likewise.
* config/arm/arm1136jfs.md (11_alu_op): Update for
attribute changes.
(11_alu_shift_op): Likewise.
(11_alu_shift_reg_op): Likewise.
* config/arm/arm926ejs.md (9_alu_op): Update for attribute changes.
(9_alu_shift_reg_op): Likewise.
* config/arm/cortex-a15.md (cortex_a15_alu): Update for
attribute changes.
(cortex_a15_alu_shift): Likewise.
(cortex_a15_alu_shift_reg): Likewise.
* config/arm/cortex-a5.md (cortex_a5_alu): Update for
attribute changes.
(cortex_a5_alu_shift): Likewise.
* config/arm/cortex-a53.md
(cortex_a53_alu): Update for attribute changes.
(cortex_a53_alu_shift): Likewise.
* config/arm/cortex-a7.md
(cortex_a7_alu_imm): Update for attribute changes.
(cortex_a7_alu_reg): Likewise.
(cortex_a7_alu_shift): Likewise.
* config/arm/cortex-a8.md
(cortex_a8_alu): Update for attribute changes.
(cortex_a8_alu_shift): Likewise.
(cortex_a8_alu_shift_reg): Likewise.
* config/arm/cortex-a9.md
(cortex_a9_dp): Update for attribute changes.
(cortex_a9_dp_shift): Likewise.
* config/arm/cortex-m4.md
(cortex_m4_alu): Update for attribute changes.
* config/arm/cortex-r4.md
(cortex_r4_alu): Update for attribute changes.
(cortex_r4_mov): Likewise.
(cortex_r4_alu_shift_reg): Likewise.
* config/arm/fa526.md
(526_alu_op): Update for attribute changes.
(526_alu_shift_op): Likewise.
* config/arm/fa606te.md
(606te_alu_op): Update for attribute changes.
* config/arm/fa626te.md
(626te_alu_op): Update for attribute changes.
(626te_alu_shift_op): Likewise.
* config/arm/fa726te.md
(726te_alu_op): Update for attribute changes.
(726te_alu_shift_op): Likewise.
(726te_alu_shift_reg_op): Likewise.
* config/arm/fmp626.md (mp626_alu_op): Update for attribute changes.
(mp626_alu_shift_op): Likewise.
* config/arm/marvell-pj4.md (pj4_alu): Update for attribute changes.
(pj4_alu_conds): Likewise.
(pj4_shift): Likewise.
(pj4_shift_conds): Likewise.
(pj4_alu_shift): Likewise.
(pj4_alu_shift_conds): Likewise.
* config/aarch64/aarch64.md: Update for attribute change
all occurrences of arlo_* and shift* types.

Co-Authored-By: Sofiane Naci <sofiane.naci@arm.com>
From-SVN: r202291

10 years agoregex_automaton.h: Add dummy node type.
Tim Shen [Thu, 5 Sep 2013 15:20:39 +0000 (15:20 +0000)]
regex_automaton.h: Add dummy node type.

2013-09-05  Tim Shen  <timshen91@gmail.com>

* include/bits/regex_automaton.h: Add dummy node type. Rewrite
_StateSeq.
* include/bits/regex_automaton.tcc: Implement them.
* include/bits/regex_compiler.h: Rewrite _Compiler to use new
_StateSeq interfaces.
* include/bits/regex_compiler.tcc: Implement them.
* include/bits/regex_scanner.h: Add word boundry assertion token.
* include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
Support word boundry.
* testsuite/28_regex/algorithms/regex_match/basic/
string_range_02_03.cc: Remove "xfail".
* testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_match/extended/
string_range_02_03.cc: Likewise.
* testsuite/28_regex/algorithms/regex_match/extended/
cstring_questionmark.cc: Remove xfail and get correct length of
c-string.
* testsuite/28_regex/algorithms/regex_match/extended/
string_range_00_03.cc: Likewise.
* testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
New.
* testsuite/28_regex/algorithms/regex_match/extended/cstring_range.cc:
New.
* testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc: New.

From-SVN: r202290

10 years agotree.h: Move documentation for tree_function_decl to tree-core.h with the declaration.
Mike Stump [Thu, 5 Sep 2013 14:52:50 +0000 (14:52 +0000)]
tree.h: Move documentation for tree_function_decl to tree-core.h with the declaration.

* tree.h: Move documentation for tree_function_decl to tree-core.h
with the declaration.

From-SVN: r202289

10 years agore PR target/58139 (PowerPC volatile VSX register live across call)
Peter Bergner [Thu, 5 Sep 2013 14:09:07 +0000 (09:09 -0500)]
re PR target/58139 (PowerPC volatile VSX register live across call)

PR target/58139
* reginfo.c (choose_hard_reg_mode): Scan through all mode classes
looking for widest mode.

From-SVN: r202286

10 years ago* config.gcc (*-*-vxworks*): Do not override an existing extra_objs.
Eric Botcazou [Thu, 5 Sep 2013 13:54:35 +0000 (13:54 +0000)]
* config.gcc (*-*-vxworks*): Do not override an existing extra_objs.

From-SVN: r202284

10 years agore PR tree-optimization/58137 ([trunk, ICE] full unroll + AVX2 vectorization)
Richard Biener [Thu, 5 Sep 2013 12:45:20 +0000 (12:45 +0000)]
re PR tree-optimization/58137 ([trunk, ICE] full unroll + AVX2 vectorization)

2013-09-05  Richard Biener  <rguenther@suse.de>

PR tree-optimization/58137
* tree-vect-stmts.c (get_vectype_for_scalar_type_and_size):
Do not create vectors of pointers.
* tree-vect-loop.c (get_initial_def_for_induction): Use proper
types for the components of the vector initializer.
* tree-cfg.c (verify_gimple_assign_binary): Remove special-casing
allowing pointer vectors with PLUS_EXPR/MINUS_EXPR.

* gcc.target/i386/pr58137.c: New testcase.

From-SVN: r202282

10 years agoipa-prop.c (remove_described_reference): Accept missing references, return false...
Martin Jambor [Thu, 5 Sep 2013 12:41:16 +0000 (14:41 +0200)]
ipa-prop.c (remove_described_reference): Accept missing references, return false if that hppens, otherwise return true.

2013-09-05  Martin Jambor  <mjambor@suse.cz>

* ipa-prop.c (remove_described_reference): Accept missing references,
return false if that hppens, otherwise return true.
(cgraph_node_for_jfunc): New function.
(try_decrement_rdesc_refcount): Likewise.
(try_make_edge_direct_simple_call): Use them.
(ipa_edge_removal_hook): Remove references from rdescs.
(ipa_edge_duplication_hook): Clone rdescs and their references
when the new edge has the same caller as the old one.
* cgraph.c (cgraph_resolve_speculation): Remove speculative
reference before removing any edges.

testsuite/
* g++.dg/ipa/remref-1.C: New test.
* g++.dg/ipa/remref-2.C: Likewise.

From-SVN: r202281

10 years agoarm.c (thumb2_emit_strd_push): Rewrite to use pre-decrement on initial store.
Richard Earnshaw [Thu, 5 Sep 2013 12:37:29 +0000 (12:37 +0000)]
arm.c (thumb2_emit_strd_push): Rewrite to use pre-decrement on initial store.

* arm.c (thumb2_emit_strd_push): Rewrite to use pre-decrement on
initial store.
* thumb2.md (thumb2_storewb_parisi): New pattern.

From-SVN: r202279

10 years ago[AArch64] Support the 'crc' extension in -march and -mcpu options.
Yufeng Zhang [Thu, 5 Sep 2013 11:30:14 +0000 (11:30 +0000)]
[AArch64] Support the 'crc' extension in -march and -mcpu options.

gcc/

* config/aarch64/aarch64-option-extensions.def: Add
AARCH64_OPT_EXTENSION of 'crc'.
* config/aarch64/aarch64.h (AARCH64_FL_CRC): New define.
(AARCH64_ISA_CRC): Ditto.
* doc/invoke.texi (-march and -mcpu feature modifiers): Add
description of the CRC extension.

From-SVN: r202275

10 years agolinux64.h: Define OPTION_BIONIC and OPTION_UCLIBC.
Alexander Ivchenko [Thu, 5 Sep 2013 11:01:35 +0000 (11:01 +0000)]
linux64.h: Define OPTION_BIONIC and OPTION_UCLIBC.

* config/rs6000/linux64.h: Define OPTION_BIONIC and OPTION_UCLIBC.
* config/rs6000/linux.h: Ditto.
* alpha/linux.h: Ditto.
* config/bfin/uclinux.h: Define TARGET_LIBC_HAS_FUNCTION as
no_c99_libc_has_function.
* config/c6x/uclinux-elf.h: Ditto.
* config/lm32/uclinux-elf.h: Ditto.
* config/m68k/uclinux.h: Ditto.
* config/moxie/uclinux.h: Ditto.
* config.gcc (bfin*-linux-uclibc*): Add t-linux-android to tmake_file.
(crisv32-*-linux*, cris-*-linux*): Ditto.
* config/bfin/bfin.c: Include "tm_p.h".

From-SVN: r202274

10 years agotree-vect-loop.c (vect_analyze_loop_operations): Properly check for a definition...
Richard Biener [Thu, 5 Sep 2013 10:30:51 +0000 (10:30 +0000)]
tree-vect-loop.c (vect_analyze_loop_operations): Properly check for a definition without a basic-block.

2013-09-05  Richard Biener  <rguenther@suse.de>

* tree-vect-loop.c (vect_analyze_loop_operations): Properly
check for a definition without a basic-block.

From-SVN: r202273

10 years ago[AArch64, AArch32][Insn classification refactoring 6/N] Remove "neon_type" attribute
James Greenhalgh [Thu, 5 Sep 2013 09:29:27 +0000 (09:29 +0000)]
[AArch64, AArch32][Insn classification refactoring 6/N] Remove "neon_type" attribute

gcc/
* config/aarch64/aarch64.md: Rename r_2_f and f_2_r where appropriate.
* config/arm/arm.md (attribute "neon_type"): Delete.  Move attribute
values to config/arm/types.md.  Update patterns where appropriate.
* config/arm/types.md (type): Add Neon types.
* config/arm/neon.md: Remove "neon_type" attribute,
use "type" attribute everywhere appropriate.
* doc/md.texi: Change references to neon_type to refer to type.
* config/arm/vfp.md: Update patterns for attribute changes.
* config/arm/arm.c (cortexa7_older_only): Update for attribute change.
* config/arm/arm1020e.md: Update for attribute change.
* config/arm/cortex-a15-neon.md: Update for attribute change.
* config/arm/cortex-a15.md: Update for attribute change.
* config/arm/cortex-a5.md: Update for attribute change.
* config/arm/cortex-a53.md: Update for attribute change.
* config/arm/cortex-a7.md: Update for attribute change.
* config/arm/cortex-a8-neon.md: Update for attribute change.
* config/arm/cortex-a8.md: Update for attribute change.
* config/arm/cortex-a9-neon.md: Update for attribute change.
* config/arm/cortex-a9.md: Update for attribute change.
* config/arm/cortex-m4-fpu.md: Update for attribute change.
* config/arm/cortex-r4f.md: Update for attribute change.
* config/arm/iterators.md: Update comment referring to neon_type.
* config/arm/iwmmxt.md: Update for attribute change.
* config/arm/marvell-pj4.md: Update for attribute change.
* config/arm/neon-schedgen.ml (emit_insn_reservations): Update for
attribute change.
* config/arm/vfp11.md: Update for attribute change.

Co-Authored-By: Sofiane Naci <sofiane.naci@arm.com>
From-SVN: r202272

10 years agoFix typo in comment
Dodji Seketeli [Thu, 5 Sep 2013 07:56:47 +0000 (07:56 +0000)]
Fix typo in comment

gcc/

* tree.h (DECL_BUILT_INT): Fix typo in comment.

From-SVN: r202271

10 years agoDaily bump.
GCC Administrator [Thu, 5 Sep 2013 00:17:05 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r202269

10 years agore PR c++/24926 (gcc ignores access level violation for anonymous structs)
Paolo Carlini [Wed, 4 Sep 2013 23:52:48 +0000 (23:52 +0000)]
re PR c++/24926 (gcc ignores access level violation for anonymous structs)

/cp
2013-09-04  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/24926
* class.c (finish_struct_anon_r): New.
(finish_struct_anon): Use it.

/testsuite
2013-09-04  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/24926
* g++.dg/parse/access11.C: New.

From-SVN: r202266

10 years agors6000.h (ASM_OUTPUT_DEF_FROM_DECLS): Only emit lglobl if not weak.
David Edelsohn [Wed, 4 Sep 2013 21:24:56 +0000 (21:24 +0000)]
rs6000.h (ASM_OUTPUT_DEF_FROM_DECLS): Only emit lglobl if not weak.

        * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DECLS): Only emit
        lglobl if not weak.

From-SVN: r202264

10 years ago* g++.dg/warn/weak1.C: Skip on AIX.
David Edelsohn [Wed, 4 Sep 2013 21:21:39 +0000 (21:21 +0000)]
* g++.dg/warn/weak1.C: Skip on AIX.

From-SVN: r202263

10 years agore PR tree-optimization/57370 (compiler hangs in reassoc)
Easwaran Raman [Wed, 4 Sep 2013 17:48:15 +0000 (17:48 +0000)]
re PR tree-optimization/57370 (compiler hangs in reassoc)

2013-09-04  Easwaran Raman  <eraman@google.com>

PR middle-end/57370
PR tree-optimization/58011
* tree-ssa-reassoc.c (get_stmt_uid_with_default): New function,
(build_and_add_sum): Use it.
(appears_later_in_bb): Simplify code.

gcc/testsuite/ChangeLog:
2013-09-04  Easwaran Raman  <eraman@google.com>

PR middle-end/57370
PR tree-optimization/58011
* gfortran.dg/reassoc_12.f90: New testcase.
* gcc.dg/tree-ssa/reassoc-31.c: New testcase.

From-SVN: r202262

10 years agoattr-weakref-1.c: Skip on AIX.
David Edelsohn [Wed, 4 Sep 2013 15:33:56 +0000 (15:33 +0000)]
attr-weakref-1.c: Skip on AIX.

* gcc.dg/attr-weakref-1.c: Skip on AIX.
* gcc.dg/torture/pr53922.c: Skip on AIX.
* lib/file-format.exp (gcc_target_object_format): AIX is COFF.

From-SVN: r202261

10 years agodumpfile.c (dump_finish): Don't close stderr/stdout.
Teresa Johnson [Wed, 4 Sep 2013 14:31:20 +0000 (14:31 +0000)]
dumpfile.c (dump_finish): Don't close stderr/stdout.

2013-09-04  Teresa Johnson  <tejohnson@google.com>

* dumpfile.c (dump_finish): Don't close stderr/stdout.

* testsuite/gcc.dg/unroll_1.c: Test dumping to stderr.

From-SVN: r202260

10 years ago[AArch64] Obvious - Fix return types for vaddvq_<su>64
James Greenhalgh [Wed, 4 Sep 2013 14:26:23 +0000 (14:26 +0000)]
[AArch64] Obvious - Fix return types for vaddvq_<su>64

gcc/
* config/aarch64/arm_neon.h (vaddvq_<su>64): Fix return types.

From-SVN: r202259

10 years agoMakefile.in (ipa-devirt.o): Add dependency on diagnostic.h
Jan Hubicka [Wed, 4 Sep 2013 14:14:28 +0000 (16:14 +0200)]
Makefile.in (ipa-devirt.o): Add dependency on diagnostic.h

* Makefile.in (ipa-devirt.o): Add dependency on diagnostic.h
* ipa-devirt.c: Include diganostic.h
(odr_type_d): Add types and types_set.
(hash_type_name): Work for types with vtables during LTO.
(odr_hasher::remove): Fix comment; destroy types_set.
(add_type_duplicate): New function,
(get_odr_type): Use it.
(dump_type_inheritance_graph): Dump type duplicates.
* ipa.c (symtab_remove_unreachable_nodes): Build type inheritance
graph.
* tree.c (types_same_for_odr): Give exact answers on types with
virtual tables.

From-SVN: r202258

10 years agoMore comments about DECL_BUILT_IN and DECL_IS_BUILTIN
Dodji Seketeli [Wed, 4 Sep 2013 12:54:09 +0000 (12:54 +0000)]
More comments about DECL_BUILT_IN and DECL_IS_BUILTIN

gcc/

* tree.h (DECL_BUILT_IN, DECL_IS_BUILTIN): Add more comments
explaining their differences.

From-SVN: r202251

10 years agoconfig/rx/rx.h: Add option -mcpu for target variants RX100 and RX200.
Sandeep Kumar Singh [Wed, 4 Sep 2013 12:03:44 +0000 (12:03 +0000)]
config/rx/rx.h: Add option -mcpu for target variants RX100 and RX200.

From-SVN: r202250

10 years agoc-pretty-print.h (c_pretty_printer::simple_type_specifier): Now a virtual member...
Gabriel Dos Reis [Wed, 4 Sep 2013 10:52:35 +0000 (10:52 +0000)]
c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now a virtual member function.

c-family/
* c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
a virtual member function.
(pp_simple_type_specifier): Remove.
(pp_c_type_specifier): Likewise.
* c-pretty-print.c (c_pretty_printer::simple_type_specifier):
Rename from pp_c_type_specifier.  Adjust.
(c_pretty_printer::c_pretty_printer): Do not assign to
simple_type_specifier.
cp/
* cxx-pretty-print.h (cxx_pretty_printer::simple_type_specifier):
Declare as overrider.
* cxx-pretty-print.c (cxx_pretty_printer::simple_type_specifier):
Rename from pp_cxx_simple_type_specifier.
(cxx_pretty_printer::cxx_pretty_printer): Do not assign to
simple_type_specifier.

From-SVN: r202247

10 years agoMakefile.am (libgcjgc_la_LIBADD): Add EXTRA_TEST_LIBS.
Matthias Klose [Wed, 4 Sep 2013 10:48:01 +0000 (10:48 +0000)]
Makefile.am (libgcjgc_la_LIBADD): Add EXTRA_TEST_LIBS.

2013-09-04  Matthias Klose  <doko@ubuntu.com>

        * Makefile.am (libgcjgc_la_LIBADD): Add EXTRA_TEST_LIBS.
        * Makefile.in: Regenerate.

From-SVN: r202245

10 years ago- Fix whitespace in boehm-gc/ChangeLog
Matthias Klose [Wed, 4 Sep 2013 10:38:25 +0000 (10:38 +0000)]
- Fix whitespace in boehm-gc/ChangeLog

From-SVN: r202244

10 years agore PR c++/58305 (Deprecation warning for class not raised when not assigning to a...
Paolo Carlini [Wed, 4 Sep 2013 08:57:26 +0000 (08:57 +0000)]
re PR c++/58305 (Deprecation warning for class not raised when not assigning to a variable)

/cp
2013-09-03  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58305
* typeck2.c (build_functional_cast): Maybe warn_deprecated_use.

/testsuite
2013-09-03  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58305
* g++.dg/warn/deprecated-8.C: New.

From-SVN: r202242

10 years agocompiler: expand arguments with multiple results for built-in functions.
Ian Lance Taylor [Wed, 4 Sep 2013 04:32:07 +0000 (04:32 +0000)]
compiler: expand arguments with multiple results for built-in functions.

Fixed https://code.google.com/p/go/issues/detail?id=5796. Official fixedbug will be added with change to gc.

From-SVN: r202239

10 years ago* Make-lang.in (cp/lambda.o): Add dependencies.
Mike Stump [Wed, 4 Sep 2013 02:46:13 +0000 (02:46 +0000)]
* Make-lang.in (cp/lambda.o): Add dependencies.

From-SVN: r202238

10 years agoDaily bump.
GCC Administrator [Wed, 4 Sep 2013 00:16:38 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r202237

10 years agocompiler, runtime: Use runtime functions to pass closure value.
Ian Lance Taylor [Tue, 3 Sep 2013 21:52:37 +0000 (21:52 +0000)]
compiler, runtime: Use runtime functions to pass closure value.

This changes the compiler and runtime to not pass a closure
value as the last argument, but to instead pass it via
__go_set_closure and retrieve it via __go_get_closure.  This
eliminates the need for function descriptor wrapper functions.
It will make it possible to retrieve the closure value in a
reflect.MakeFunc function.

From-SVN: r202233

10 years agotree-ssa-threadedge.c (thread_across_edge): Record entire path when not threading...
Jeff Law [Tue, 3 Sep 2013 20:43:46 +0000 (14:43 -0600)]
tree-ssa-threadedge.c (thread_across_edge): Record entire path when not threading through a joiner block.

* tree-ssa-threadedge.c (thread_across_edge): Record entire path
when not threading through a joiner block.  Pass joiner/no joiner
state to register_jump_thread.
* tree-ssa-threadupdate.c (register_jump_thread): Get joiner/no joiner
state from argument rather than implying on path length.
Dump the entire jump thread path into debugging dump.
* tree-flow.h (register_jump_thread): Update prototype.

* tree-ssa/ssa-dom-thread-3.c: Update due to changes in debug
dump output.

From-SVN: r202232

10 years agoRemove a trivial assert (missed in previous checkin)
Xinliang David Li [Tue, 3 Sep 2013 19:11:10 +0000 (19:11 +0000)]
Remove a trivial assert (missed in previous checkin)

From-SVN: r202230

10 years agoDelay base decl's alignment adjustment until transformation happens
Xinliang David Li [Tue, 3 Sep 2013 18:19:04 +0000 (18:19 +0000)]
Delay base decl's alignment adjustment until transformation happens

From-SVN: r202229

10 years agorevert: tree-vrp.c (check_array_ref): Bail out on zero-length arrays.
Meador Inge [Tue, 3 Sep 2013 17:04:39 +0000 (17:04 +0000)]
revert: tree-vrp.c (check_array_ref): Bail out on zero-length arrays.

gcc/

2013-09-03  Meador Inge  <meadori@codesourcery.com>

Revert:

2013-08-30  Meador Inge  <meadori@codesourcery.com>

* tree-vrp.c (check_array_ref): Bail out on zero-length arrays.

gcc/testsuite/

2013-09-03  Meador Inge  <meadori@codesourcery.com>

Revert:

2013-08-30  Meador Inge  <meadori@codesourcery.com>

* gcc.dg/Warray-bounds-11.c: New testcase.

From-SVN: r202228

10 years ago* lib/target-supports.exp (check_weak_available): Return true for AIX.
David Edelsohn [Tue, 3 Sep 2013 16:25:15 +0000 (16:25 +0000)]
* lib/target-supports.exp (check_weak_available): Return true for AIX.

From-SVN: r202227

10 years agors6000.h (ASM_OUTPUT_DEF_FROM_DECLS): Emit lglobl for function descriptor.
David Edelsohn [Tue, 3 Sep 2013 16:09:21 +0000 (16:09 +0000)]
rs6000.h (ASM_OUTPUT_DEF_FROM_DECLS): Emit lglobl for function descriptor.

* config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DECLS): Emit lglobl for
function descriptor.

From-SVN: r202226

10 years ago* g++.dg/ipa/devirt-15.C: Fix testcase.
Jan Hubicka [Tue, 3 Sep 2013 15:43:10 +0000 (17:43 +0200)]
* g++.dg/ipa/devirt-15.C: Fix testcase.

From-SVN: r202225

10 years agore PR libstdc++/58302 (compilation error : std::negative_binomial_distribution::opera...
Paolo Carlini [Tue, 3 Sep 2013 10:12:19 +0000 (10:12 +0000)]
re PR libstdc++/58302 (compilation error : std::negative_binomial_distribution::operator(e, p))

2013-09-03  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/58302
* include/bits/random.tcc (negative_binomial_distribution<>::
operator()(_UniformRandomNumberGenerator&, const param_type&):
Fix typo in template argument.
* testsuite/26_numerics/random/negative_binomial_distribution/
operators/58302.cc: New.

From-SVN: r202208

10 years agoconfigure.ac: Also allow ISL 0.12.
Richard Biener [Tue, 3 Sep 2013 10:06:16 +0000 (10:06 +0000)]
configure.ac: Also allow ISL 0.12.

2013-09-03  Richard Biener  <rguenther@suse.de>

* configure.ac: Also allow ISL 0.12.
* configure: Regenerated.

From-SVN: r202207

10 years agoconfigure.ac: Also allow ISL 0.12.
Richard Biener [Tue, 3 Sep 2013 10:05:29 +0000 (10:05 +0000)]
configure.ac: Also allow ISL 0.12.

2013-09-03  Richard Biener  <rguenther@suse.de>

* configure.ac: Also allow ISL 0.12.
* configure: Regenerated.

From-SVN: r202206

10 years agotree-affine.c (add_elt_to_tree): Fix association issue...
Richard Biener [Tue, 3 Sep 2013 10:02:56 +0000 (10:02 +0000)]
tree-affine.c (add_elt_to_tree): Fix association issue...

2013-09-03  Richard Biener  <rguenther@suse.de>

* tree-affine.c (add_elt_to_tree): Fix association issue,
avoid useless converts and make sure to always return a
properly typed result.

From-SVN: r202205

10 years agore PR tree-optimization/57656 (Wrong constant folding)
Richard Biener [Tue, 3 Sep 2013 10:00:06 +0000 (10:00 +0000)]
re PR tree-optimization/57656 (Wrong constant folding)

2013-09-03  Richard Biener  <rguenther@suse.de>

PR middle-end/57656
* fold-const.c (negate_expr_p): Fix division case.
(negate_expr): Likewise.

* gcc.dg/torture/pr57656.c: New testcase.

From-SVN: r202204

10 years agoc-objc-common.c (c_tree_printer): Tidy.
Gabriel Dos Reis [Tue, 3 Sep 2013 09:52:19 +0000 (09:52 +0000)]
c-objc-common.c (c_tree_printer): Tidy.

c/
* c-objc-common.c (c_tree_printer): Tidy.
c-family/
* c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
member function.
(c_pretty_printer::storage_class_specifier): Likewise.
(c_pretty_printer::initializer): Likewise.
(pp_declaration): Remove.
(pp_declaration_specifiers): Likewise.
(pp_abstract_declarator): Likewise.
(pp_declarator): Likewise.
(pp_type_id): Likewise.
(pp_statement): Likewise.
(pp_constant): Likewise.
(pp_id_expression): Likewise.
(pp_primary_expression): Likewise.
(pp_unary_expression): Likewise.
(pp_multiplicative_expression): Likewise.
(pp_conditional_expression): Likewise.
(pp_assignment_expression): Likewise.
(pp_expression): Likewise.
(pp_c_type_id): Likewise.
(pp_c_storage_class_specifier): Likewise.
* c-pretty-print.c (pp_c_type_cast): Tidy.
(pp_c_pointer): Likewise.
(pp_c_type_specifier): Likewise.
(pp_c_parameter_type_list): Likewise.
(pp_c_function_definition): Likewise.
(pp_c_init_declarator): Likewise.
(pp_c_initializer_list): Likewise.
(pp_c_constructor_elts): Likewise.
(c_pretty_printer::direct_abstract_declarator): Likewise.
(c_pretty_printer::declaration_specifiers): Likewise.
(c_pretty_printer::primary_expression): Likewise.
(c_pretty_printer::postfix_expression): Likewise.
(c_pretty_printer::type_id): Rename from pp_c_type_id.
(c_pretty_printer::storage_class_specifier): Rename from
pp_c_storage_class_specifier.
(c_pretty_printer::initializer): Rename from pp_c_initializer.
(c_pretty_printer::c_pretty_printer): Do not assign to type_id,
storage_class_specifier, initializer, offset_list, flags.

cp/
* cxx-pretty-print.h (cxx_pretty_printer::type_id): Declare as
overrider.
* cxx-pretty-print.c (pp_cxx_storage_class_specifier): Remove.
(pp_cxx_userdef_literal): Tidy.
(pp_cxx_template_argument_list): Likewise.
(pp_cxx_typeid_expression): Likewise.
(pp_cxx_offsetof_expression_1): Likewise.
(cxx_pretty_printer::postfix_expression): Likewise.
(cxx_pretty_printer::unary_expression): Likewise.
(cxx_pretty_printer::statement): Likewise.
(cxx_pretty_printer::type_id): Rename from pp_cxx_type_id.
(c_pretty_printer::cxx_pretty_printer): Do not assign to type_id.
* error.c (dump_decl): Tidy.
(dump_expr): Likewise.

From-SVN: r202203

10 years agore PR lto/58285 (ICE in lto_output_tree, at lto-streamer-out.c:1318)
Richard Biener [Tue, 3 Sep 2013 09:48:27 +0000 (09:48 +0000)]
re PR lto/58285 (ICE in lto_output_tree, at lto-streamer-out.c:1318)

2013-09-03  Richard Biener  <rguenther@suse.de>

PR lto/58285
* tree-streamer-out.c: Include tm.h.
* Makefile.in (tree-streamer-out.o): Depend on $(TM_H).

From-SVN: r202202

10 years agore PR middle-end/57287 (Bogus uninitialized warning with abnormal control flow)
Richard Biener [Tue, 3 Sep 2013 07:53:05 +0000 (07:53 +0000)]
re PR middle-end/57287 (Bogus uninitialized warning with abnormal control flow)

2013-09-03  Richard Biener  <rguenther@suse.de>

PR middle-end/57287
* gcc.dg/pr57287-2.c: Use setjmp, not __sigsetjmp.

From-SVN: r202197

10 years agoDaily bump.
GCC Administrator [Tue, 3 Sep 2013 00:16:44 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r202195

10 years agoinclhack.def (aix_assert): New fix.
David Edelsohn [Mon, 2 Sep 2013 23:01:49 +0000 (23:01 +0000)]
inclhack.def (aix_assert): New fix.

* inclhack.def (aix_assert): New fix.
        * fixincl.x: Regenerate.
* tests/base/assert.h [AIX_ASSERT_CHECK]: New check.

From-SVN: r202192

10 years ago* tree-profile.c (tree_profiling): Cleanup CFG when done.
Jan Hubicka [Mon, 2 Sep 2013 22:52:27 +0000 (00:52 +0200)]
* tree-profile.c (tree_profiling): Cleanup CFG when done.

From-SVN: r202191