Hi,

On Tue, Sep 24 2019, Martin Jambor wrote:
>
>
> It is the correct thing to do, sorry for the breakage.  I have to run
> now but will prepare a patch tomorrow.
>

and here it is.  The patch fixes the thinko explained in my email
yesterday - basically the test for locally_unused was intended for
unused aggregates which have however not been marked as such yet and
going this way for unsplitable but unused register-type parameters may
cause problems in some cases, if they are for example big SVE vectors.

Passed bootstrap and testing on x86_64-linux.  OK for trunk?

Thanks,

Martin


2019-09-25  Martin Jambor  <mjam...@suse.cz>

        * ipa-sra.c (process_scan_results): Fix continue condition.
---
 gcc/ipa-sra.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gcc/ipa-sra.c b/gcc/ipa-sra.c
index 0ccebbd4607..b35fff69472 100644
--- a/gcc/ipa-sra.c
+++ b/gcc/ipa-sra.c
@@ -2239,7 +2239,7 @@ process_scan_results (cgraph_node *node, struct function 
*fun,
        desc_index++, parm = DECL_CHAIN (parm))
     {
       gensum_param_desc *desc = &(*param_descriptions)[desc_index];
-      if (!desc->locally_unused && !desc->split_candidate)
+      if (!desc->split_candidate)
        continue;
 
       if (flag_checking)
-- 
2.23.0

Reply via email to