summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* 2012-07-16 Thomas Quinot <quinot@adacore.com>charlet2012-07-1611-178/+255
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * freeze.adb (Check_Component_Storage_Order): Do not reject a nested composite with different scalar storage order if it is byte aligned. 2012-07-16 Thomas Quinot <quinot@adacore.com> * gnat_rm.texi: Update documentation for Scalar_Storage_Order. 2012-07-16 Tristan Gingold <gingold@adacore.com> * a-exexpr.adb (Propagate_Exception): Adjust call to Exception_Traces procedures. * a-exexpr-gcc.adb (Setup_Current_Excep): Now a function that returns an access to the Ada occurrence. (Propagate_GCC_Exception): Adjust calls. * raise.h (struct Exception_Occurrence): Declare. * a-exextr.adb: Remove useless pragma. (Notify_Handled_Exception, Notify_Unhandled_Exception) (Unhandled_Exception_Terminate): Add Excep parameter. * a-except.adb (Notify_Handled_Exception, Notify_Unhandled_Exception) (Unhandled_Exception_Terminate): Add Excep parameter. (Process_Raise_Exception): Adjust calls. * a-except-2005.adb (Notify_Handled_Exception, Notify_Unhandled_Exception) (Unhandled_Exception_Terminate): Add Excep parameter. (Raise_Exception): Calls Raise_Exception_Always. * raise-gcc.c (__gnat_setup_current_excep, __gnat_notify_handled_exception) (__gnat_notify_unhandled_exception): Adjust declarations. (PERSONALITY_FUNCTION): Adjust calls. (__gnat_personality_seh0): Remove warning. 2012-07-16 Javier Miranda <miranda@adacore.com> * sem_eval.adb (Test_Expression_Is_Foldable): Adding documentation. (Eval_Relational_Op): Adding documentation. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189532 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-07-16 Robert Dewar <dewar@adacore.com>charlet2012-07-1613-258/+453
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * freeze.adb, g-debpoo.adb, exp_ch3.adb: Minor reformatting. 2012-07-16 Thomas Quinot <quinot@adacore.com> * s-oscons-tmplt.c: Add definitions of E2BIG and EILSEQ. 2012-07-16 Tristan Gingold <gingold@adacore.com> * a-exexpr.adb (Propagate_Continue): New function replacing Raise_Current_Excep. (Allocate_Occurrence): New function. (Propagate_Exception): Add Excep parameter, remove call to Call_Chain. * a-exexpr-gcc.adb (GNAT_GCC_Exception): Occurrence component is now aliased. (To_GCC_Exception): Convert from Address. (Allocate_Occurrence): Allocate an Unwind exception occurrence. (Setup_Current_Excep): Fill the machine occurrence in case of foreign exception. (Propagate_Exception): Add Excep parameter, remove call to Call_Chain. * a-except.adb (Set_Exception_C_Msg, Set_Exception_Msg): add Excep parameter. (Raise_Exception, Raise_Exception_Always, Raise_Exception_No_Defer): Adjust calls to the above procedures. (Raise_From_Signal_Handler, Raise_With_Location_And_Msg) (Rcheck_PE_Finalize_Raised_Exception): Likewise. * a-except-2005.adb (Set_Exception_C_Msg, Set_Exception_Msg): add Excep parameter. (Propagate_Exception): Likewise. (Allocate_Occurrence): New function. (Raise_Current_Excep): Removed. (Complete_Occurrence): New function to save the call chain. (Complete_And_Propagate_Occurrence): New procedure. (Create_Occurrence_From_Signal_Handler): New function to build an occurrence without propagating it. (Create_Machine_Occurrence_From_Signal_Handler): Likewise, but return the machine occurrence. (Raise_From_Signal_Handler): Use Create_Occurrence_From_Signal_Handler. (Raise_Exception, Raise_Exception_Always, Raise_Exception_No_Defer): Adjust calls to the above procedures. Allocate the occurrence at the beginning. (Raise_With_Location_And_Msg, Raise_With_Msg) (Rcheck_PE_Finalize_Raised_Exceptionm Reraise): Likewise. (Reraise_Occurrence): Use Reraise_Occurrence_Always. (Reraise_Occurrence_Always): Use Reraise_Occurrence_No_Defer. (Reraise_Occurrence_No_Defer): Preserve machine occurrence. (Save_Occurrence): Do not save machine occurrence. * a-except-2005.ads (Exception_Occurrence): Add Machine_Occurrence component. (Null_Occurrence): Consider it. * a-exexda.adb (Set_Exception_C_Msg, Set_Exception_Msg): add Excep parameter. 2012-07-16 Tristan Gingold <gingold@adacore.com> * seh_init.c (__gnat_map_SEH): New function extracted from __gnat_SEH_error_handler. * raise-gcc.c: __gnat_personality_seh0: Directly transforms Windows system exception into GCC one when possible, in order to save stack room (particularly useful when Storage_Error will be propagated). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189530 138bc75d-0d04-0410-961f-82ee72b054a4
* Restore type attribute comparisonhjl2012-07-162-0/+11
| | | | | | | | | | PR middle-end/53959 PR bootstrap/53963 * gimple.c (gimple_types_compatible_p_1): Restore type attribute comparison. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189528 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-07-16 Bill Schmidt <wschmidt@linux.ibm.com>wschmidt2012-07-162-0/+6
| | | | | | | | | * opts.c (default_option): Add -fvect-cost-model to default options at -O3 and above. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189527 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-07-16 Robert Dewar <dewar@adacore.com>charlet2012-07-1612-83/+226
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * a-direct.adb, g-dirope.adb: Minor reformatting. 2012-07-16 Tristan Gingold <gingold@adacore.com> * a-except.ads, a-except-2005.ads: Remove outdated comment. 2012-07-16 Robert Dewar <dewar@adacore.com> * sem_ch6.adb (Subprogram_Name_Greater): Fix algorithm to conform to documentation. 2012-07-16 Ed Schonberg <schonberg@adacore.com> * gnat1drv.adb (Check_Library_Items): Removed, no longer used. 2012-07-16 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Array_Type_Declaration): if component type has invariants, the array type itself requires an invariant procedure. * exp_ch3.ads, exp_ch3.adb (Build_Array_Invariant_Proc): new procedure, to build a checking procedure that applies the invariant check on some type T to each component of an array of T's. Code is similar to the construction of the init_proc for an array, and handles multidimensional arrays by recursing over successive dimensions. 2012-07-16 Hristian Kirtchev <kirtchev@adacore.com> * g-debpoo.adb: Revert previous change. 2012-07-16 Hristian Kirtchev <kirtchev@adacore.com> * freeze.adb (Freeze_Entity): Insert the itype reference to a library-level class-wide subtype after the freeze node of the equivalent record type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189526 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-07-16 Pascal Obry <obry@adacore.com>charlet2012-07-167-23/+65
| | | | | | | | | | | | | | | | | * s-crtl.ads (mkdir): New routine, support encoding. * adaint.h (__gnat_mkdir): Update spec to pass encoding. * mkdir.c (__gnat_mkdir): Add encoding parameter. * a-direct.adb (Create_Directory): Use CRTL.mkdir, parse encoding in form parameter. * g-dirope.adb (Make_Dir): Update to pass encoding parameter. 2012-07-16 Pascal Obry <obry@adacore.com> * adaint.c: Minor reformatting. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189525 138bc75d-0d04-0410-961f-82ee72b054a4
* * graphite-clast-to-gimple.c, graphite-dependences.c,steven2012-07-165-6/+13
| | | | | | | | | graphite-sese-to-poly.c: Include tree-pass.h instead of dumpfile.h for pass TODO flags. * Makefile.in: Fix dependencies. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189524 138bc75d-0d04-0410-961f-82ee72b054a4
* * haifa-sched.c (init_before_recovery): Do not set EDGE_CAN_FALLTHRU.steven2012-07-163-4/+14
| | | | | | | * cfgrtl.c (force_nonfallthru_and_redirect): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189523 138bc75d-0d04-0410-961f-82ee72b054a4
* * function.c (stack_protect_epilogue): Use expand_call to expandsteven2012-07-165-40/+4
| | | | | | | | | | | | targetm.stack_protect_fail. * stmt.c (expand_expr_stmt): Remove now-unused function. * tree.h (expand_expr_stmt): Remove prototype. * doc/tm.texi.in (TARGET_STACK_PROTECT_FAIL): Document that this hook must return a CALL_EXPR. * doc/tm.texi: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189522 138bc75d-0d04-0410-961f-82ee72b054a4
* * emit-rtl.c (emit_label_before): Do not allow the same labelsteven2012-07-162-25/+14
| | | | | | | | | to be emitted twice. (emit_label_after): Likewise. (emit_label): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189521 138bc75d-0d04-0410-961f-82ee72b054a4
* * flags.h (TYPE_OVERFLOW_WRAPS, TYPE_OVERFLOW_UNDEFINED,steven2012-07-163-25/+32
| | | | | | | | | TYPE_OVERFLOW_TRAPS, POINTER_TYPE_OVERFLOW_UNDEFINED): Move to tree.h. * tree.h (TYPE_OVERFLOW_WRAPS, TYPE_OVERFLOW_UNDEFINED, TYPE_OVERFLOW_TRAPS, POINTER_TYPE_OVERFLOW_UNDEFINED): New home. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189520 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/steven2012-07-16227-873/+819
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * system.h (dump_file): Do not define. * tree-pass.h: Include dumpfile.h, which is a new file containing... (enum tree_dump_index, TDF_*, get_dump_file_name, dump_enabled_p, dump_initialized_p, dump_begin, dump_end, dump_node, dump_switch_p, dump_flag_name, dump_file, dump_flags, dump_file_name, get_dump_file_info, struct dump_file_info): all of this, moved to... * dumpfile.h: Here, new file. * tree-dump.h: Include dumpfile.h, but not tree-pass.h. (dump_stmt): Remove prototype for C++ specific function. (dump_enumerated_decls): Move prototype from here... * tree-flow.h (dump_enumerated_decls): ... to here. (get_ref_base_and_extent) Move prototype from here ... * tree.h (get_ref_base_and_extent) ... to here. * tree-ssa-live.c: Do not inclde tree-pretty-print.h, because gimple-pretty-print.h is enough. Do not include tree-dump.h, include timevar.h and dumpfile.h instead. (struct numbered_tree_d, compare_decls_by_uid, dump_enumerated_decls_push, dump_enumerated_decls): Move from here ... * tree-dfa.c:(struct numbered_tree_d, compare_decls_by_uid, dump_enumerated_decls_push, dump_enumerated_decls):... to here. Do not include timevar.h. * tree.c: Do not include timevar.h. * tree-cfg.c: Do not include langhooks.h, tree-pretty-print.h, and timevar.h. (dump_cfg_stats): Use current_function_name. (gimple_cfg2vcg): Likewise. (dump_function_to_file): Likewise. * df-scan.c: Do not include tree-pass.h and timevar.h. Include dumpfile.h. (df_entry_block_bitmap_verify, df_exit_block_bitmap_verify): Do not use print_current_pass. * df-problems.c: Include dumpfile.h. Always define REG_DEAD_DEBUGGING, avoid #ifdef code, because it leads to errors in the code not selected. (df_note_compute): Do not print_rtl_with_bb here. Fix compilation bug if REG_DEAD_DEBUGGING is not 0, get_insns is not available here. * lcm.c: Include dumpfile.h. Remove obsolete include of insn-attr.h. * dojump.c (do_compare_rtx_and_jump): Remove failure printing for missing probability notes. * stmt.c: Include dumpfile.h. (emit_case_decision_tree): Re-enable printing expand details only if TDF_DETAILS. * alias.c, auto-inc-dec.c, bb-reorder.c, caller-save.c, cfg.c, cfgcleanup.c, cfgexpand.c, cfgloop.c, cfgloopmanip.c, cgraph.c, cgraphclones.c, cgraphunit.c, combine.c, combine-stack-adj.c, coverage.c, cprop.c, cse.c, cselib.c, dbgcnt.c, dce.c, df-core.c, dse.c, dwarf2out.c, emit-rtl.c, except.c, expr.c, final.c, function.c, fwprop.c, gcse.c, gimple-fold.c, gimple-pretty-print.c, gimple-ssa-strength-reduction.c, gimplify.c, graphite-blocking.c, graphite-clast-to-gimple.c, graphite-dependences.c, graphite-interchange.c, graphite-optimize-isl.c, graphite-poly.c, graphite-sese-to-poly.c, haifa-sched.c, hw-doloop.c, ifcvt.c, ipa.c, ipa-cp.c, ipa-inline-analysis.c, ipa-inline.c, ipa-inline-transform.c, ipa-prop.c, ipa-pure-const.c, ipa-reference.c, ipa-split.c, ipa-utils.c, ira.c, ira-emit.c, jump.c, loop-doloop.c, loop-init.c, loop-invariant.c, loop-iv.c, loop-unroll.c, loop-unswitch.c, lower-subreg.c, lto-section-out.c, lto-streamer-in.c, matrix-reorg.c, mcf.c, mode-switching.c, modulo-sched.c, omega.c, omp-low.c, passes.c, plugin.c, postreload.c, postreload-gcse.c, predict.c, print-rtl.c, print-tree.c, profile.c, recog.c, ree.c, regcprop.c, reginfo.c, regmove.c, regrename.c, reg-stack.c, reload1.c, reorg.c, sched-rgn.c, sched-vis.c, sel-sched.c, sel-sched-ir.c, store-motion.c, tracer.c, trans-mem.c, tree-affine.c, tree-call-cdce.c, tree-cfgcleanup.c, tree-chrec.c, tree-data-ref.c, tree-diagnostic.c, tree-dump.c, tree-eh.c, tree-flow-inline.h, tree-if-conv.c, tree-into-ssa.c, tree-mudflap.c, tree-nrv.c, tree-object-size.c, tree-optimize.c, tree-outof-ssa.c, tree-predcom.c, tree-pretty-print.c, tree-profile.c, tree-scalar-evolution.c, tree-sra.c, tree-ssa-address.c, tree-ssa-alias.c, tree-ssa.c, tree-ssa-ccp.c, tree-ssa-coalesce.c, tree-ssa-copy.c, tree-ssa-copyrename.c,, tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c, tree-ssa-ifcombine.c, tree-ssa-loop.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c, tree-ssa-loop-ivcanon.c, tree-ssa-loop-ivopts.c, tree-ssa-loop-manip.c, tree-ssa-loop-niter.c, tree-ssa-loop-prefetch.c, tree-ssa-loop-unswitch.c, tree-ssa-math-opts.c, tree-ssa-operands.c, tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c, tree-ssa-propagate.c, tree-ssa-reassoc.c, tree-ssa-sccvn.c, tree-ssa-sink.c, tree-ssa-structalias.c, tree-ssa-tail-merge.c, tree-ssa-ter.c, tree-ssa-threadedge.c, tree-ssa-threadupdate.c, tree-ssa-uncprop.c, tree-ssa-uninit.c, tree-switch-conversion.c, tree-tailcall.c, tree-vect-data-refs.c, tree-vect-loop.c, tree-vect-loop-manip.c, tree-vectorizer.c, tree-vect-patterns.c, tree-vect-slp.c, tree-vect-stmts.c, tree-vrp.c, value-prof.c, var-tracking.c, web.c: Include tree-pass.h only if needed. If tree-pass.h is included, do not include timevar.h and dumpfile.h. If tree-pass.h is not included but dump_file, or dump_flags, or the TDF_* flags are used, include dumpfile.h. If gimple-pretty-print.h is included, don't include tree-pretty-print.h. Remove assorted unnecessary includes. * config/mn10300/mn10300.c, config/c6x/c6x.c, config/ia64/ia64.c, config/arm/arm.c, config/bfin/bfin.c, config/frv/frv.c, config/spu/spu.c, config/mep/mep.c, config/i386/i386.c: Include dumpfile.h. * config/rl78/rl78.c: Include dumpfile.h instead of tree-pass.h. * arm/t-arm, avr/t-avr, i386/t-i386, ia64/t-ia64, mep/t-mep, spu/t-spu-elf: Fix dependencies. c-family/ * c-gimplify.c: Include dumpfile.h instead of tree-dump.h. * c-ada-spec.c: Likewise. * c-dump.c (dump_stmt): Move to cp/dump.c, the only user. c/ * c-decl.c: Include dumpfile.h instead of tree-dump.h. * Make-lang.in: Fix dependencies. cp/ * dump.c (dump_stmt): Moved here from c-dump.c. * optimize.c: Include dumpfile.h instead of tree-dump.h. * class.c: Likewise. * decl2.c: Likewise. * Make-lang.in: Fix dependencies. fortran/ * f95-lang.c: Include dumpfile.h instead of tree-dump.h. * Make-lang.in: Fix dependencies. java/ * java-gimplify.c Include dumpfile.h instead of tree-dump.h * Make-lang.in: Fix dependencies. lto/ * lto.c: Do not include timevar.h. * Make-lang.in: Fix dependencies. ada/ * gcc-interface/utils.c: Include timevar.h. * Make-lang.in: Fix dependencies. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189519 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-07-16 Dehao Chen <dehao@google.com>dehao2012-07-1638-319/+221
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert 2012-07-10 Dehao Chen <dehao@google.com> * tree.h (phi_arg_d): New field. * tree-flow-inline.h (gimple_phi_arg_block): New function. (gimple_phi_arg_block_from_edge): New function. (gimple_phi_arg_set_block): New function. (gimple_phi_arg_has_block): New function. (redirect_edge_var_map_block): New function. * tree-flow.h (_edge_var_map): New field. * tree-ssa-live.c (remove_unused_locals): Mark phi_arg's block as used. * tree-eh.c (cleanup_empty_eh_merge_phis): Add block debug info for redirect_edge_var_map_add. * tree-outof-ssa.c (_elim_graph): New field. (insert_partition_copy_on_edge): New parameter. (insert_value_copy_on_edge): New parameter. (insert_rtx_to_part_on_edge): New parameter. (insert_part_to_rtx_on_edge): New parameter. (elim_graph_add_edge): New parameter. (elim_graph_remove_succ_edge): New parameter. (FOR_EACH_ELIM_GRAPH_SUCC): New parameter. (FOR_EACH_ELIM_GRAPH_PRED): New parameter. (new_elim_graph): Add block debug info. (clear_elim_graph): Likewise. (delete_elim_graph): Likewise. (elim_graph_add_node): Likewise. (elim_graph_add_edge): Likewise. (elim_graph_remove_succ_edge): Likewise. (eliminate_build): Likewise. (elim_forward): Likewise. (elim_unvisited_predecessor): Likewise. (elim_backward): Likewise. (elim_create): Likewise. (eliminate_phi): Likewise. (insert_backedge_copies): Likewise. * tree-into-ssa.c (insert_phi_nodes_for): Add block debug info for add_phi_arg. (rewrite_add_phi_arguments): Likewise. * tree-ssa-loop-im.c (execute_sm_if_changed): Likewise. * tree-ssa-tail-merge.c (replace_block_by): Likewise. * tree-ssa-threadupdate.c (copy_phi_args): Likewise. * tree-loop-distribution.c (update_phis_for_loop_copy): Likewise. * tree-ssa-loop-manip.c (create_iv): Likewise. (add_exit_phis_edge): Likewise. (split_loop_exit_edge): Likewise. (copy_phi_node_args): Likewise. (tree_transform_and_unroll_loop): Likewise. * value-prof.c (gimple_ic): Likewise. (gimple_stringop_fixed_value): Likewise. * tree-tailcall.c (add_successor_phi_arg): Likewise. (eliminate_tail_call): Likewise. (create_tailcall_accumulator): Likewise. (tree_optimize_tail_calls_1): Likewise. * tree-phinodes.c (add_phi_arg): Likewise. (make_phi_node): Likewise. (resize_phi_node): Likewise. (remove_phi_arg_num): Likewise. * omp-low.c (expand_parallel_call): Likewise. (expand_omp_for_static_chunk): Likewise. * tree-vect-loop-manip.c (slpeel_update_phis_for_duplicate_loop): Likewise. (slpeel_update_phi_nodes_for_guard1): Likewise. (slpeel_update_phi_nodes_for_guard2): Likewise. (slpeel_tree_duplicate_loop_to_edge_cfg): Likewise. (set_prologue_iterations): Likewise. (slpeel_tree_peel_loop_to_edge): Likewise. (vect_loop_versioning): Likewise. * tree-parloops.c (create_phi_for_local_result): Likewise. (transform_to_exit_first_loop): Likewise. (create_parallel_loop): Likewise. * ipa-split.c (split_function): Likewise. * tree-vect-loop.c (get_initial_def_for_induction): Likewise. (vect_create_epilog_for_reduction): Likewise. * tree-vect-data-refs.c (vect_setup_realignment): Likewise. * graphite-scop-detection.c (canonicalize_loop_closed_ssa): Likewise. * tree-ssa-phiopt.c (cond_store_replacement): Likewise. (cond_if_else_store_replacement_1): Likewise. * tree-cfgcleanup.c (remove_forwarder_block): Likewise. (remove_forwarder_block_with_phi): Likewise. * tree-ssa-pre.c (insert_into_preds_of_block): Likewise. * tree-predcom.c (initialize_root_vars): Likewise. (initialize_root_vars_lm): Likewise. * sese.c (sese_add_exit_phis_edge): Likewise. * tree-ssa-dce.c (forward_edge_to_pdom): Likewise. * tree-ssa.c (flush_pending_stmts): Likewise. (redirect_edge_var_map_add): Likewise. (ssa_redirect_edge): Likewise. * gimple-streamer-in.c (input_phi): Likewise. * tree-vect-stmts.c (vectorizable_load): Likewise. * tree-inline.c (copy_phis_for_bb): Likewise. * tree-ssa-phiprop.c (phiprop_insert_phi): Likewise. * tree-switch-conversion.c (fix_phi_nodes): Likewise. * tree-cfg.c (reinstall_phi_args): Likewise. (gimple_make_forwarder_block): Likewise. (add_phi_args_after_copy_edge): Likewise. (gimple_duplicate_sese_tail): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189518 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-07-16 Vasiliy Fofanov <fofanov@adacore.com>charlet2012-07-165-41/+142
| | | | | | | | | | | | | | | | | | | * ug_words, vms_data.ads: Document VMS qualifiers for -gnatn1/2 switches. 2012-07-16 Bob Duff <duff@adacore.com> * sinfo.ads: Minor comment fix. 2012-07-16 Bob Duff <duff@adacore.com> * sem_elab.adb (Within_Elaborate_All): Walk the with clauses to find pragmas Elaborate_All that may be found in the transitive closure of the dependences. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189517 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-07-16 Robert Dewar <dewar@adacore.com>charlet2012-07-165-24/+32
| | | | | | | | | * exp_pakd.adb, freeze.adb, sem_util.adb, vms_data.ads: Minor reformatting. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189516 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-07-16 Janus Weil <janus@gcc.gnu.org>janus2012-07-166-12/+45
| | | | | | | | | | | | | | | | | | | | | PR fortran/53956 * gfortran.h (gfc_copy_formal_args,gfc_copy_formal_args_ppc): Modified prototypes. * symbol.c (gfc_copy_formal_args): New argument 'if_src'. Copy if_source of dummy procedures. (gfc_copy_formal_args_ppc): Ditto. * resolve.c (resolve_procedure_interface): Pass IFSRC_DECL to gfc_copy_formal_args. (resolve_fl_derived0): Pass IFSRC_DECL to gfc_copy_formal_args_ppc. 2012-07-16 Janus Weil <janus@gcc.gnu.org> PR fortran/53956 * gfortran.dg/proc_decl_28.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189514 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-07-16 Sergey Melnikov <sergey.melnikov@intel.com>kyukhin2012-07-162-4/+14
| | | | | | | | | | | | | | * config/i386/i386.md (stack_protect_set): Disable the pattern for Android since Android libc (bionic) does not provide random value for stack protection guard at gs:0x14. Guard value will be provided from external symbol (default implementation). (stack_protect_set_<mode>): Likewise. (stack_protect_test): Likewise. (stack_protect_test_<mode>): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189513 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-07-16 Andrew Pinski <apinski@cavium.com>pinskia2012-07-162-0/+13
| | | | | | | | * gcc.dg/torture/builtins-1.c: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189510 138bc75d-0d04-0410-961f-82ee72b054a4
* Commit hunk missing from last changehp2012-07-161-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189509 138bc75d-0d04-0410-961f-82ee72b054a4
* Tweak ChangeLog formatting for my recent entrieshp2012-07-161-5/+3
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189508 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/cris/cris-protos.h (cris_legitimate_address_p): Declare.hp2012-07-164-5/+11
| | | | | | | | | * config/cris/cris.h (CONSTANT_ADDRESS_P): Define in terms of CONSTANT_P and cris_legitimate_address_p. * config/cris/cris.c (cris_legitimate_address_p): Make non-static. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189507 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/cris/cris.c (cris_preferred_reload_class):hp2012-07-162-0/+4
| | | | | | | Don't return GENERAL_REGS as preferred to MOF_SRP_REGS. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189506 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc.target/cris/sync-2i.c, gcc.target/cris/sync-2s.c,hp2012-07-1610-0/+36
| | | | | | | | | | | | gcc.target/cris/sync-3i.c, gcc.target/cris/sync-3s.c, gcc.target/cris/sync-4i.c, gcc.target/cris/sync-4s.c, gcc.target/cris/sync-1-v10.c, gcc.target/cris/sync-1-v32.c: For cris*-*-linux*, also pass -mno-unaligned-atomic-may-use-library. * gcc.target/cris/sync-xchg-1.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189505 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/cris/cris.c (cris_init_libfuncs): Handle initializationhp2012-07-165-3/+33
| | | | | | | | | | | | | | | | of library functions for basic atomic compare-and-swap. * config/cris/cris.h (TARGET_ATOMICS_MAY_CALL_LIBFUNCS): New macro. * config/cris/cris.opt (munaligned-atomic-may-use-library): New option. * config/cris/sync.md ("atomic_fetch_<atomic_op_name><mode>") ("cris_atomic_fetch_<atomic_op_name><mode>_1") ("atomic_compare_and_swap<mode>") ("cris_atomic_compare_and_swap<mode>_1"): Make conditional on TARGET_ATOMICS_MAY_CALL_LIBFUNCS for sizes larger than byte. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189504 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/cris/cris.c (cris_print_operand) <case 'P', 'q'>: New cases.hp2012-07-163-30/+107
| | | | | | | | | | | | | | | | | | | | | * config/cris/sync.md (atomic_op_op_cnstr): New code_attr. (atomic_op_op_pred): Ditto. (atomic_op_mnem_pre_op2): Renamed from atomic_op_mnem_pre; to reflect the change to include %2 in expansion. All callers changed. (qm3): New mode_attr. ("atomic_fetch_<atomic_op_name><mode>"): Use <atomic_op_op_pred> as predicate for operand 2. ("cris_atomic_fetch_<atomic_op_name><mode>_1"): Update FIXME. Use "<atomic_op_op_pred>" "<atomic_op_op_cnstr>" for predicate and constraint for operand 2. ("atomic_compare_and_swap<mode>"): Add FIXME. Change predicate to nonmemory_operand for operand 3. ("cris_atomic_compare_and_swap<mode>_1"): Change operand 3 to exclude memory. Improve emitted sync code for v10 and v32. Use <qm3> instead of <m> for size designator for cmp. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189503 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc.target/cris/20011127-1.c: Adjust to %P being ahp2012-07-162-1/+5
| | | | | | | valid register operand output modifier. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189502 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/cris/sync.md ("atomic_compare_and_swap<mode>"): Changehp2012-07-162-3/+8
| | | | | | | | predicate to nonmemory_operand for operand 3. Add FIXME. ("cris_atomic_compare_and_swap<mode>_1"): Change predicates and git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189501 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/cris/sync.md ("atomic_fetch_<atomic_op_name><mode>")hp2012-07-162-4/+18
| | | | | | | | ("atomic_compare_and_swap<mode>"): Gate expand_mem_thread_fence calls on result of call to need_atomic_barrier_p. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189500 138bc75d-0d04-0410-961f-82ee72b054a4
* Daily bump.gccadmin2012-07-161-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189499 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/rsandifo2012-07-1521-71/+109
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * config/mips/mips.md (move_type): Replace mfhilo and mthilo with mflo and mtlo. (type): Split mfhilo into mfhi and mflo. Split mthilo into mthi and mtlo. Adjust move_type->type mapping. (may_clobber_hilo): Split mthilo into mthi and mtlo. (*movdi_32bit, *movdi_32bit_mips16, *movdi_64bit, *movdi_64bit_mips16) (*mov<mode>_internal, *mov<mode>_mips16, *movhi_internal) (*movhi_mips16, *movqi_internal, *movqi_mips16): Use mtlo and mflo instead of mthilo and mfhilo. (mfhi<GPR:mode>_<HILO:mode>): Use mfhi instead of mfhilo. (mthi<GPR:mode>_<HILO:mode>): Use mthi instead of mthilo. * config/mips/mips-dsp.md (mips_extr_w, mips_extr_r_w, mips_extr_rs_w) (mips_extr_s_h, mips_extp, mips_extpdp, mips_shilo, mips_mthlip): Use mflo instead of mfhilo. * config/mips/10000.md (r10k_arith): Split mthilo. (r10k_mfhi, r10k_mflo): Use mfhi and mflo directly. * config/mips/sb1.md (ir_sb1_mfhi, ir_sb1_mflo): Likewise. (ir_sb1_mthilo): Split mthilo into mthi and mtlo. * config/mips/20kc.md (r20kc_imthilo, r20kc_imfhilo): Split mthilo and mfhilo. * config/mips/24k.md (r24k_int_mfhilo, r24k_int_mthilo): Likewise. * config/mips/4130.md (vr4130_class, vr4130_mfhilo, vr4130_mthilo): Likewise. * config/mips/4k.md (r4k_int_mthilo, r4k_int_mfhilo): Likewise. * config/mips/5400.md (ir_vr54_hilo): Likewise. * config/mips/5500.md (ir_vr55_mthilo, ir_vr55_mfhilo): Likewise. * config/mips/5k.md (r5k_int_mthilo, r5k_int_mfhilo): Likewise. * config/mips/7000.md (rm7_mthilo, rm7_mfhilo): Likewise. * config/mips/74k.md (r74k_int_mfhilo, r74k_int_mthilo): Likewise. * config/mips/9000.md (rm9k_mfhilo, rm9k_mthilo): Likewise. * config/mips/generic.md (generic_hilo): Likewise. * config/mips/loongson2ef.md (ls2_alu): Likewise. * config/mips/loongson3a.md (ls3a_mfhilo): Likewise. * config/mips/octeon.md (octeon_imul_o1, octeon_imul_o2) (octeon_mfhilo_o1, octeon_mfhilo_o2): Likewise. * config/mips/sr71k.md (ir_sr70_hilo): Likewise. * config/mips/xlr.md (xlr_hilo): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189496 138bc75d-0d04-0410-961f-82ee72b054a4
* * g++.dg/debug/dwarf2/pubnames-2.C: Support all known commentschwab2012-07-152-56/+61
| | | | | | | characters. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189494 138bc75d-0d04-0410-961f-82ee72b054a4
* Daily bump.gccadmin2012-07-151-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189489 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-07-14 Andrew Stubbs <ams@codesourcery.com>sandra2012-07-152-2/+7
| | | | | | | | | | Sandra Loosemore <sandra@codesourcery.com> gcc/ * config/sh/sh.h (SH_ASM_SPEC): Add spaces between options. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189486 138bc75d-0d04-0410-961f-82ee72b054a4
* Add missing pthread requirement.mrs2012-07-141-0/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189485 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/i386/i386.c (ix86_set_reg_reg_cost): Enable TFmode/TCmodeuros2012-07-143-3/+8
| | | | | | | | for TARGET_SSE. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189483 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/steven2012-07-144-30/+11
| | | | | | | | | | | * toplev.c (init_asm_output): Open asm_out_file in 'w' mode. c-family/ * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define. Remove code conditional on it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189482 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/t-darwin (crt3.0): Remove work-around for fixed PR26840.steven2012-07-142-3/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189479 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-07-13 Andrew Pinski <apinski@cavium.com>pinskia2012-07-143-2/+8
| | | | | | | | | | | * gcc.target/mips/octeon2-pipe-1.c: Use cleanup-rtl-dump rather than cleanup-tree-dump. * gcc.target/mips/octeon-pipe-1.c: Likewise. tree git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189477 138bc75d-0d04-0410-961f-82ee72b054a4
* Daily bump.gccadmin2012-07-141-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189476 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-07-13 Bill Schmidt <wschmidt@linux.ibm.com>wschmidt2012-07-134-12/+28
| | | | | | | | | | | | | | | | | | | PR bootstrap/53955 * config/spu/spu.c (spu_init_cost): Mark static. (spu_add_stmt_cost): Likewise. (spu_finish_cost): Likewise. (spu_destroy_cost_data): Likewise. * config/i386/i386.c (ix86_init_cost): Mark static. (ix86_add_stmt_cost): Likewise. (ix86_finish_cost): Likewise. (ix86_destroy_cost_data): Likewise. * config/rs6000/rs6000.c (rs6000_init_cost): Mark static. (rs6000_add_stmt_cost): Likewise. (rs6000_finish_cost): Likewise. (rs6000_destroy_cost_data): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189473 138bc75d-0d04-0410-961f-82ee72b054a4
* include/devans2012-07-134-0/+64
| | | | | | | | | | * filenames.h: #include "hashtab.h". (filename_hash, filename_eq): Declare. libiberty/ * filename_cmp.c (filename_hash, filename_eq): New functions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189472 138bc75d-0d04-0410-961f-82ee72b054a4
* * ggc.h (ggc_internal_alloc_stat, ggc_alloc_typed_stat,steven2012-07-134-14/+29
| | | | | | | | | | | | | ggc_internal_cleared_alloc_stat, ggc_cleared_alloc_htab_ignore_args, ggc_cleared_alloc_ptr_array_two_args, ggc_splay_alloc): Add ATTRIBUTE_MALLOC. * alloc-pool.h (pool_alloc): Likewise. * final.c (final): Do not loop to find max_uid. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189470 138bc75d-0d04-0410-961f-82ee72b054a4
* * emit-rtl.c (make_debug_insn_raw, make_jump_insn_raw): Make static.steven2012-07-133-5/+7
| | | | | | | | * rtl.h (make_debug_insn_raw, make_jump_insn_raw): Remove prototypes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189467 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/53953jason2012-07-132-3/+8
| | | | | | * method.c (synthesized_method_walk): Initialize no_implicit_p sooner. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189465 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-07-13 Richard Guenther <rguenther@suse.de>rguenth2012-07-136-5/+13
| | | | | | | | | | | * testsuite/libmudflap.c++/ctors.exp: Explicitely specify -O0. * testsuite/libmudflap.c++/c++frags.exp: Likewise. * testsuite/libmudflap.cth/cthfrags.exp: Likewise. * testsuite/libmudflap.c/cfrags.exp: Likewise. * testsuite/libmudflap.c/externs.exp: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189464 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-07-13 Richard Guenther <rguenther@suse.de>rguenth2012-07-133-2/+7
| | | | | | | | * testsuite/libmudflap.c/fail11-frag.c: Adjust to not look like memset. * testsuite/libmudflap.c/fail12-frag.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189463 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-07-13 Richard Guenther <rguenther@suse.de>rguenth2012-07-134-0/+80
| | | | | | | | | | | PR tree-optimization/53907 * tree-ssa-forwprop.c (associate_pointerplus): New function. (ssa_forward_propagate_and_combine): Call it. * gcc.target/i386/pr53907.c: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189462 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-07-13 Richard Guenther <rguenther@suse.de>rguenth2012-07-134-52/+66
| | | | | | | | | | | | | | | | | | PR tree-optimization/53922 * tree-vrp.c (value_inside_range): Change prototype to take min/max instead of value-range. (range_includes_zero_p): Likewise. Return the result from value_inside_range. (extract_range_from_binary_expr_1): Adjust to handle dont-know return value from range_includes_zero_p. (extract_range_from_unary_expr_1): Likewise. (compare_range_with_value): Likewise. (vrp_meet_1): Likewise. * gcc.dg/torture/pr53922.c: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189461 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-07-13 Bill Schmidt <wschmidt@linux.ibm.com>wschmidt2012-07-1315-160/+826
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/tm.texi: Regenerate. * doc/tm.texi.in (TARGET_VECTORIZE_INIT_COST): New hook. (TARGET_VECTORIZE_ADD_STMT_COST): Likewise. (TARGET_VECTORIZE_FINISH_COST): Likewise. (TARGET_VECTORIZE_DESTROY_COST_DATA): Likewise. * targhooks.c (default_init_cost): New function. (default_add_stmt_cost): Likewise. (default_finish_cost): Likewise. (default_destroy_cost_data): Likewise. * targhooks.h (default_init_cost): New decl. (default_add_stmt_cost): Likewise. (default_finish_cost): Likewise. (default_destroy_cost_data): Likewise. * target.def (init_cost): New DEFHOOK. (add_stmt_cost): Likewise. (finish_cost): Likewise. (destroy_cost_data): Likewise. * target.h (struct _stmt_vec_info): New extern decl. (stmt_vectype): Likewise. (stmt_in_inner_loop_p): Likewise. * tree-vectorizer.h (stmt_info_for_cost): New struct/typedef. (stmt_vector_for_cost): New VEC/typedef. (add_stmt_info_to_vec): New function. (struct _slp_tree): Remove cost.inside_of_loop field. (struct _slp_instance): Remove cost.inside_of_loop field; add stmt_cost_vec field. (SLP_INSTANCE_INSIDE_OF_LOOP_COST): Remove macro. (SLP_INSTANCE_STMT_COST_VEC): New accessor macro. (SLP_TREE_INSIDE_OF_LOOP_COST): Remove macro. (struct _vect_peel_extended_info): Add stmt_cost_vec field. (struct _loop_vec_info): Add target_cost_data field. (LOOP_VINFO_TARGET_COST_DATA): New accessor macro. (struct _bb_vec_info): Add target_cost_data field. (BB_VINFO_TARGET_COST_DATA): New accessor macro. (struct _stmt_vec_info): Remove cost.inside_of_loop field. (STMT_VINFO_INSIDE_OF_LOOP_COST): Remove macro. (stmt_vinfo_set_inside_of_loop_cost): Remove function. (init_cost): New function. (add_stmt_cost): Likewise. (finish_cost): Likewise. (destroy_cost_data): Likewise. (vect_model_simple_cost): Change parameter list. (vect_model_store_cost): Likewise. (vect_model_load_cost): Likewise. (record_stmt_cost): New extern decl. (vect_get_load_cost): Change parameter list. (vect_get_store_cost): Likewise. * tree-vect-loop.c (new_loop_vec_info): Call init_cost. (destroy_loop_vec_info): Call destroy_cost_data. (vect_estimate_min_profitable_iters): Remove old calculation of inside costs; call finish_cost instead. (vect_model_reduction_cost): Call add_stmt_cost instead of old inside-costs calculation. (vect_model_induction_cost): Likewise. * tree-vect-data-refs.c (vect_get_data_access_cost): Change to return a stmt_vector_for_cost; modify calls to vect_get_load_cost and vect_get_store_cost to obtain the value to return. (vect_peeling_hash_get_lowest_cost): Obtain a stmt_cost_vec from vect_get_data_access_cost and store it in the minimum peeling structure. (vect_peeling_hash_choose_best_peeling): Change the parameter list to add a (stmt_vector_for_cost *) output parameter, and set its value. (vect_enhance_data_refs_alignment): Ignore the new return value from calls to vect_get_data_access_cost; obtain stmt_cost_vec from vect_peeling_hash_choose_best_peeling and pass its contents to the target cost model. * tree-vect-stmts.c (stmt_vectype): New function. (stmt_in_inner_loop_p): Likewise. (record_stmt_cost): Likewise. (vect_model_simple_cost): Add stmt_cost_vec parameter; call record_stmt_cost instead of old calculation; don't call stmt_vinfo_set_inside_of_loop_cost. (vect_model_promotion_demotion_cost): Call add_stmt_cost instead of old calculation; don't call stmt_vinfo_set_inside_of_loop_cost. (vect_model_store_cost): Add stmt_cost_vec parameter; call record_stmt_cost instead of old calculation; add stmt_cost_vec parameter to vect_get_store_cost call; don't call stmt_vinfo_set_inside_of_loop_cost. (vect_get_store_cost): Add stmt_cost_vec parameter; call record_stmt_cost instead of old calculation. (vect_model_load_cost): Add stmt_cost_vec parameter; call record_stmt_cost instead of old calculation; add stmt_cost_vec parameter to vect_get_load_cost call; don't call stmt_vinfo_set_inside_of_loop_cost. (vect_get_load_cost): Add stmt_cost_vec parameter; call record_stmt_cost instead of old calculation. (vectorizable_call): Add NULL parameter to vect_model_simple_cost call. (vectorizable_conversion): Likewise. (vectorizable_assignment): Likewise. (vectorizable_shift): Likewise. (vectorizable_operation): Likewise. (vectorizable_store): Add NULL parameter to vect_model_store_cost call. (vectorizable_load): Add NULL parameter to vect_model_load_cost call. (new_stmt_vec_info): Don't set STMT_VINFO_INSIDE_OF_LOOP_COST. * config/spu/spu.c (TARGET_VECTORIZE_INIT_COST): New macro def. (TARGET_VECTORIZE_ADD_STMT_COST): Likewise. (TARGET_VECTORIZE_FINISH_COST): Likewise. (TARGET_VECTORIZE_DESTROY_COST_DATA): Likewise. (spu_init_cost): New function. (spu_add_stmt_cost): Likewise. (spu_finish_cost): Likewise. (spu_destroy_cost_data): Likewise. * config/i386/i386.c (ix86_init_cost): New function. (ix86_add_stmt_cost): Likewise. (ix86_finish_cost): Likewise. (ix86_destroy_cost_data): Likewise. (TARGET_VECTORIZE_INIT_COST): New macro def. (TARGET_VECTORIZE_ADD_STMT_COST): Likewise. (TARGET_VECTORIZE_FINISH_COST): Likewise. (TARGET_VECTORIZE_DESTROY_COST_DATA): Likewise. * config/rs6000/rs6000.c (TARGET_VECTORIZE_INIT_COST): New macro def. (TARGET_VECTORIZE_ADD_STMT_COST): Likewise. (TARGET_VECTORIZE_FINISH_COST): Likewise. (TARGET_VECTORIZE_DESTROY_COST_DATA): Likewise. (rs6000_init_cost): New function. (rs6000_add_stmt_cost): Likewise. (rs6000_finish_cost): Likewise. (rs6000_destroy_cost_data): Likewise. * tree-vect-slp.c (vect_free_slp_instance): Free stmt_cost_vec. (vect_create_new_slp_node): Don't set SLP_TREE_INSIDE_OF_LOOP_COST. (vect_get_and_check_slp_defs): Add stmt_cost_vec parameter; add stmt_cost_vec parameter to vect_model_store_cost and vect_model_simple_cost calls. (vect_build_slp_tree): Remove inside_cost parameter; add stmt_cost_vec parameter; add stmt_cost_vec parameter to vect_get_and_check_slp_defs, vect_model_load_cost, and recursive vect_build_slp_tree calls; prevent calculating cost more than once for loads; remove inside_cost parameter from recursive vect_build_slp_tree calls; call record_stmt_cost instead of old calculation. (vect_analyze_slp_instance): Allocate stmt_cost_vec and save it with the instance; free it on premature exit; remove inside_cost parameter from vect_build_slp_tree call; add stmt_cost_vec parameter to vect_build_slp_tree call; don't set SLP_INSTANCE_INSIDE_OF_LOOP_COST. (new_bb_vec_info): Call init_cost. (destroy_bb_vec_info): Call destroy_cost_data. (vect_bb_vectorization_profitable_p): Call add_stmt_cost for each statement recorded with an SLP instance; call finish_cost instead of the old calculation. (vect_update_slp_costs_according_to_vf): Record statement costs from SLP instances, multiplying by the appropriate number of copies; don't update SLP_INSTANCE_INSIDE_OF_LOOP_COST. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189460 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-07-13 Richard Guenther <rguenther@suse.de>rguenth2012-07-132-0/+13
| | | | | | | | | PR middle-end/53937 * builtins.c (get_pointer_alignment_1): Handle constant pointers. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189458 138bc75d-0d04-0410-961f-82ee72b054a4