diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2010-11-16 22:13:52 +0000 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2010-11-16 22:13:52 +0000 |
commit | 885c9b5d3a53c531fca622b4a3b0ef03df92daed (patch) | |
tree | d3ce62c6785fad984002bec2dbfc693e299f8950 /gcc/df-problems.c | |
parent | 2b12962772d3b0e85d860609f32bfb28515d5ba9 (diff) | |
download | gcc-885c9b5d3a53c531fca622b4a3b0ef03df92daed.zip gcc-885c9b5d3a53c531fca622b4a3b0ef03df92daed.tar.gz gcc-885c9b5d3a53c531fca622b4a3b0ef03df92daed.tar.bz2 |
re PR rtl-optimization/46315 (-O2 -fno-strict-overflow causes wrong code generation)
PR rtl-optimization/46315
* rtl.h (remove_reg_equal_equiv_notes_for_regno): Declare.
* rtlanal.c (remove_reg_equal_equiv_notes_for_regno): New function
extracted from...
* dce.c (delete_corresponding_reg_eq_notes): ...here. Rename into...
(remove_reg_equal_equiv_notes_for_defs): ...this.
(delete_unmarked_insns): Adjust to above renaming.
* ifcvt.c (dead_or_predicable): Remove REG_EQUAL and REG_EQUIV notes
referring to registers set in the insns being moved, if any.
* df-core.c (df_ref_dump): New function extracted from...
(df_refs_chain_dump): ...here. Call it.
(df_regs_chain_dump): Likewise.
* df-problems.c (df_chain_dump): Print 'e' for uses in notes.
* df-scan.c (df_scan_start_dump): Likewise. Fix long line.
From-SVN: r166827
Diffstat (limited to 'gcc/df-problems.c')
-rw-r--r-- | gcc/df-problems.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/df-problems.c b/gcc/df-problems.c index 3f5627f..559af91 100644 --- a/gcc/df-problems.c +++ b/gcc/df-problems.c @@ -109,10 +109,13 @@ df_chain_dump (struct df_link *link, FILE *file) for (; link; link = link->next) { fprintf (file, "%c%d(bb %d insn %d) ", - DF_REF_REG_DEF_P (link->ref) ? 'd' : 'u', + DF_REF_REG_DEF_P (link->ref) + ? 'd' + : (DF_REF_FLAGS (link->ref) & DF_REF_IN_NOTE) ? 'e' : 'u', DF_REF_ID (link->ref), DF_REF_BBNO (link->ref), - DF_REF_IS_ARTIFICIAL (link->ref) ? -1 : DF_REF_INSN_UID (link->ref)); + DF_REF_IS_ARTIFICIAL (link->ref) + ? -1 : DF_REF_INSN_UID (link->ref)); } fprintf (file, "}"); } |