aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2013-09-09re PR tree-optimization/58364 (likely wrong code bug)Jakub Jelinek4-1/+37
PR tree-optimization/58364 * tree-ssa-reassoc.c (init_range_entry): For BIT_NOT_EXPR on BOOLEAN_TYPE, only invert in_p and continue with arg0 if the current range can't be an unconditional true or false. * gcc.c-torture/execute/pr58364.c: New test. From-SVN: r202409
2013-09-09[AArch64] obvious - Fix parameter to vrsqrte_f64James Greenhalgh2-4/+8
gcc/ * config/aarch64/arm_neon.h (vrsqrte_f64): Fix parameter type. From-SVN: r202407
2013-09-09ipa-prop.c (ipa_modify_call_arguments): Initialize deref_align.Uros Bizjak2-89/+73
* ipa-prop.c (ipa_modify_call_arguments): Initialize deref_align. From-SVN: r202406
2013-09-09re PR c++/43452 (Array delete causes error on incomplete type)Paolo Carlini1-0/+7
2013-09-09 Paolo Carlini <paolo.carlini@oracle.com> PR c++/43452 * doc/invoke.texi (-Wdelete-incomplete): Document it. /c-family 2013-09-09 Paolo Carlini <paolo.carlini@oracle.com> PR c++/43452 * c.opt (Wdelete-incomplete): Add. /cp 2013-09-09 Paolo Carlini <paolo.carlini@oracle.com> PR c++/43452 * init.c (build_vec_delete_1): When the type is incomplete emit a warning, enabled by default (not an error). (build_delete): Adjust to use OPT_Wdelete_incomplete. /testsuite 2013-09-09 Paolo Carlini <paolo.carlini@oracle.com> PR c++/43452 * g++.dg/warn/Wdelete-incomplete-1.C: New. * g++.dg/warn/Wdelete-incomplete-2.C: Likewise. * g++.dg/init/delete1.C: Adjust. From-SVN: r202405
2013-09-09re PR c++/43452 (Array delete causes error on incomplete type)Paolo Carlini9-8/+70
2013-09-09 Paolo Carlini <paolo.carlini@oracle.com> PR c++/43452 * doc/invoke.texi (-Wdelete-incomplete): Document it. /c-family 2013-09-09 Paolo Carlini <paolo.carlini@oracle.com> PR c++/43452 * c.opt (Wdelete-incomplete): Add. /cp 2013-09-09 Paolo Carlini <paolo.carlini@oracle.com> PR c++/43452 * init.c (build_vec_delete_1): When the type is incomplete emit a warning, enabled by default (not an error). (build_delete): Adjust to use OPT_Wdelete_incomplete. /testsuite 2013-09-09 Paolo Carlini <paolo.carlini@oracle.com> PR c++/43452 * g++.dg/warn/Wdelete-incomplete-1.C: New. * g++.dg/warn/Wdelete-incomplete-2.C: Likewise. * g++.dg/init/delete1.C: Adjust. From-SVN: r202404
2013-09-09Improve handling of constants destined for FP_REGS on AArch64Ian Bolton4-3/+46
From-SVN: r202403
2013-09-09re PR c++/58362 (Wrong column number for unused parameter)Paolo Carlini4-3/+25
/cp 2013-09-09 Paolo Carlini <paolo.carlini@oracle.com> PR c++/58362 * error.c (location_of): Don't handle PARM_DECLs specially. /testsuite 2013-09-09 Paolo Carlini <paolo.carlini@oracle.com> PR c++/58362 * g++.dg/warn/Wunused-parm-5.C: New. From-SVN: r202402
2013-09-09error.c (dump_expr, [...]): Fix.Paolo Carlini3-7/+19
2013-09-09 Paolo Carlini <paolo.carlini@oracle.com> * error.c (dump_expr, [PSEUDO_DTOR_EXPR]): Fix. * cxx-pretty-print.c (cxx_pretty_printer::postfix_expression): Tweak, TREE_OPERAND (t, 1) may be null. From-SVN: r202401
2013-09-09aarch64.c (aarch64_select_cc_mode): Return CC_SWP for comparison with ↵Kyrylo Tkachov5-7/+51
negated operand. [gcc/] 2013-09-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com> * config/aarch64/aarch64.c (aarch64_select_cc_mode): Return CC_SWP for comparison with negated operand. * config/aarch64/aarch64.md (compare_neg<mode>): Match canonical RTL form. [gcc/testsuite/] 2013-09-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com> * gcc.target/aarch64/cmn-neg.c: New test. From-SVN: r202400
2013-09-09re PR tree-optimization/58326 (ICE in check_loop_closed_ssa_use, at ↵Richard Biener5-1/+63
tree-ssa-loop-manip.c:551) 2013-09-09 Richard Biener <rguenther@suse.de> PR middle-end/58326 * cfgloopmanip.c (fix_bb_placements): When fixing the placement of a subloop record all its block as affecting loop-closed SSA form. * gcc.dg/torture/pr58326-1.c: New testcase. * gcc.dg/torture/pr58326-2.c: Likewise. From-SVN: r202399
2013-09-09re PR target/57735 (ICE with -mtune=xscale (error: could not split insn) ↵Kyrylo Tkachov2-0/+150
when building webkit) 2013-09-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com> PR target/57735 * g++.dg/ext/pr57735.C: New test. From-SVN: r202398
2013-09-09expmed.c (lshift_value): Take an unsigned HOST_WIDE_INT instead of an ↵Richard Sandiford2-5/+12
rtx/bitpos pair. gcc/ * expmed.c (lshift_value): Take an unsigned HOST_WIDE_INT instead of an rtx/bitpos pair. (store_fixed_bit_field): Update accordingly. From-SVN: r202395
2013-09-09asan.c (asan_emit_stack_protection): Use gen_int_mode instead of GEN_INT.Richard Sandiford10-14/+44
gcc/ * asan.c (asan_emit_stack_protection): Use gen_int_mode instead of GEN_INT. * builtins.c (expand_errno_check): Likewise. * dwarf2cfi.c (init_return_column_size): Likewise. * except.c (sjlj_mark_call_sites): Likewise. * expr.c (move_by_pieces_1, store_by_pieces_2): Likewise. * lra-constraints.c (emit_inc): Likewise. * ree.c (combine_set_extension): Likewise. * regmove.c (fixup_match_2): Likewise. * reload1.c (inc_for_reload): Likewise. From-SVN: r202394
2013-09-09gcc/Richard Sandiford8-50/+69
* combine.c (simplify_set, expand_field_assignment, extract_left_shift) (force_to_mode, simplify_shift_const_1, simplify_comparison): Use gen_int_mode with the mode of the associated simplify_* call. * explow.c (probe_stack_range, anti_adjust_stack_and_probe): Likewise. * expmed.c (expand_shift_1): Likewise. * function.c (instantiate_virtual_regs_in_insn): Likewise. * loop-iv.c (iv_number_of_iterations): Likewise. * loop-unroll.c (unroll_loop_runtime_iterations): Likewise. * simplify-rtx.c (simplify_binary_operation_1): Likewise. From-SVN: r202393
2013-09-09asan.c (asan_clear_shadow): Use gen_int_mode with the mode of the associated ↵Richard Sandiford11-75/+118
expand_* call. gcc/ * asan.c (asan_clear_shadow): Use gen_int_mode with the mode of the associated expand_* call. (asan_emit_stack_protection): Likewise. * builtins.c (round_trampoline_addr): Likewise. * explow.c (allocate_dynamic_stack_space, probe_stack_range): Likewise. * expmed.c (expand_smod_pow2, expand_sdiv_pow2, expand_divmod) (emit_store_flag): Likewise. * expr.c (emit_move_resolve_push, push_block, emit_single_push_insn_1) (emit_push_insn, optimize_bitfield_assignment_op, expand_expr_real_1): Likewise. * function.c (instantiate_virtual_regs_in_insn): Likewise. * ifcvt.c (noce_try_store_flag_constants): Likewise. * loop-unroll.c (unroll_loop_runtime_iterations): Likewise. * modulo-sched.c (generate_prolog_epilog): Likewise. * optabs.c (expand_binop, widen_leading, expand_doubleword_clz) (expand_ctz, expand_ffs, expand_unop): Likewise. From-SVN: r202392
2013-09-09alias.c (addr_side_effect_eval): Use gen_int_mode with the mode of the ↵Richard Sandiford12-35/+67
associated gen_rtx_* call. gcc/ * alias.c (addr_side_effect_eval): Use gen_int_mode with the mode of the associated gen_rtx_* call. * caller-save.c (init_caller_save): Likewise. * combine.c (find_split_point, make_extraction): Likewise. (make_compound_operation): Likewise. * dwarf2out.c (mem_loc_descriptor): Likewise. * explow.c (plus_constant, probe_stack_range): Likewise. * expmed.c (expand_mult_const): Likewise. * expr.c (emit_single_push_insn_1, do_tablejump): Likewise. * reload1.c (init_reload): Likewise. * valtrack.c (cleanup_auto_inc_dec): Likewise. * var-tracking.c (adjust_mems): Likewise. * modulo-sched.c (sms_schedule): Likewise, but use gen_rtx_GT rather than gen_rtx_fmt_ee. From-SVN: r202391
2013-09-09re PR tree-optimization/58294 (ice in update_ssa_across_abnormal_edges, at ↵Jan Hubicka4-15/+45
tree-inline.c:1892) PR middle-end/58294 * value-prof.c (gimple_ic): Copy also abnormal edges. * g++.dg/torture/PR58294.C: New testcase. From-SVN: r202389
2013-09-09asan.c (asan_shadow_cst): Use gen_int_mode.Richard Sandiford2-1/+5
gcc/ * asan.c (asan_shadow_cst): Use gen_int_mode. From-SVN: r202384
2013-09-09ipa-profile.c: Add toplevel comment.Jan Hubicka3-2/+107
* ipa-profile.c: Add toplevel comment. (ipa_propagate_frequency_1): Be more conservative when profile is read. (contains_hot_call_p): New function. (ipa_propagate_frequency): Set frequencies based on counts when profile is read. * predict.c (compute_function_frequency): Use PROFILE_READ gueard for profile; do not tamper with profile after inlining if it is read. From-SVN: r202382
2013-09-09ipa-prop.c (try_make_edge_direct_simple_call): Do not special case ↵Jan Hubicka2-3/+6
speculative edges. * ipa-prop.c (try_make_edge_direct_simple_call): Do not special case speculative edges. From-SVN: r202381
2013-09-09ipa.c (walk_polymorphic_call_targets): Fix redirection before IPA summary ↵Jan Hubicka2-2/+7
generation. * ipa.c (walk_polymorphic_call_targets): Fix redirection before IPA summary generation. From-SVN: r202380
2013-09-08tree-ssa-threadedge.c (thread_across_edge): Fix initialization of 'found'.Jeff Law4-1/+28
* tree-ssa-threadedge.c (thread_across_edge): Fix initialization of 'found'. * gcc.c-torture/compile/pr58340.c: New test. From-SVN: r202379
2013-09-09Daily bump.GCC Administrator1-1/+1
From-SVN: r202377
2013-09-08Fix handling of very long asm statements in inlinerAndi Kleen2-1/+12
An auto generated program with a 6.4mio line asm statement gave with 4.7 and 4.8: xxx.c:6400017:1: internal compiler error: in account_size_time, at ipa-inline-analysis.c:601 The problem is that the inliner counts the number of lines in the asm statement and multiplies that with a weight. With the weight this overflows 32bit signed int, and triggers an assert for negative time. Fix this by limiting the number of lines to 1000 for asm cost estimation. The RTL backend also does similar multiplications for jump shortening. I haven't tried to address this, but presumably it's less likely to result in a failure. gcc/: 2013-09-08 Andi Kleen <ak@linux.intel.com> * tree-inline.c (estimate_num_insns): Limit asm cost to 1000. From-SVN: r202374
2013-09-08Fix PR 58300...Caroline Tice2-4/+12
Fix PR 58300: Re-order events with -fvtable-verify=preinit flag, so constructor init function is not written to assembly file until after call to cgraph_process_new_functions. From-SVN: r202371
2013-09-08* ipa.c (walk_polymorphic_call_targets): Fix inliner summary update.Jan Hubicka2-3/+7
From-SVN: r202370
2013-09-08ira.c (update_equiv_regs): Only call set_paradoxical_subreg for non-debug insns.Richard Sandiford5-13/+102
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
2013-09-08devirt-11.C: Update template.Jan Hubicka10-38/+297
* 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
2013-09-08cgraph.h (varpool_node_hook, [...]): Declare.Jan Hubicka3-1/+119
* 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
2013-09-08re PR c++/54941 (do not print line/column numbers for <built-in>:0:0)Paolo Carlini5-5/+18
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
2013-09-08Add missing ChangeLog entry for r199969.Tom de Vries1-0/+5
From-SVN: r202365
2013-09-08c-common.c (same_scalar_type_ignoring_signedness): Delete.Joern Rennecke9-12/+97
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
2013-09-08Daily bump.GCC Administrator1-1/+1
From-SVN: r202363
2013-09-07Testcase for PR58282Tom de Vries2-0/+28
2013-09-08 Tom de Vries <tom@codesourcery.com> PR c++/58282 * g++.dg/tm/noexcept-6.C: New test. From-SVN: r202360
2013-09-07Handle noexcept on transactions with -fno-exceptionsTom de Vries2-0/+9
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
2013-09-07cgraphunit.c (expand_thunk): Get body before touching arguments.Jan Hubicka4-5/+14
* 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
2013-09-07Daily bump.GCC Administrator1-1/+1
From-SVN: r202350
2013-09-06Add documentation for the options --enable-vtable-verify,Caroline Tice2-0/+21
--disable-vtable-verify and --disable-libvtv. Also update configure and make files in libvtv not to use --enable-vtable-verify. From-SVN: r202346
2013-09-06tree-ssa-dom.c (cprop_into_successor_phis): Also propagate edge implied ↵Jeff Law2-0/+29
equivalences into successor phis. * tree-ssa-dom.c (cprop_into_successor_phis): Also propagate edge implied equivalences into successor phis. From-SVN: r202345
2013-09-06resource.c (mark_referenced_resources): Handle COND_EXEC.Joern Rennecke4-1/+147
gcc: * resource.c (mark_referenced_resources): Handle COND_EXEC. gcc/testsuite: * gcc.target/arc/cond-set-use.c: New test. From-SVN: r202344
2013-09-06resource.c (mark_target_live_regs): Compute resources taking into account if ↵Claudiu Zissulescu2-5/+17
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
2013-09-06toplev.c (output_stack_usage): Be prepared for suffixes created by the ↵Eric Botcazou4-11/+59
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
2013-09-06re PR middle-end/58094 (IPA devirt testsuite errors)Jan Hubicka2-34/+77
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
2013-09-06i386.c (ix86_hard_regno_mode_ok): AVX modes are valid only when AVX is enabled.Jan Hubicka2-1/+6
* i386.c (ix86_hard_regno_mode_ok): AVX modes are valid only when AVX is enabled. From-SVN: r202335
2013-09-06[AArch64] Use neon_<ldm,stm>_2 where appropriate as "type".James Greenhalgh2-4/+12
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
2013-09-06[AArch64, ARM] Introduce "mrs" type attribute.James Greenhalgh16-14/+37
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
2013-09-06[AArch64, ARM] Use "multiple" for type, where more than one instruction is ↵James Greenhalgh3-5/+16
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
2013-09-06[AArch64, ARM] Rename the FCPYS type to FMOVJames Greenhalgh18-30/+65
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
2013-09-06[Patch AArch64] Fix types for some multiply instructions.James Greenhalgh2-6/+16
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
2013-09-06[Patch ARM AARCH64] Split "type" attributes: fdivJames Greenhalgh16-25/+48
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