Minor cleanups to forward threader.
Every time we allocate a threading edge we push it onto the path in a distinct step. There's no need to do this in two steps, and avoiding this, keeps us from exposing the internals of the registry. I've also did some tiny cleanups in thread_across_edge, most importantly removing the bitmap in favor of an auto_bitmap. There are no functional changes. gcc/ChangeLog: * tree-ssa-threadbackward.c (back_threader_registry::register_path): Use push_edge. * tree-ssa-threadedge.c (jump_threader::thread_around_empty_blocks): Same. (jump_threader::thread_through_normal_block): Same. (jump_threader::thread_across_edge): Same. Also, use auto_bitmap. Tidy up code. * tree-ssa-threadupdate.c (jt_path_registry::allocate_thread_edge): Remove. (jt_path_registry::push_edge): New. (dump_jump_thread_path): Make static. * tree-ssa-threadupdate.h (allocate_thread_edge): Remove. (push_edge): New.
Showing
- gcc/tree-ssa-threadbackward.c 3 additions, 7 deletionsgcc/tree-ssa-threadbackward.c
- gcc/tree-ssa-threadedge.c 19 additions, 50 deletionsgcc/tree-ssa-threadedge.c
- gcc/tree-ssa-threadupdate.c 7 additions, 5 deletionsgcc/tree-ssa-threadupdate.c
- gcc/tree-ssa-threadupdate.h 1 addition, 1 deletiongcc/tree-ssa-threadupdate.h
Loading
Please register or sign in to comment