crtl->is_leaf has a comment above it referring to "Local Register Allocation". However this is set by IRA and not LRA since the meaning of Local Register Allocator in GCC has changed quite drastically since 1999 when this comment was introduced above the variable current_function_is_leaf. From memory gcc in those days had "local" and "global" register allocation - however all of this has changed quite a bit drastically since.

This patch merely updates the comment as I did some head scratching this morning about how this could be set before Local Register Allocator especially given the comment in ira.c as below.


 /* Determine if the current function is a leaf before running IRA
     since this can impact optimizations done by the prologue and
     epilogue thus changing register elimination offsets.  */
  crtl->is_leaf = leaf_function_p ();


Ok to apply ?


* emit-rtl.h (is_leaf): Update comment about local register allocator.


Thanks,
Ramana

diff --git a/gcc/emit-rtl.h b/gcc/emit-rtl.h
index 0a242b1..86fec77 100644
--- a/gcc/emit-rtl.h
+++ b/gcc/emit-rtl.h
@@ -265,7 +265,7 @@ struct GTY(()) rtl_data {
 
   /* Nonzero if function being compiled doesn't contain any calls
      (ignoring the prologue and epilogue).  This is set prior to
-     local register allocation and is valid for the remaining
+     register allocation in IRA and is valid for the remaining
      compiler passes.  */
   bool is_leaf;
 

Reply via email to