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

Reply via email to