This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] Remove now unnecessary bailout from split_live_ranges_for_shrink_wrap


Hi,

since Jakub has fixed my code and replaced wrong 

            validate_change (uin, DF_REF_LOC (use), newreg, true);

     with correct

           validate_change (uin, DF_REF_REAL_LOC (use), newreg, true);

in split_live_ranges_for_shrink_wrap, we can remove the punting
condition slightly above.  So this patch does that.

Bootstrapped and tested on x86_64-linux.  OK for trunk?

Thanks,

Martin


2014-05-23  Martin Jambor  <mjambor@suse.cz>

	* ira.c (split_live_ranges_for_shrink_wrap): Remove bailout on
	subreg uses.

diff --git a/gcc/ira.c b/gcc/ira.c
index b9caad7..00d95fb 100644
--- a/gcc/ira.c
+++ b/gcc/ira.c
@@ -4979,17 +4979,6 @@ split_live_ranges_for_shrink_wrap (void)
 	   use;
 	   use = DF_REF_NEXT_REG (use))
 	{
-	  if (NONDEBUG_INSN_P (DF_REF_INSN (use))
-	      && GET_CODE (DF_REF_REG (use)) == SUBREG)
-	    {
-	      /* This is necessary to avoid hitting an assert at
-		 postreload.c:2294 in libstc++ testcases on x86_64-linux.  I'm
-		 not really sure what the probblem actually is there.  */
-	      bitmap_clear (&need_new);
-	      bitmap_clear (&reachable);
-	      return false;
-	    }
-
 	  int ubbi = DF_REF_BB (use)->index;
 	  if (bitmap_bit_p (&reachable, ubbi))
 	    bitmap_set_bit (&need_new, ubbi);


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]