On 06/24/2015 03:54 AM, Zhouyi Zhou wrote:
In function assign_hard_reg, checking the bit of conflict_a in
consideration_allocno_bitmap is unneccesary, because when retry_p is
false, conflicting objects are always inside of the same loop_node
(this is ensured in function process_bb_node_lives which marks the
living objects to death near the end of that function).
Bootstrap and regtest scheduled on x86_64 GNU/Linux
Signed-off-by: Zhouyi Zhou <yizhouz...@ict.ac.cn>
---
gcc/ChangeLog | 4 ++++
gcc/ira-color.c | 6 ++----
2 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index d1f82b2..07605ae 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2015-06-24 Zhouyi Zhou <yizhouz...@ict.ac.cn>
+
+ * ira-color.c (assign_hard_reg): save a bitmap check
My concern here is the invariant you're exploiting to eliminate the
redundant bitmap check is far from obvious and there's no good way I can
see to ensure that invariant remains invariant.
Without some solid performance data indicating this is a notable
compile-time improvement, I don't think it's a wise idea.
If it does turn out that this is a noteworthy compile-time improvement,
then you would need a comment before this conditional explaining in
detail why we don't need to check for conflict's allocno in
consideration_allocno_bitmap.
Jeff