[PATCH 1/2] add unique_ptr header

2017-07-31 Thread tbsaunde+gcc
From: Trevor Saunders For most of the history of this see https://sourceware.org/ml/gdb-patches/2016-10/msg00223.html The changes are mostly s/gdb/gtl/g include/ChangeLog: 2017-07-29 Trevor Saunders * unique-ptr.h: New file. --- include/unique-ptr.h | 386 +

[PATCH 2/2] use unique_ptr some

2017-07-31 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2017-07-31 Trevor Saunders * cse.c (find_comparison_args): Make visited a unique_ptr. * lto-streamer-out.c (write_global_references): Make data a unique_ptr. * tree-cfg.c (move_sese_region_to_fn): Make several variables

[PATCH 0/2] add unique_ptr class

2017-07-31 Thread tbsaunde+gcc
From: Trevor Saunders Hi, I've been saying I'd do this for a long time, but I'm finally getting to importing the C++98 compatable unique_ptr class Pedro wrote for gdb a while back. I believe the gtl namespace also comes from Pedro, but GNU template library seems as reasonable as any other name

[PATCH 18/19] use c++ for gimple_build_debug_bind{,_source}

2017-07-27 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2017-07-27 Trevor Saunders * gimple.c (gimple_build_debug_bind_stat): Remove _stat from name. (gimple_build_debug_bind_source_stat): Likewise. * gimple.h (gimple_build_debug_bind): Remove macro. (gimple_build_debug_bind_sou

[PATCH 19/19] use c++ for fold_buildN_loc

2017-07-27 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2017-07-27 Trevor Saunders * fold-const.c (fold_build1_stat_loc): Remove _stat from name. (fold_build2_stat_loc): Likewise. (fold_build3_stat_loc): Likewise. * fold-const.h (fold_build1, fold_build2, fold_build3): Adjust.

[PATCH 16/19] simplify the bitmap alloc_stat functions with c++

2017-07-27 Thread tbsaunde+gcc
From: Trevor Saunders gcc/fortran/ChangeLog: 2017-07-27 Trevor Saunders * resolve.c (find_reachable_labels): Adjust. gcc/ChangeLog: 2017-07-27 Trevor Saunders * bitmap.c (bitmap_obstack_alloc_stat): Rename to bitmap_alloc. (bitmap_gc_alloc_stat): Rename to bitma

[PATCH 17/19] use c++ for bitmap_initialize

2017-07-27 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2017-07-27 Trevor Saunders * bitmap.c (bitmap_alloc): Adjust. (bitmap_gc_alloc): Likewise. * bitmap.h (bitmap_initialize_stat): Remove _stat from name. --- gcc/bitmap.c | 4 ++-- gcc/bitmap.h | 3 +-- 2 files changed, 3 insertions

[PATCH 15/19] replace shallow_copy_rtx_stat with c++

2017-07-27 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2017-07-27 Trevor Saunders * rtl.c (shallow_copy_rtx_stat): Remove _stat from name. * rtl.h (shallow_copy_rtx): Remove macro. --- gcc/rtl.c | 2 +- gcc/rtl.h | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/gcc/rtl.

[PATCH 13/19] use c++ for build_tree_list{,_vec}_stat

2017-07-27 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2017-07-27 Trevor Saunders * tree.c (build_tree_list_vec_stat): Remove _stat from name. (build_tree_list_stat): Likewise. * tree.h (build_tree_list): Remove macro. (build_tree_list_vec): Likewise. --- gcc/tree.c | 6 +++---

[PATCH 12/19] use C++ for {make,build}_vector_stat

2017-07-27 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2017-07-27 Trevor Saunders * tree.c (make_vector_stat): Remove _stat from name. (build_vector_stat): Likewise. * tree.h (make_vector_stat): Remove macro. (build_vector_stat): Likewise. --- gcc/tree.c | 4 ++-- gcc/tree.h |

[PATCH 14/19] replace rtx_alloc_stat with c++

2017-07-27 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2017-07-27 Trevor Saunders * emit-rtl.c (gen_raw_REG): Adjust. * gengenrtl.c (gendef): Likewise. * rtl.c (rtx_alloc_stat): Remove _stat from name. * rtl.h (rtx_alloc): Remove macro. --- gcc/emit-rtl.c | 2 +- gcc/gengenrt

[PATCH 09/19] use c++ instead of build_vl_exp_stat

2017-07-27 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2017-07-27 Trevor Saunders * tree.c (build_vl_exp_stat): Remove _stat from name. * tree.h (build_vl_exp): Remove macro. --- gcc/tree.c | 2 +- gcc/tree.h | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/gcc/tree.c b

[PATCH 05/19] use c++ instead of buildN_stat{,_loc}

2017-07-27 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2017-07-27 Trevor Saunders * fold-const.c (fold_build1_stat_loc): Adjust. (fold_build2_stat_loc): Likewise. (fold_build3_stat_loc): Likewise. * tree.c (build0_stat): Remove _stat from name. (build1_stat): Likewise.

[PATCH 11/19] remove unused build_var_debug_value prototype

2017-07-27 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2017-07-27 Trevor Saunders * tree.h (build_var_debug_value): Remove prototype. --- gcc/tree.h | 4 1 file changed, 4 deletions(-) diff --git a/gcc/tree.h b/gcc/tree.h index 7ecfb947fe2..d765c31cda3 100644 --- a/gcc/tree.h +++ b/gcc/tree.h @

[PATCH 06/19] use c++ instead of {make,grow}_tree_vec_stat

2017-07-27 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2017-07-27 Trevor Saunders * tree.c (make_tree_vec_stat): Remove _stat from name. (grow_tree_vec_stat): Likewise. * tree.h (make_tree_vec_stat): Adjust prototype. (grow_tree_vec_stat): Likewise. (make_tree_vec): Rem

[PATCH 04/19] use c++ for make_int_cst_stat

2017-07-27 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2017-07-27 Trevor Saunders * tree.c (make_int_cst_stat): Remove _stat from name. * tree.h (make_int_cst_stat): Adjust prototype. (make_int_cst): Remove macro. --- gcc/tree.c | 2 +- gcc/tree.h | 4 +--- 2 files changed, 2 insertio

[PATCH 10/19] use c++ for tree_cons_stat

2017-07-27 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2017-07-27 Trevor Saunders * tree.c (tree_cons_stat): Remove _stat from name. * tree.h (tree_cons): Remove macro. --- gcc/tree.c | 2 +- gcc/tree.h | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/gcc/tree.c b/gcc/t

[PATCH 07/19] replace gimple_alloc_stat with c++

2017-07-27 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2017-07-27 Trevor Saunders * gimple.c (gimple_build_with_ops_stat): Adjust. (gimple_alloc_stat): Remove _stat from name. * gimple.h (gimple_alloc): Remove macro. --- gcc/gimple.c | 4 ++-- gcc/gimple.h | 3 +-- 2 files changed, 3

[PATCH 08/19] use c++ instead of build_decl_stat

2017-07-27 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2017-07-27 Trevor Saunders * tree.c (build_decl_stat): Remove _stat from name. * tree.h (build_decl): Remove macro. --- gcc/tree.c | 2 +- gcc/tree.h | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/gcc/tree.c b/g

[PATCH 02/19] use c++ instead of _stat for copy_node_stat

2017-07-27 Thread tbsaunde+gcc
From: Trevor Saunders gcc/cp/ChangeLog: 2017-07-27 Trevor Saunders * lex.c (copy_decl): Adjust. (copy_type): Likewise. gcc/ChangeLog: 2017-07-27 Trevor Saunders * tree.c (copy_node_stat): Rename to copy_node. (build_distinct_type_copy): Adjust. *

[PATCH 03/19] use cxx instead of make_tree_binfo_stat

2017-07-27 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2017-07-27 Trevor Saunders * tree.c (make_tre_binfo_stat): Remove _stat from name. * tree.h (make_tree_binfo_stat): Adjust prototype. (make_tree_binfo): Remove. --- gcc/tree.c | 2 +- gcc/tree.h | 3 +-- 2 files changed, 2 inserti

[PATCH 01/19] use c++ instead of make_node_stat

2017-07-27 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2017-07-27 Trevor Saunders * tree.c (make_node_stat): rename to make_node. (build_tree_list_stat): Adjust. (build0_stat): Likewise. (build2_stat): Likewise. (build3_stat): Likewise. (build4_stat): Likewise.

[PATCH 00/19] cleanup of memory stats prototypes

2017-07-27 Thread tbsaunde+gcc
From: Trevor Saunders The preC++ way of passing information about the call site of a function was to use a macro that passed __file__, __LINE__, and __FUNCTION__ to a function with the same name with _stat appended to it. The way this is now done with C++ is to have arguments where the default v

[PATCH V2] improve bitmap / sbitmap compatability of bitmap_set_bit

2017-07-24 Thread tbsaunde+gcc
From: Trevor Saunders This makes the sbitmap version return true if the bit was previously unset to make it similar to the bitmap version. I believe I fixed up the comments from may, and rebootstrapped + regtested ppc64le-linux-gnu, ok? Trev gcc/ChangeLog: 2017-07-20 Trevor Saunders

[PATCH 13/13] make inverted_post_order_compute() operate on a vec

2017-05-09 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2017-05-09 Trevor Saunders * cfganal.c (inverted_post_order_compute): Change argument type to vec *. * cfganal.h (inverted_post_order_compute): Adjust prototype. * df-core.c (rest_of_handle_df_initialize): Adjust. (

[PATCH 09/13] use auto_bitmap more with alternate obstacks

2017-05-09 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2017-05-09 Trevor Saunders * df-core.c (df_set_blocks): Start using auto_bitmap. (df_compact_blocks): Likewise. * df-problems.c (df_rd_confluence_n): Likewise. * df-scan.c (df_insn_rescan_all): Likewise. (df_process

[PATCH 07/13] use auto_bitmap more

2017-05-09 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2017-05-09 Trevor Saunders * bt-load.c (combine_btr_defs): Use auto_bitmap to manage bitmap lifetime. (migrate_btr_def): Likewise. * cfgloop.c (get_loop_body_in_bfs_order): Likewise. * df-core.c (loop_post_order_com

[PATCH 12/13] make depth_first_search_ds a class

2017-05-09 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2017-05-09 Trevor Saunders * cfganal.c (connect_infinite_loops_to_exit): Adjust. (depth_first_search::depth_first_search): Change structure init function to this constructor. (depth_first_search::add_bb): Rename function to this me

[PATCH 11/13] make more vars auto_sbitmaps

2017-05-09 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2017-05-09 Trevor Saunders * ddg.c (find_nodes_on_paths): Use auto_sbitmap. (longest_simple_path): Likewise. * shrink-wrap.c (spread_components): Likewise. (disqualify_problematic_components): Likewise. (emit_common

[PATCH 08/13] move several bitmaps from gc memory to the default obstack and use auto_bitmap

2017-05-09 Thread tbsaunde+gcc
From: Trevor Saunders These places where probably trying to use the default bitmap obstack, but passing 0 to bitmap_initialize actually uses gc allocation. In any case they are all cleaned up before going out of scope so using auto_bitmap should be fine. gcc/ChangeLog: 2017-05-09 Trevor Saund

[PATCH 10/13] make a member an auto_sbitmap

2017-05-09 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2017-05-09 Trevor Saunders * tree-ssa-dse.c (dse_dom_walker): Make m_live_byes a auto_sbitmap. --- gcc/tree-ssa-dse.c | 10 -- 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/gcc/tree-ssa-dse.c b/gcc/tree-ssa-dse.c i

[PATCH 04/13] allow auto_bitmap to use other bitmap obstacks

2017-05-09 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2017-05-07 Trevor Saunders * bitmap.h (class auto_bitmap): New constructor taking bitmap_obstack * argument. --- gcc/bitmap.h | 1 + 1 file changed, 1 insertion(+) diff --git a/gcc/bitmap.h b/gcc/bitmap.h index 49aec001cb0..2ddeee6bc10 100644 --

[PATCH 06/13] replace some manual stacks with auto_vec

2017-05-09 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2017-05-09 Trevor Saunders * cfganal.c (mark_dfs_back_edges): Replace manual stack with auto_vec. (post_order_compute): Likewise. (inverted_post_order_compute): Likewise. (pre_and_rev_post_order_compute_fn): Likewis

[PATCH 05/13] allow constructing a auto_vec with a preallocation, and a possibly larger actual allocation size

2017-05-09 Thread tbsaunde+gcc
From: Trevor Saunders This allows us to set the capacity of the vector when we construct it, and still use a stack buffer when the size is small enough. gcc/ChangeLog: 2017-05-09 Trevor Saunders * genrecog.c (int_set::int_set): Explicitly construct our auto_vec base class. *

[PATCH 03/13] store the bitmap_head within the auto_bitmap

2017-05-09 Thread tbsaunde+gcc
From: Trevor Saunders This gets rid of one allocation per bitmap. Often the bitmap_head is now on the stack, when it isn't its part of some other struct on the heap instead of being refered to by that struct. On 64 bit platforms this will increase the size of such structs by 24 bytes, but its a

[PATCH 00/13] misc data structure stuff

2017-05-09 Thread tbsaunde+gcc
From: Trevor Saunders Hi, this is sort of a grab bag, but mostly improving bitmaps and auto_vec, and then using them in more places. Individually patches commit messages should explain in more detail where needed. patches individually bootstrapped and regtested on x86_64-linux-gnu, ok? Thank

[PATCH 02/13] improve bitmap / sbitmap compatability of bitmap_set_bit

2017-05-09 Thread tbsaunde+gcc
From: Trevor Saunders This make the sbitmap version return true if the bit was previously unset to make it similar to the bitmap version. gcc/ChangeLog: 2017-05-09 Trevor Saunders * sbitmap.h (bitmap_set_bit): Return bool similar to bitmap version of this function. --- gcc/sbitmap.

[PATCH 01/13] improve safety of freeing bitmaps

2017-05-09 Thread tbsaunde+gcc
From: Trevor Saunders There's two groups of changes here, first taking a sbitmap &, so that we can assign null to the pointer after freeing the sbitmap to prevent use after free through that pointer. Second we define overloads of sbitmap_free and bitmap_free taking auto_sbitmap and auto_bitmap r

[PATCH, RFC] warn about raw pointers that can be unique_ptr

2017-05-07 Thread tbsaunde+gcc
From: Trevor Saunders Hi, This is a start at warning about various resource allocation issues that can be improved. Currently it only warns about functions that call malloc and then always pass the resulting pointer to free(). It should be pretty simple to extend this to new/delete and new[]/d

[PATCH] remove conditional compilation of HAVE_AS_LEB128 code

2016-11-14 Thread tbsaunde+gcc
From: tbsaunde Last patch I'm squeezing in for stage 1. Jeff approved this back in september, but I never committed it for some reason. So I updated it to trunk, rebootstrapped and regtested and committed it. Thanks! Trev gcc/ChangeLog: 2016-08-20 Trevor Saunders * acinclude.m4

[PATCH 09/11] make add_int_reg_note take rtx_insn *

2016-11-14 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2016-11-14 Trevor Saunders * rtl.h: Adjust prototype. * rtlanal.c (add_int_reg_note): Change argument type to rtx_insn *. --- gcc/rtl.h | 2 +- gcc/rtlanal.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gcc/r

[PATCH 07/11] remove cast from emit_libcall_block

2016-11-14 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2016-11-14 Trevor Saunders * optabs.c (emit_libcall_block): Change argument type to rtx_insn *. * optabs.h: Adjust prototype. --- gcc/optabs.c | 5 ++--- gcc/optabs.h | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff

[PATCH 08/11] make prologue_epilogue_contains take a rtx_insn *

2016-11-14 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2016-11-14 Trevor Saunders * function.c (contains): Change argument type to rtx_insn *. (prologue_contains): Likewise. (epilogue_contains): Likewise. (prologue_epilogue_contains): Likewise. * function.h: Adjust prot

[PATCH 11/11] make find_reg{,no}_fusage take rtx_insn *

2016-11-14 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2016-11-14 Trevor Saunders * config/arm/arm-protos.h: Adjust prototype. * config/arm/arm.c (use_return_insn): Change argument type to rtx_insn *. * rtl.h (is_a_helper ::test): New specialization. * rtlanal.c (reg_se

[PATCH 10/11] make dead_or_set_{,regno_}p take rtx_insn *

2016-11-14 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2016-11-14 Trevor Saunders * rtl.h: Adjust prototype. * rtlanal.c (dead_or_set_p): Change argument type to rtx_insn *. (dead_or_set_regno_p): Likewise. --- gcc/rtl.h | 4 ++-- gcc/rtlanal.c | 4 ++-- 2 files changed, 4 inserti

[PATCH 06/11] make delete_insn () take a rtx_insn *

2016-11-14 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2016-11-14 Trevor Saunders * cfgrtl.c (delete_insn): Change argument type to rtx_insn *. (fixup_reorder_chain): Adjust. * cfgrtl.h: Adjust prototype. --- gcc/cfgrtl.c | 5 ++--- gcc/cfgrtl.h | 2 +- 2 files changed, 3 insertions(+

[PATCH 05/11] make replace_label_in_insn take labels as rtx_insn *

2016-11-14 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2016-11-14 Trevor Saunders * rtl.h: Adjust prototype. * rtlanal.c (replace_label_in_insn): Change argument type to rtx_insn *. --- gcc/rtl.h | 2 +- gcc/rtlanal.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) dif

[PATCH 01/11] use rtx_insn * more places where it is obvious

2016-11-14 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2016-11-14 Trevor Saunders * config/arm/arm.c (legitimize_pic_address): Change to use rtx_insn * as the type of variables. (arm_pic_static_addr): Likewise. (arm_emit_movpair): Likewise. * config/c6x/c6x.c (reorg_spl

[PATCH 02/11] split up variables to use rtx_insn * more

2016-11-14 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2016-11-14 Trevor Saunders * config/aarch64/aarch64.c (aarch64_emit_unlikely_jump): split up variables to make some rtx_insn *. * config/alpha/alpha.c (emit_unlikely_jump): Likewise. * config/arc/arc.c: Likewise. *

[PATCH 00/11] more rtx_insn * stuff

2016-11-14 Thread tbsaunde+gcc
From: Trevor Saunders Hi, Basically $subject which gets rid of a few more casts over all. I ment to get this out a little while back, but life got busy, and I didn't read the status announcement properly, so virtually working from hawaii for now. patches individually built and regtested on x86_

[PATCH 03/11] make find_reg_equal_equiv_note take rtx_insn *

2016-11-14 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2016-11-14 Trevor Saunders * cse.c (count_reg_usage): Adjust. * rtl.h: Adjust prototypes. * rtlanal.c (find_reg_equal_equiv_note): Change argument type to rtx_insn *. --- gcc/cse.c | 63 +++-

[PATCH 04/11] make recog () take a rtx_insn *

2016-11-14 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2016-11-14 Trevor Saunders * config/v850/v850.c (expand_prologue): Adjust. (expand_epilogue): Likewise. * expr.c (init_expr_target): Likewise. * genrecog.c (print_subroutine): Always make the argument type rtx_insn

[PATCH] add a gimple test for PR21458

2016-10-31 Thread tbsaunde+gcc
From: Trevor Saunders A demonstration we can do the same thing with a gimple test as -fno-tree-evrp but somewhat more precisely. I tested this passes on x86_64-linux-gnu, ok? Trev gcc/testsuite/ChangeLog: 2016-10-31 Trevor Saunders * gcc.dg/tree-ssa/pr21458-3.c: New test. --- gc

[PATCH 1/3] use rtx_insn * in various places where it is obvious

2016-10-28 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2016-10-27 Trevor Saunders * config/arc/arc.c (arc_emit_call_tls_get_addr): Make the type of variables rtx_insn *. * config/arm/arm.c (arm_call_tls_get_addr): Likewise. (legitimize_tls_address): Likewise. * config/b

[PATCH 3/3] split up some variables to use rtx_insn * more

2016-10-28 Thread tbsaunde+gcc
From: Trevor Saunders Note to readers, a -b diff is below the whitespace sensitive one and should be much easier to read. gcc/ChangeLog: 2016-10-27 Trevor Saunders * config/alpha/alpha.c (alpha_legitimize_address_1): Split up variables so some can be rtx_insn *. (alpha_emit_

[PATCH 0/3] use rtx_insn * more

2016-10-28 Thread tbsaunde+gcc
From: Trevor Saunders HI, This series changes various variables type from rtx to rtx_insn * so that the remaining patches in this series http://gcc.gnu.org/ml/gcc-patches/2016-10/msg01353.html can be applied. patches bootstrapped and regtested on x86_64-linux-gnu, and run through config-list.m

[PATCH 2/3] split up the trial variable in reorg.c:relax_delay_slots to use rtx_insn * more

2016-10-28 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2016-10-27 Trevor Saunders * reorg.c (relax_delay_slots): Split up the trial variable. --- gcc/reorg.c | 19 +-- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/gcc/reorg.c b/gcc/reorg.c index 799d27b..da4d7c6 10064

[PATCH] fix an uninitialized use of loc when parsing gimple switches

2016-10-26 Thread tbsaunde+gcc
From: Trevor Saunders gcc/c/ChangeLog: 2016-10-27 Trevor Saunders * gimple-parser.c (c_parser_gimple_switch_stmt): Fix uninitialized use of loc. --- gcc/c/gimple-parser.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gcc/c/gimple-parser.c b/gcc/c/

[PATCH 7/7] make targetm.gen_ccmp{first,next} take rtx_insn **

2016-10-17 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2016-10-17 Trevor Saunders * ccmp.c (expand_ccmp_expr_1): Adjust. (expand_ccmp_expr): Likewise. (expand_ccmp_next): Likewise. * config/aarch64/aarch64.c (aarch64_gen_ccmp_next): Likewise. (aarch64_gen_ccmp_first): L

[PATCH 5/7] remove cast in delete_insn_chain

2016-10-17 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2016-10-17 Trevor Saunders * cfgrtl.c (delete_insn_chain): Change argument type to rtx_insn * and adjust for that. * cfgrtl.h (delete_insn_chain): Adjust prototype. --- gcc/cfgrtl.c | 8 +++- gcc/cfgrtl.h | 2 +- 2 files chang

[PATCH 3/7] use rtx_insn * more

2016-10-17 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2016-10-17 Trevor Saunders * config/alpha/alpha.c (alpha_legitimize_address_1): Change variable types from rtx to rtx_insn *. (alpha_emit_xfloating_libcall): Likewise. * config/arc/arc.c (arc_emit_call_tls_get_addr): Likewi

[PATCH 1/7] make LABEL_REF_LABEL a rtx_insn *

2016-10-17 Thread tbsaunde+gcc
From: Trevor Saunders While chainging LABEL_REF_LABEL it might as well become an inline function, so that its clearer what types are involved. Unfortunately because it is still possible to use XEXP and related macros on a LABEL_REF rtx you can still set the field to be a non insn rtx. The other

[PATCH 6/7] remove cast from prev_nonnote_insn_bb

2016-10-17 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2016-10-17 Trevor Saunders * emit-rtl.c (prev_nonnote_insn_bb): Change argument type to rtx_insn *. * rtl.h (prev_nonnote_insn_bb): Adjust prototype. --- gcc/emit-rtl.c | 3 +-- gcc/rtl.h | 2 +- 2 files changed, 2 insertions

[PATCH 2/7] make tablejump_p return the label as a rtx_insn *

2016-10-17 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2016-10-17 Trevor Saunders * cfgcleanup.c (merge_blocks_move_successor_nojumps): Adjust. (outgoing_edges_match): Likewise. (try_crossjump_to_edge): Likewise. * cfgrtl.c (try_redirect_by_replacing_jump): Likewise. (r

[PATCH 4/7] remove cast to rtx_insn * in remove_note

2016-10-17 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2016-10-17 Trevor Saunders * config/rl78/rl78.c (gen-and_emit_move): Change argument type to rtx_insn *. (transcode_memory_rtx): Likewise. (move_to_acc): Likewise. (move_from_acc): Likewise. (move_acc_to_reg

[PATCH 0/7] more rtx-insn stuff

2016-10-17 Thread tbsaunde+gcc
From: Trevor Saunders Hi, Rather late (travel and then busy day job interfiered), but this includes the promised conversion of LABEL_REF_LABEL and tablejump_p to use rtx_insn *. Followed by a bit more random conversion of things to use rtx_insn *. patches individually bootstrapped + regtested

[PATCH 5/8] make prev_real_insn take rtx_insn *

2016-09-14 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2016-09-13 Trevor Saunders * emit-rtl.c (prev_real_insn): Change argument type to rtx_insn *. * rtl.h: Adjust prototype. * config/sh/sh.md: Adjust. * dwarf2out.c (add_var_loc_to_decl): Likewise. --- gcc/config/sh/sh.md | 3

[PATCH 7/8] make next/prev active_insn and active_insn_p take rtx_insn *

2016-09-14 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2016-09-14 Trevor Saunders * emit-rtl.c (next_active_insn): Change argument type to rtx_insn *. (prev_active_insn): Likewise. (active_insn_p): Likewise. * rtl.h: Adjust prototypes. * cfgcleanup.c (merge_bloc

[PATCH 8/8] make next_cc0_user take rtx_insn *

2016-09-14 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2016-09-14 Trevor Saunders * emit-rtl.c (next_cc0_user): Make argument type rtx_insn *. * rtl.h: Adjust prototype. --- gcc/emit-rtl.c | 4 +--- gcc/rtl.h | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/gcc/emit

[PATCH 6/8] make next/prev nonnote_nondebug_insn take rtx_insn *

2016-09-14 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2016-09-14 Trevor Saunders * config/cris/cris.c (cris_asm_output_case_end): Change argument type to rtx_insn *. * emit-rtl.c (next_nonnote_nondebug_insn): Likewise. (prev_nonnote_nondebug_insn): Likewise. * config/cris/cris

[PATCH 3/8] make next/prev _nonnote_insn take rtx_insn *

2016-09-14 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2016-09-13 Trevor Saunders * emit-rtl.c (next_nonnote_insn): Change argument type to rtx_insn *. (prev_nonnote_insn): Likewise. * jump.c (reversed_comparison_code_parts): Likewise. (reversed_comparison): Likewise.

[PATCH 4/8] make next/prev nondebug_insn take rtx_insn *

2016-09-14 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2016-09-13 Trevor Saunders * emit-rtl.c (next_nondebug_insn): Change argument type to rtx_insn *. (prev_nondebug_insn): Likewise. * loop-doloop.c (doloop_condition_get): Likewise. * rtl.h: Adjust prototype.

[PATCH 2/8] use rtx_insn * more

2016-09-14 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2016-09-06 Trevor Saunders * config/arc/arc-protos.h (arc_label_align): Change type of variables from rtx to rtx_insn *. * config/arc/arc.c (arc_label_align): Likewise. * config/arm/arm.c (any_sibcall_could_use_r3): Likewis

[PATCH 1/8] change a few rtx_insn * to rtx_jump_insn *

2016-09-14 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2016-09-06 Trevor Saunders * bb-reorder.c (fix_crossing_unconditional_branches): Make type of jump_insn rtx_jump_insn *. * reorg.c (steal_delay_list_from_target): Make type of insn rtx_jump_insn *. (follow_jumps): M

[PATCH 0/8] make next_*_insn take rtx_insn * arguments

2016-09-14 Thread tbsaunde+gcc
From: Trevor Saunders Hi, Basically $subject. First change variable's type to rtx_insn * where possible. Then change the functions and fixup callers where it is still necessary to cast. patches bootstrapped and regtested individually on x86_64-linux-gnu, and the series was run through config-l

[PATCH 0/3] more rtl list work

2016-08-24 Thread tbsaunde+gcc
From: Trevor Saunders Hi, continueing on with getting rid of uses of rtx_insn_list and rtx_expr_list. bootstrapped + regtested patches individually on x86_64-linux-gnu, ok? Thanks! Trev Trevor Saunders (3): haifa-sched.c: make ready_list an auto_vec make forced labels a vec make stack

[PATCH 2/3] make forced labels a vec

2016-08-24 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2016-08-25 Trevor Saunders * cfgbuild.c (make_edges): Adjust. * cfgrtl.c (can_delete_label_p): Likewise. * dwarf2cfi.c (create_trace_edges): Likewise. * except.c (sjlj_emit_dispatch_table): Likewise. * function.h (s

[PATCH 3/3] make stack_slot_list a vec

2016-08-24 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2016-08-25 Trevor Saunders * emit-rtl.h (struct rtl_data): Make stack_slot_list a vector. * emit-rtl.c (unshare_all_rtl_1): Adjust. (unshare_all_rtl_again): Likewise. * function.c (assign_stack_local_1): Likewise. (

[PATCH 1/3] haifa-sched.c: make ready_list an auto_vec

2016-08-24 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2016-08-25 Trevor Saunders * haifa-sched.c (fix_recovery_deps): Make ready_list a vector. --- gcc/haifa-sched.c | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gcc/haifa-sched.c b/gcc/haifa-sched.c index 84e42c0..

[PATCH] remove HARD_FRAME_POINTER_IS_ARG_POINTER macro

2016-08-20 Thread tbsaunde+gcc
From: Trevor Saunders Hi, its kind of silly, and this allows us to remove a few more #ifdefs. bootstrapped + regtest x86_64-linux-gnu, ok? Trev gcc/ChangeLog: 2016-08-20 Trevor Saunders * rtl.h (HARD_FRAME_POINTER_IS_ARG_POINTER): Remove definition. (enum global_rtl_index

[PATCH] remove conditional compilation of HAVE_AS_LEB128 code

2016-08-20 Thread tbsaunde+gcc
From: Trevor Saunders Hi, basically just $subject, always define HAVE_AS_LEB128, and then use if / else instead of #ifdef. Note the diff has a bit of whitespace noise, so there's a -w diff below the full one. bootstrapped and regtested on x86_64-linux-gnu, ok? Trev gcc/ChangeLog: 2016-08-2

[PATCH 2/3] haifa-sched.c: make twins a auto_vec

2016-07-24 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2016-07-24 Trevor Saunders * haifa-sched.c (add_to_speculative_block): Make twins a vector. --- gcc/haifa-sched.c | 25 - 1 file changed, 8 insertions(+), 17 deletions(-) diff --git a/gcc/haifa-sched.c b/gcc/haifa-sched.c

[PATCH 3/3] merge adjust_cost and adjust_cost_2 target hooks

2016-07-24 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2016-07-24 Trevor Saunders * config/alpha/alpha.c (alpha_adjust_cost): Adjust. * config/arm/arm-protos.h (struct tune_params): Likewise. * config/arm/arm.c (xscale_sched_adjust_cost): Likewise. (cortex_a9_sched_adjust_cost)

[PATCH 1/3] make pattern_regs a vec

2016-07-24 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2016-07-24 Trevor Saunders * store-motion.c (struct st_expr): Make pattern_regs a vector. (extract_mentioned_regs): Append to a vector instead of returning a rtx_expr_list. (st_expr_entry): Adjust. (store_ops_ok): L

[PATCH 0/3] more removal of rtl lists

2016-07-24 Thread tbsaunde+gcc
From: Trevor Saunders Hi, Here's a few more patches getting rid of usage of rtl lists. In patches 1 and 2 a list is created and then iterated over, which would generally seem to be a better fit for a vector than a linked list. The code involved in patch 3 doesn't really use a list at all, it j

[PATCH 3/6] add ctor to topo_info

2016-07-24 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2016-07-24 Trevor Saunders * tree-ssa-structalias.c (struct topo_info): Add constructor, and change types of members to auto_vec and auto_sbitmap. (init_topo_info): Remove. (topo_info::topo_info): New constructor. (

[PATCH 2/6] use auto_sbitmap in various places

2016-07-24 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2016-07-24 Trevor Saunders * bt-load.c (compute_out): Use auto_sbitmap class. (link_btr_uses): Likewise. * cfganal.c (mark_dfs_back_edges): Likewise. (post_order_compute): Likewise. (inverted_post_order_compute): Li

[PATCH 4/6] remove elim_graph typedef

2016-07-24 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2016-07-24 Trevor Saunders * tree-outof-ssa.c (struct elim_graph): Remove typedef. (new_elim_graph): Adjust. (clear_elim_graph): Likewise. (delete_elim_graph): Likewise. (elim_graph_size): Likewise. (elim_gr

[PATCH 6/6] add [cd]tors to scc_info

2016-07-24 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2016-07-24 Trevor Saunders * tree-ssa-structalias.c (struct scc_info): Change types of members to auto_sbitmap and auto_vec. (scc_info::scc_info): New constructor. (scc_info::~scc_info): New destructor. (init_scc_in

[PATCH 5/6] add a constructor to elim_graph

2016-07-24 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2016-07-24 Trevor Saunders * tree-outof-ssa.c (struct elim_graph): Change type of members to auto_vec and auto_sbitmap. (elim_graph::elim_graph): New constructor. (delete_elim_graph): Remove. (expand_phi_nodes): Adj

[PATCH 0/6] add and use an auto_sbitmap class

2016-07-24 Thread tbsaunde+gcc
From: Trevor Saunders Hi, This series adds a auto_sbitmap class that manages the lifetime of a sbitmap. Then it replaces most manual management with uses of auto_sbitmap. patches individually bootstrapped + regtested on x86_linux-gnu, ok? Trev Trevor Saunders (6): add auto_sbitmap class

[PATCH 1/6] add auto_sbitmap class

2016-07-24 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2016-07-24 Trevor Saunders * sbitmap.h (auto_sbitmap): New class. --- gcc/sbitmap.h | 21 + 1 file changed, 21 insertions(+) diff --git a/gcc/sbitmap.h b/gcc/sbitmap.h index c208171..d4a2918 100644 --- a/gcc/sbitmap.h +++ b/g

[PATCH 6/9] ree.c: use auto_vec in ext_state

2016-06-29 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2016-06-29 Trevor Saunders * ree.c (struct ext_state): Make type of members auto_vec. (find_and_remove_re): Adjust. --- gcc/ree.c | 19 ++- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/gcc/ree.c b/gcc/ree

[PATCH 9/9] remove unnecessary calls to vec::release

2016-06-29 Thread tbsaunde+gcc
From: Trevor Saunders There's no point in calling release () on an auto_vec just before it goes out of scope. gcc/ChangeLog: 2016-06-29 Trevor Saunders * tree-data-ref.c (find_data_references_in_stmt): Remove unnecessary call to vec::release. (graphite_find_data_refe

[PATCH 8/9] use auto_vec for more local variables

2016-06-29 Thread tbsaunde+gcc
From: Trevor Saunders gcc/c/ChangeLog: 2016-06-29 Trevor Saunders * c-parser.c (c_parser_generic_selection): Make type of variable auto_vec. (c_parser_omp_declare_simd): Likewise. gcc/ChangeLog: 2016-06-29 Trevor Saunders * cfgexpand.c (expand_used_vars)

[PATCH 4/9] ipa.c: remove static_{ctors,dtors} globals

2016-06-29 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2016-06-29 Trevor Saunders * ipa.c (record_cdtor_fn): Adjust. (build_cdtor_fns): Likewise. (ipa_cdtor_merge): Make static_ctors and static_dtors local variables. --- gcc/ipa.c | 37 + 1

[PATCH 3/9] genextract.c: add [cd]tors to accum_extract

2016-06-29 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2016-06-29 Trevor Saunders * genextract.c (struct accum_extract): Add constructor and make members auto_vec. (gen_insn): Adjust. --- gcc/genextract.c | 23 +++ 1 file changed, 7 insertions(+), 16 deletions(-)

[PATCH 7/9] tree-ssa-sccvn.c: use auto_vec for sccvn_dom_walker::cond_stack

2016-06-29 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2016-06-29 Trevor Saunders * tree-ssa-sccvn.c (sccvn_dom_walker::~sccvn_dom_walker): remove. (sccvn_dom_walker): make cond_stack an auto_vec. --- gcc/tree-ssa-sccvn.c | 10 ++ 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/

[PATCH 2/9] c-decl.c: add [cd]tors to c_struct_parse_info

2016-06-29 Thread tbsaunde+gcc
From: Trevor Saunders gcc/c/ChangeLog: 2016-06-29 Trevor Saunders * c-decl.c (struct c_struct_parse_info): Add constructor and change member types from vec to auto_vec. (start_struct): Adjust. (finish_struct): Likewise. --- gcc/c/c-decl.c | 16 +--

[PATCH 5/9] cfgexpand.c: use auto_vec in stack_vars_data

2016-06-29 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2016-06-29 Trevor Saunders * cfgexpand.c (struct stack_vars_data): Make type of fields auto_vec. (expand_used_vars): Adjust. --- gcc/cfgexpand.c | 9 ++--- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/gcc/cfge

  1   2   3   4   >