On 3/19/19 2:00 PM, Jakub Jelinek wrote:
Hi!As mentioned in the PR, BLKmode operands (such as in the testcase C++ variables with TREE_ADDRESSABLE types) may only live in a MEM, trying to reload those in a register will always ICE. process_alt_operands already has if (mode == BLKmode) break; in it, so that it never claims a BLKmode wins when seen a register constraint, but it still updated this_alternative and this_alternative_set, so if a register constraint (or more of them) is accompanied also by memory constraint that matches, we still let the caller believe it could try to reload in registers. It can't. This patch ensures that we ignore those register constraints completely. Bootstrapped/regtested on x86_64-linux and i686-linux, further bootstraps pending on {powerpc64le,aarch64,s390x,armv7hl}-linux, ok for trunk if those pass?
Yes, sure. Thanks for working on the PR, Jakub.
