aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2010-06-04 07:25:23 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2010-06-04 05:25:23 +0000
commit95f4cd5829fb78c97758c2b214a5dc884f0af074 (patch)
tree120e06e007345238f2e07fededdee19494fca048 /gcc
parent6e2188e0db1c7c4b287d00d69721ae68841e3bcc (diff)
downloadgcc-95f4cd5829fb78c97758c2b214a5dc884f0af074.zip
gcc-95f4cd5829fb78c97758c2b214a5dc884f0af074.tar.gz
gcc-95f4cd5829fb78c97758c2b214a5dc884f0af074.tar.bz2
df-problems.c (df_create_unused_note, [...]): micro-optimize the checks when to add new note.
* df-problems.c (df_create_unused_note, df_note_bb_compute): micro-optimize the checks when to add new note. From-SVN: r160249
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/df-problems.c8
2 files changed, 9 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e0c0358..2ac6fe6 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2010-06-03 Jan Hubicka <jh@suse.cz>
+
+ * df-problems.c (df_create_unused_note, df_note_bb_compute):
+ micro-optimize the checks when to add new note.
+
2010-06-03 Nathan Froyd <froydnj@codesourcery.com>
* final.c (output_asm_insn): Call
diff --git a/gcc/df-problems.c b/gcc/df-problems.c
index 25bbba6..5f719c6 100644
--- a/gcc/df-problems.c
+++ b/gcc/df-problems.c
@@ -3387,8 +3387,8 @@ df_create_unused_note (rtx insn, rtx old, df_ref def,
}
#endif
- if (!(bitmap_bit_p (live, dregno)
- || (DF_REF_FLAGS (def) & DF_REF_MW_HARDREG)
+ if (!((DF_REF_FLAGS (def) & DF_REF_MW_HARDREG)
+ || bitmap_bit_p (live, dregno)
|| bitmap_bit_p (artificial_uses, dregno)
|| df_ignore_stack_reg (dregno)))
{
@@ -3757,10 +3757,10 @@ df_note_bb_compute (unsigned int bb_index,
else
dead_debug_insert_before (&debug, uregno, insn);
- if ( (!(DF_REF_FLAGS (use) & DF_REF_MW_HARDREG))
+ if ( (!(DF_REF_FLAGS (use)
+ & (DF_REF_MW_HARDREG | DF_REF_READ_WRITE)))
&& (!bitmap_bit_p (do_not_gen, uregno))
&& (!bitmap_bit_p (artificial_uses, uregno))
- && (!(DF_REF_FLAGS (use) & DF_REF_READ_WRITE))
&& (!df_ignore_stack_reg (uregno)))
{
rtx reg = (DF_REF_LOC (use))