This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
This patch fixes two libstdc++ regressions in dataflow branch, and one minor runtime performance issue at -O1.
Libstdc++ regression was due to a bad loop-invariant hoisting which happened because an artificial def of an exception entry block was not included in the ud-chain for rtl loop invariant pass.
Moving pass_stack_ptr_mod after df_initialize_no_opt - otherwise, the conservative setting of current_function_sp_is_changing in df_initialize leads to unnecessary stack space usage (and stack pointer adjustments).
Bootstrapped and regtested on x86-64. OK?
* df-scan.c (df_reorganize_refs_by_reg_by_insn):
Scan artificial defs and uses as well.
* passes.c (init_optimization_passes):
Move pass_stack_ptr_mod from after pass_inc_dec.
--
#pragma ident "Seongbae Park, compiler, http://seongbae.blogspot.com"
Attachment:
df-ud-chain-fix.diff.txt
Description: Text document
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |