aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/module.c
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>2015-03-22 23:21:04 -0600
committerJeff Law <law@gcc.gnu.org>2015-03-22 23:21:04 -0600
commitaf3eb1106883dffe6b1164070a00ad0c14df1146 (patch)
treeff31c846a2349895a68d8feecadffa34bf433a27 /gcc/fortran/module.c
parent4460b2dc61de31c84b9a25464eea06be0567c0db (diff)
downloadgcc-af3eb1106883dffe6b1164070a00ad0c14df1146.zip
gcc-af3eb1106883dffe6b1164070a00ad0c14df1146.tar.gz
gcc-af3eb1106883dffe6b1164070a00ad0c14df1146.tar.bz2
re PR rtl-optimization/64317 (Ineffective allocation of PIC base register)
PR rtl-optimization/64317 * Makefile.in (OBJS): Add gcse-common.c * gcse.c: Include gcse-common.h (struct modify_pair_s): Move structure definition to gcse-common.h (compute_transp): Move function to gcse-common.c. (canon_list_insert): Similarly. (record_last_mem_set_info): Break out some code and put it into gcse-common.c. Call into the new common code. (compute_local_properties): Pass additional arguments to compute_transp. * postreload-gcse.c: Include gcse-common.h and df.h (modify_mem_list_set, blocks_with_calls): New variables. (modify_mem_list, canon_modify_mem_list, transp): Likewise. (get_bb_avail_insn): Pass in the expression index too. (alloc_mem): Allocate memory for the new bitmaps and lists. (free_mem): Free memory for the new bitmaps and lists. (insert_expr_in_table): Record a bitmap index for each entry we add to the table. (record_last_mem_set_info): Call into common code in gcse-common.c. (get_bb_avail_insn): If no available insn was found in the requested BB. If BB has a single predecessor, see if the expression is transparent in BB and available in that single predecessor. (compute_expr_transp): New wrapper for compute_transp. (eliminate_partially_redundant_load): Pass expression's bitmap_index to get_bb_avail_insn. Compute next_pred_bb_end a bit later. (gcse_after_reload_main): If there are elements in the hash table, then compute transparency for all the elements in the hash table. * gcse-common.h: New file. * gcse-common.c: New file. From-SVN: r221585
Diffstat (limited to 'gcc/fortran/module.c')
0 files changed, 0 insertions, 0 deletions