aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2013-09-10sem_ch3.adb, [...]: Minor reformatting.Robert Dewar9-37/+56
2013-09-10 Robert Dewar <dewar@adacore.com> * sem_ch3.adb, sinfo.ads, exp_ch9.adb, sem_prag.adb, sem_ch12.adb, exp_ch4.adb, sprint.adb: Minor reformatting. From-SVN: r202455
2013-09-10[multiple changes]Arnaud Charlet5-24/+156
2013-09-10 Yannick Moy <moy@adacore.com> * sinfo.ads: Document splitting of pre/post in N_Contract description. 2013-09-10 Ed Schonberg <schonberg@adacore.com> * exp_ch4.adb (Expand_N_Op_Multiply): If the operation is of the form X * 2 ** N and it has been marked Is_Power_Of_2_For_Shift, add a mod operation if the result type is a binary modular type. 2013-09-10 Hristian Kirtchev <kirtchev@adacore.com> * sem_prag.adb (Check_Mode_Restriction_In_Enclosing_Context): Add local variable Context. Remove local variable Subp_Id. Start the context traversal from the current subprogram rather than the current scope. Update the scope traversal and error reporting. 2013-09-10 Ed Schonberg <schonberg@adacore.com> * exp_ch9.adb (Expand_N_Timed_Entry_Call): New procedure Rewrite_Triggering_Statements, to encapsulate the statements that follow the trigger of the entry call. This procedure is needed when the trigger is a dispatching call, because the expansion requires several copies of those statements. The procedure is more efficient, and preserves non-local references when the construct is within an instance. From-SVN: r202454
2013-09-10sem_ch12.adb (Analyze_Package_Instantiation): If the instantiation is a ↵Ed Schonberg5-13/+83
compilation unit... 2013-09-10 Ed Schonberg <schonberg@adacore.com> * sem_ch12.adb (Analyze_Package_Instantiation): If the instantiation is a compilation unit, analyze aspects before analyzing the package declaration for the instance. * sem_ch13.adb (Analyze_Aspect_Specifications): If the corresponding node is a package instantiation, insert generated pragmas at the head of visible declarations. * sem_prag.adb (Analyze_Pragma, case Preelaborate): In an instance do not ignore the pragma if it comes from an aspect specification in the instance, and not from the generic unit. * sprint.adb (Sprint_Node_Actual): For a package declaration that is an instantiation, print aspects after declaration. From-SVN: r202453
2013-09-10einfo.adb, [...]: Minor reformatting.Robert Dewar4-16/+19
2013-09-10 Robert Dewar <dewar@adacore.com> * einfo.adb, sem_prag.adb, rtsfind.ads: Minor reformatting. From-SVN: r202452
2013-09-10sem_prag.adb (Get_SPARK_Mode_Id): Handle the case where the pragma may ↵Hristian Kirtchev4-24/+105
appear without an argument. 2013-09-10 Hristian Kirtchev <kirtchev@adacore.com> * sem_prag.adb (Get_SPARK_Mode_Id): Handle the case where the pragma may appear without an argument. (Analyze_Global_List): Add expanded_name to the list of constructs that denote a single item. (Collect_Global_List): Add expanded_name to the list of constructs that denote a single item. 2013-09-10 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch4.adb (Apply_Accessibility_Check): Add local constant Pool_Id and local variables Fin_Call and Free_Stmt. Finalize and deallocate a heap-allocated class-wide object after it has been determined that it violates the accessibility rules. * rtsfind.ads: Add new RTU_Id for System.Memory. Add new RE_Id and entry in RE_Unit_Table for RE_Free. From-SVN: r202451
2013-09-10[AArch64] Prevent generic pipeline description from dominating other ↵James Greenhalgh3-2/+19
pipeline descriptions. gcc/ * config/aarch64/aarch64.md (generic_sched): New. * config/aarch64/aarch64-generic.md (load): Make conditional on generic_sched attribute. (nonload): Likewise. From-SVN: r202448
2013-09-10lto-cgraph.c: Include ipa-utils.h.Jan Hubicka3-3/+41
* lto-cgraph.c: Include ipa-utils.h. (compute_ltrans_boundary): Also add possible targets into the boundary. From-SVN: r202447
2013-09-10gimple-fold.c (gimple_get_virt_method_for_binfo): Pass real VAR_DECL of ↵Jan Hubicka2-1/+6
vtable rather than full expression. * gimple-fold.c (gimple_get_virt_method_for_binfo): Pass real VAR_DECL of vtable rather than full expression. From-SVN: r202446
2013-09-10cgraphunit.c (analyze_functions): Save input_location, set it to ↵Jan Hubicka6-3/+26
UNKNOWN_LOCATION and restore it at the end. 2013-09-10 Jan Hubicka <jh@suse.cz> Paolo Carlini <paolo.carlini@oracle.com> * cgraphunit.c (analyze_functions): Save input_location, set it to UNKNOWN_LOCATION and restore it at the end. /cp 2013-09-10 Jan Hubicka <jh@suse.cz> Paolo Carlini <paolo.carlini@oracle.com> * error.c (print_instantiation_partial_context_line): If loc == UNKNOWN_LOCATION return immediately. /testsuite 2013-09-10 Jan Hubicka <jh@suse.cz> Paolo Carlini <paolo.carlini@oracle.com> * g++.dg/template/cond2.C: Tweak, do not expect a "required from". Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com> From-SVN: r202445
2013-09-10ipa-cp.c (propagate_constants_topo): Do not ignore SCC represented by a thunk.Martin Jambor2-23/+21
2013-09-10 Martin Jambor <mjambor@suse.cz> * ipa-cp.c (propagate_constants_topo): Do not ignore SCC represented by a thunk. From-SVN: r202444
2013-09-10re PR tree-optimization/58343 (ICE in dfs_enumerate_from, at cfganal.c:1036)Jeff Law5-7/+58
PR tree-optimization/58343 * tree-ssa-threadupdate.c (thread_block): Identify and disable jump threading requests through loop headers buried in the middle of a jump threading path. * tree-ssa-threadedge.c (thread_around_empty_blocks): Fix thinko in return value/type. * gcc.c-torture/compile/pr58343.c: New test. From-SVN: r202441
2013-09-10re PR rtl-optimization/58365 (likely wrong code bug)Jakub Jelinek4-0/+65
PR rtl-optimization/58365 * cfgcleanup.c (merge_memattrs): Also clear MEM_READONLY_P resp. MEM_NOTRAP_P if they differ, or set MEM_VOLATILE_P if it differs. * gcc.c-torture/execute/pr58365.c: New test. From-SVN: r202434
2013-09-10tree-data-ref.h (build_rdg): Drop all parameters but loop.Richard Biener4-76/+76
2013-09-10 Richard Biener <rguenther@suse.de> * tree-data-ref.h (build_rdg): Drop all parameters but loop. * tree-data-ref.c (create_rdg_vertices): Collect all data references, signal failure to the caller, use data-ref API. (build_rdg): Compute data references only once. Maintain lifetime of data references and data dependences from within RDG. (free_rdg): Free dependence relations. * tree-loop-distribution.c (rdg_flag_uses): Drop weird code inventing extra dependences. (distribute_loop): Update for RDG API changes. From-SVN: r202431
2013-09-10invoke.texi (fms-extensions): Document changed behavior for ms-abi targets.Kai Tietz3-0/+15
* doc/invoke.texi (fms-extensions): Document changed behavior for ms-abi targets. * config/i386/i386.c (ix86_option_override_internal): Set default value of option -fms-extension for ms-abi targets. From-SVN: r202429
2013-09-10re PR target/58330 (powerpc64 atomic store split in two)Alan Modra1-0/+11
PR target/58330 oops, missed from commit From-SVN: r202428
2013-09-10i386.c (ix86_expand_movmem): Fix epilogue generation.Michael Zolotukhin4-1/+31
gcc: * config/i386/i386.c (ix86_expand_movmem): Fix epilogue generation. gcc/testsuite: * gcc.dg/torture/memcpy-1.c: New test. From-SVN: r202423
2013-09-10Daily bump.GCC Administrator1-1/+1
From-SVN: r202421
2013-09-10re PR target/58330 (powerpc64 atomic store split in two)Alan Modra3-1/+12
PR target/58330 gcc/ * config/rs6000/rs6000.md (bswapdi2_64bit): Disable for volatile mems. gcc/testsuite/ * gcc.target/powerpc/pr58330.c: New. From-SVN: r202418
2013-09-10predicates.md (add_cint_operand): New.Alan Modra5-5/+35
gcc/ * config/rs6000/predicates.md (add_cint_operand): New. (reg_or_add_cint_operand, small_toc_ref): Use add_cint_operand. * config/rs6000/rs6000.md (largetoc_high_plus): Restrict offset using add_cint_operand. (largetoc_high_plus_aix): Likewise. gcc/testsuite/ * gcc.target/powerpc/medium_offset.c: New. From-SVN: r202417
2013-09-09invoke.texi (Error and Warning Options): Add hyphen.Tobias Burnus2-1/+5
2013-09-09 Tobias Burnus <burnus@net-b.de> * invoke.texi (Error and Warning Options): Add hyphen. From-SVN: r202416
2013-09-09re PR c++/58325 (Spurious unused-but-set-variable warning on delete[] of ↵Jakub Jelinek4-0/+40
volatile pointer) PR c++/58325 * init.c (build_vec_delete): Call mark_rvalue_use on base. * g++.dg/warn/Wunused-var-21.C: New test. From-SVN: r202411
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