On 08/13/14 20:55, Zhenqiang Chen wrote:
Hi,
Function split_live_ranges_for_shrink_wrap has code
if (!flag_shrink_wrap)
return false;
But flag_shrink_wrap is TRUE by default when optimize > 0 even if the
port does not support shrink-wrap. To make sure shrink-wrap is
enabled, "HAVE_simple_return" must be defined and "HAVE_simple_return"
must be TRUE.
Please refer function.c and shrink-wrap.c on how shrink-wrap is
enabled in thread_prologue_and_epilogue_insns.
To make the check easy, the patch defines a MICRO:
SUPPORT_SHRINK_WRAP_P and replace the uses in ira.c and ifcvt.c
Bootstrap and no make check regression on X86-64.
OK for trunk?
Thanks!
-Zhenqiang
ChangeLog:
2014-08-14 Zhenqiang Chen <zhenqiang.c...@arm.com>
* shrink-wrap.h: #define SUPPORT_SHRINK_WRAP_P.
* ira.c: #include "shrink-wrap.h"
(split_live_ranges_for_shrink_wrap): Use SUPPORT_SHRINK_WRAP_P.
* ifcvt.c: #include "shrink-wrap.h"
(dead_or_predicable): Use SUPPORT_SHRINK_WRAP_P.
So what's the motivation behind this patch? I can probably guess the
motivation, but I might guess wrong. Since you know the motivation,
it's best if you just tell everyone what it is.
testsuite/ChangeLog:
2014-08-14 Zhenqiang Chen <zhenqiang.c...@arm.com>
* gcc.target/arm/split-live-ranges-for-shrink-wrap.c: New test.
Testcase wasn't included in the patchkit.
From a pure bikeshedding standpoint "SUPPORT_SHRINK_WRAP_P" seems
poorly named. SHRINK_WRAPPING_ENABLED seems like a better name to me.
Can you repost with the testcase included, name change and basic
rationale behind why you want to make this change. I'm pretty sure
it'll be OK at that point.
jeff