1. 08 Sep, 2013 6 commits
    • devirt-11.C: Update template. · 3462aa02
      	* 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
      Jan Hubicka committed
    • cgraph.h (varpool_node_hook, [...]): Declare. · 26e5b0fd
      	* 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
      Jan Hubicka committed
    • re PR c++/54941 (do not print line/column numbers for <built-in>:0:0) · 97f1f314
      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
      Paolo Carlini committed
    • Add missing ChangeLog entry for r199969. · 2e6a2f88
      From-SVN: r202365
      Tom de Vries committed
    • c-common.c (same_scalar_type_ignoring_signedness): Delete. · 0af94e6f
      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
      Joern Rennecke committed
    • Daily bump. · dde03143
      From-SVN: r202363
      GCC Administrator committed
  2. 07 Sep, 2013 6 commits
  3. 06 Sep, 2013 28 commits
    • Add documentation for the options --enable-vtable-verify, · 87f3fea8
      --disable-vtable-verify and --disable-libvtv.  Also 
      update configure and make files in libvtv not to use 
      --enable-vtable-verify.
      
      From-SVN: r202346
      Caroline Tice committed
    • tree-ssa-dom.c (cprop_into_successor_phis): Also propagate edge implied… · 5e8d9b45
      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
      Jeff Law committed
    • resource.c (mark_referenced_resources): Handle COND_EXEC. · 3a001aff
      gcc:
      	* resource.c (mark_referenced_resources): Handle COND_EXEC.
      gcc/testsuite:
      	* gcc.target/arc/cond-set-use.c: New test.
      
      From-SVN: r202344
      Joern Rennecke committed
    • resource.c (mark_target_live_regs): Compute resources taking into account if a… · c42091c1
      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
      Claudiu Zissulescu committed
    • toplev.c (output_stack_usage): Be prepared for suffixes created by the compiler… · 2c641f8b
      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
      Eric Botcazou committed
    • re PR middle-end/58094 (IPA devirt testsuite errors) · a81b0a3d
      	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
      Jan Hubicka committed
    • i386.c (ix86_hard_regno_mode_ok): AVX modes are valid only when AVX is enabled. · 68e4ca7e
      	* i386.c (ix86_hard_regno_mode_ok): AVX modes are valid only when	
      	AVX is enabled.
      
      From-SVN: r202335
      Jan Hubicka committed
    • [AArch64] Use neon_<ldm,stm>_2 where appropriate as "type". · 3c73e2fe
      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
      James Greenhalgh committed
    • [AArch64, ARM] Introduce "mrs" type attribute. · 8c48eecd
      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
      James Greenhalgh committed
    • [AArch64, ARM] Use "multiple" for type, where more than one instruction is used for a move · 9ea187a5
      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
      James Greenhalgh committed
    • [AArch64, ARM] Rename the FCPYS type to FMOV · 292b89b3
      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
      James Greenhalgh committed
    • [Patch AArch64] Fix types for some multiply instructions. · 6a24a83e
      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
      James Greenhalgh committed
    • [Patch ARM AARCH64] Split "type" attributes: fdiv · b86923f0
      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
      James Greenhalgh committed
    • [ARM,AARCH64] Insn type reclassification. Split f_cvt type. · 7b49c9e1
      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
      James Greenhalgh committed
    • [AArch64] Fix types of second parameter to qtbl/qtbx intrinsics · e7df8af8
      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
      James Greenhalgh committed
    • [Patch ARM] Add "type" attribute to Everything! · 594726e4
      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
      James Greenhalgh committed
    • [Patch AArch64] Fix register constraints for lane intrinsics. · 1c83b673
      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
      James Greenhalgh committed
    • arm_neon.h: Fix all vdup<bhsd_lane<q> intrinsics to have the correct lane parameter. · bb1ae543
      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
      Tejas Belagod committed
    • cfganal.c (control_dependences::~control_dependences): Properly free all of the vector. · f23c0742
      2013-09-06  Richard Biener <rguenther@suse.de>
      
      	* cfganal.c (control_dependences::~control_dependences):
      	Properly free all of the vector.
      
      From-SVN: r202320
      Richard Biener committed
    • Makefile.in (tree-sra.o): Update dependencies. · 9e401b63
      	* 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
      Jan Hubicka committed
    • re PR target/58269 (ICE when building libobjc on x86_64-apple-darwin* after revision 201915) · c1d49770
      PR target/58269
      * config/i386/i386.c (ix86_conditional_register_usage):
      Proper initialize extended SSE registers.
      
      From-SVN: r202318
      Kirill Yukhin committed
    • re PR tree-optimization/58311 (ICE: SIGSEGV in hash_table::find_slot_with_hash()… · 6da47f52
      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
      Jan Hubicka committed
    • re PR middle-end/58094 (IPA devirt testsuite errors) · fc11f321
      	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
      Jan Hubicka committed
    • ipa-split.c (split_function): Set DECL_NO_INLINE_WARNING_P on the non-inlinable part. · 9a6af450
      	* ipa-split.c (split_function): Set DECL_NO_INLINE_WARNING_P on the
      	non-inlinable part.
      
      From-SVN: r202315
      Eric Botcazou committed
    • ipa-pta-14.c (scan-ipa-dump): Don't expect NULL in foo.result set. · 6660b45f
              * 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
      Joern Rennecke committed
    • lto-streamer.h (lto_global_var_decls): Remove. · 35f32ad4
      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
      Richard Biener committed
    • 2013-09-06 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> · d12a76f3
      	* 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
      Andreas Krebbel committed
    • s390.md: Add "bcr_flush" value to mnemonic attribute. · a9cc3f58
      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
      Andreas Krebbel committed