This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH] Remove now unnecessary bailout from split_live_ranges_for_shrink_wrap
- From: Martin Jambor <mjambor at suse dot cz>
- To: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Cc: Vladimir Makarov <vmakarov at redhat dot com>
- Date: Fri, 23 May 2014 20:39:47 +0200
- Subject: [PATCH] Remove now unnecessary bailout from split_live_ranges_for_shrink_wrap
- Authentication-results: sourceware.org; auth=none
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);