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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
GCC Administrator [Fri, 6 Sep 2013 00:16:51 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r202305
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
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
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
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
Jan Hubicka [Thu, 5 Sep 2013 22:48:48 +0000 (00:48 +0200)]
* gcc.dg/autopar/pr49960.c: Disable partial inlining
From-SVN: r202297
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
GCC Administrator [Thu, 5 Sep 2013 00:17:05 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r202269
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
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
David Edelsohn [Wed, 4 Sep 2013 21:21:39 +0000 (21:21 +0000)]
* g++.dg/warn/weak1.C: Skip on AIX.
From-SVN: r202263
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
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
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
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
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
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
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
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
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
Matthias Klose [Wed, 4 Sep 2013 10:38:25 +0000 (10:38 +0000)]
- Fix whitespace in boehm-gc/ChangeLog
From-SVN: r202244
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
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
Mike Stump [Wed, 4 Sep 2013 02:46:13 +0000 (02:46 +0000)]
* Make-lang.in (cp/lambda.o): Add dependencies.
From-SVN: r202238
GCC Administrator [Wed, 4 Sep 2013 00:16:38 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r202237
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
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
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
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
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
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
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
Jan Hubicka [Tue, 3 Sep 2013 15:43:10 +0000 (17:43 +0200)]
* g++.dg/ipa/devirt-15.C: Fix testcase.
From-SVN: r202225
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
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
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
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
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
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
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
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
GCC Administrator [Tue, 3 Sep 2013 00:16:44 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r202195
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
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
Alan Modra [Mon, 2 Sep 2013 22:40:40 +0000 (08:10 +0930)]
config.gcc (powerpc*-*-linux*): Add support for little-endian multilibs to big-endian target and vice versa.
* config.gcc (powerpc*-*-linux*): Add support for little-endian
multilibs to big-endian target and vice versa.
* config/rs6000/t-linux64: Use := assignment on all vars.
(MULTILIB_EXTRA_OPTS): Remove fPIC.
(MULTILIB_OSDIRNAMES): Specify using mapping from multilib_options.
* config/rs6000/t-linux64le: New file.
* config/rs6000/t-linux64bele: New file.
* config/rs6000/t-linux64lebe: New file.
From-SVN: r202190
Tim Shen [Mon, 2 Sep 2013 22:20:56 +0000 (22:20 +0000)]
regex_automaton.h: Rearrange _NFA's layout.
2013-09-02 Tim Shen <timshen91@gmail.com>
* regex_automaton.h: Rearrange _NFA's layout.
* include/bits/regex_compiler.h: Add _AnyMatcher and _CharMatcher.
Rearrange _BracketMatcher's layout.
(_BracketMatcher<>::_M_add_char): Use set instead of vector for
_M_char_set.
(_BracketMatcher<>::_M_add_collating_element): Likewise.
(_BracketMatcher<>::_M_make_range): Likewise.
* include/bits/regex_compiler.tcc (_Compiler<>::_M_atom): Use
apropriate constructors of matchers above.
* testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc:
New.
* testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc: New.
* testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc:
New.
* testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc:
New.
* testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc: New.
* testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/anymatcher.cc:
New.
* testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc: New.
From-SVN: r202189
Thomas Koenig [Mon, 2 Sep 2013 22:09:07 +0000 (22:09 +0000)]
PR fortran/PR56519
2013-09-02 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/PR56519
* gfortran.h: Declare gfc_do_concurrent_flag as extern.
* resolve.c: Rename do_concurrent_flag to gfc_do_concurrent_flag
and make non-static.
(resolve_function): Use gfc_do_concurrent_flag instead of
do_concurrent_flag.
(pure_subroutine): Likewise.
(resolve_code): Likewise.
(resolve_types): Likewise.
* intrinsic.c (gfc_intrinsic_sub_interface): Raise error for
non-pure intrinsic subroutines within DO CONCURRENT.
2013-09-02 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/PR56519
* gfortran.dg/do_concurrent_3.f90: New test case.
From-SVN: r202188
Jan Hubicka [Mon, 2 Sep 2013 21:45:48 +0000 (23:45 +0200)]
ipa-inline-transform.c (inline_transform): Do not optimize_inline_calls when not optimizing.
* ipa-inline-transform.c (inline_transform): Do not
optimize_inline_calls when not optimizing.
From-SVN: r202187
Jan Hubicka [Mon, 2 Sep 2013 21:44:35 +0000 (23:44 +0200)]
lto-symtab.c (lto_symtab_merge_symbols): Add comments; merge duplicated nodes for assembler names.
* lto-symtab.c (lto_symtab_merge_symbols): Add comments; merge
duplicated nodes for assembler names.
* symtab.c (symtab_unregister_node): Do not attempt to unlink
hard registers from assembler name hash.
From-SVN: r202186
Jan Hubicka [Mon, 2 Sep 2013 20:17:10 +0000 (22:17 +0200)]
ipa-split.c (execute_split_functions): Split externally visible functions called once.
* ipa-split.c (execute_split_functions): Split externally visible
functions called once.
* gcc.dg/tree-ssa/fnsplit-1.c: New testcase.
From-SVN: r202185
Martin Jambor [Mon, 2 Sep 2013 19:28:01 +0000 (21:28 +0200)]
re PR ipa/58106 (ICE: in ipa_edge_duplication_hook, at ipa-prop.c:2839)
2013-09-02 Martin Jambor <mjambor@suse.cz>
PR ipa/58106
* ipa-prop.c (ipa_edge_duplication_hook): Always put new rdesc to the
linked list. When finding the correct duplicate, also consider also
the caller in additon to its inlined_to node.
testsuite/
* gcc.dg/ipa/pr58106.c: New test.
From-SVN: r202184
James Greenhalgh [Mon, 2 Sep 2013 16:22:10 +0000 (16:22 +0000)]
[AArch64] Rewrite the vdup_lane intrinsics in C
gcc/
* config/aarch64/aarch64-simd-builtins.def
(dup_lane_scalar): Remove.
* config/aarch64/aarch64-simd.md
(aarch64_simd_dup): Add 'w->w' alternative.
(aarch64_dup_lane<mode>): Allow for VALL.
(aarch64_dup_lane_scalar<mode>): Remove.
(aarch64_dup_lane_<vswap_width_name><mode>): New.
(aarch64_get_lane_signed<mode>): Add w->w altenative.
(aarch64_get_lane_unsigned<mode>): Likewise.
(aarch64_get_lane<mode>): Likewise.
* config/aarch64/aarch64.c (aarch64_evpc_dup): New.
(aarch64_expand_vec_perm_const_1): Use aarch64_evpc_dup.
* config/aarch64/iterators.md (VSWAP_WIDTH): New.
(VCON): Change container of V2SF.
(vswap_width_name): Likewise.
* config/aarch64/arm_neon.h
(__aarch64_vdup_lane_any): New.
(__aarch64_vdup<q>_lane<q>_<fpsu><8,16,32,64>): Likewise.
(vdup<q>_n_<psuf><8,16,32,64>): Convert to C implementation.
(vdup<q>_lane<q>_<fpsu><8,16,32,64>): Likewise.
gcc/testsuite/
* gcc.target/aarch64/scalar_intrinsics.c
(vdup<bhsd>_lane<su><8,16,32,64>): Force values to SIMD registers.
From-SVN: r202180
Eric Botcazou [Mon, 2 Sep 2013 16:19:20 +0000 (16:19 +0000)]
re PR middle-end/56382 (FAIL: gcc.c-torture/compile/pr55921.c (internal compiler error))
PR middle-end/56382
* expr.c (emit_move_complex): Do not move complex FP values as parts if
the source or the destination is a single hard register.
From-SVN: r202179
Jan Hubicka [Mon, 2 Sep 2013 14:45:06 +0000 (16:45 +0200)]
lto.c (mentions_vars_p_field_decl, [...]): DECL_FIELD_OFFSET can contain an reference to variable.
* lto.c (mentions_vars_p_field_decl, lto_fixup_prevailing_decls):
DECL_FIELD_OFFSET can contain an reference to variable.
From-SVN: r202174
Diego Novillo [Mon, 2 Sep 2013 14:25:40 +0000 (10:25 -0400)]
Split all the structures, enums, typedefs and some fundamental declarations from tree.h into tree-core.h.
Split all the structures, enums, typedefs and some fundamental
declarations from tree.h into tree-core.h. Everything else stays in
tree.h for now.
As we convert gimple files, we'll move declarations out of tree.h into
other headers and rewrite missing functions in the new gimple API.
* Makefile.in (TREE_CORE_H): Define.
(TREE_H): Use.
(GTFILES): Add tree-core.h.
* builtins.c (built_in_class_names): Use BUILT_IN_LAST to
size the array.
* tree-core.h: New file.
Move all data structures, enum, typedefs, global
declarations and constants from ...
* tree.h: ... here.
From-SVN: r202172
Richard Biener [Mon, 2 Sep 2013 13:24:30 +0000 (13:24 +0000)]
re PR tree-optimization/57511 (Missing SCEV final value replacement)
2013-09-02 Richard Biener <rguenther@suse.de>
PR middle-end/57511
* tree-scalar-evolution.c (instantiate_scev_name): Allow
non-linear SCEVs.
* gcc.dg/tree-ssa/sccp-1.c: New testcase.
From-SVN: r202168
Richard Biener [Mon, 2 Sep 2013 11:37:13 +0000 (11:37 +0000)]
tree-affine.c (add_elt_to_tree): Avoid converting all pointer arithmetic to sizetype.
2013-09-02 Richard Biener <rguenther@suse.de>
* tree-affine.c (add_elt_to_tree): Avoid converting all pointer
arithmetic to sizetype.
* gcc.dg/tree-ssa/loop-4.c: Adjust scan looking for one memory
reference.
From-SVN: r202165
Bin Cheng [Mon, 2 Sep 2013 09:58:41 +0000 (09:58 +0000)]
tree-ssa-loop-ivopts.c (set_autoinc_for_original_candidates): Find auto-increment use both before and after candidate.
* tree-ssa-loop-ivopts.c (set_autoinc_for_original_candidates):
Find auto-increment use both before and after candidate.
* gcc.target/arm/ivopts-orig_biv-inc.c: New testcase.
From-SVN: r202164
Paolo Carlini [Mon, 2 Sep 2013 09:42:39 +0000 (09:42 +0000)]
PR c++/21682, implement DR 565
/cp
2013-09-02 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/21682, implement DR 565
* name-lookup.c (compparms_for_decl_and_using_decl): New.
(push_overloaded_decl_1, do_nonmember_using_decl): Use it.
/testsuite
2013-09-02 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/21682, implement DR 565
* g++.dg/template/using24.C: New.
* g++.dg/template/using25.C: Likewise.
* g++.dg/template/using26.C: Likewise.
From-SVN: r202163
Marek Polacek [Mon, 2 Sep 2013 07:46:13 +0000 (07:46 +0000)]
Makefile.in (ubsan.o): Add $(TM_P_H) dependency.
2013-09-02 Marek Polacek <polacek@redhat.com>
* Makefile.in (ubsan.o): Add $(TM_P_H) dependency.
From-SVN: r202159
GCC Administrator [Mon, 2 Sep 2013 00:16:47 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r202158
Jan Hubicka [Sun, 1 Sep 2013 17:47:21 +0000 (19:47 +0200)]
Makefile.in: Add ipa-profile.o
* Makefile.in: Add ipa-profile.o
(ipa.o, ipa-devrit.o, ipa-inline-analysis.o): Adjust dependencies.
* cgraph.c (struct cgraph_propagate_frequency_data,
cgraph_propagate_frequency_1, cgraph_propagate_frequency): Move to
ipa-profile.c; replace cgraph_ by ipa_ prefix.
* cgraph.h (cgraph_propagate_frequency): Remove.
* ipa-inline-analysis.c: Include ipa-utils.h; drop duplicated cfgloop.h.
(inline_update_callee_summaries): Update.
* ipa-profile.c: New file.
* ipa-utils.h (ipa_propagate_frequency): Declare.
* ipa.c: Do not include pointer-set.h, hash-table.h, lto-streamer.h,
data-streamer.h, value-prof.h
(symtab_remove_unreachable_nodes): Update profile.
(struct histogram_entry, histogram, histogram_pool, histogram_hash,
account_time_size, cmp_counts, dump_histogram,
ipa_profile_generate_summary, ipa_profile_write_summary,
ipa_profile_read_summary, ipa_profile, gate_ipa_profile,
pass_data_ipa_profile, pass_ipa_profile, make_pass_ipa_profile):
Move to ipa-profile.c
From-SVN: r202154
Jan Hubicka [Sun, 1 Sep 2013 17:06:40 +0000 (19:06 +0200)]
* g++.dg/ipa/devirt-15.C: New testcase.
From-SVN: r202153
Eric Botcazou [Sun, 1 Sep 2013 16:51:41 +0000 (16:51 +0000)]
re PR ada/58239 (pretty-print.c:789: undefined reference to `operator delete(void*)')
PR ada/58239
gnattools/
* Makefile.in (CXX_LFLAGS): New.
(TOOLS_FLAGS_TO_PASS_NATIVE): Pass CXX and CXX_LFLAGS.
(TOOLS_FLAGS_TO_PASS_RE): Likewise.
(TOOLS_FLAGS_TO_PASS_CROSS): Pass CXX.
gcc/ada/
* gcc-interface/Makefile.in (GCC_LINK_FLAGS): Add -static-libstdc++.
(GCC_LINK): Use CXX instead of CC.
* gcc-interface/Make-lang.in (CXX_LFLAGS): New.
(ADA_TOOLS_FLAGS_TO_PASS): Pass CXX, and CXX_LFLAGS for native.
Co-Authored-By: Iain Sandoe <iain@codesourcery.com>
From-SVN: r202150