This is the mail archive of the gcc@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]

Re: VREGS cannot handle subreg(mem (plus ...)) pattern


Sorry for the noise, I've remember I had a similar issue in the past.

Thanks,
Claudiu

On Tue, Oct 11, 2016 at 4:48 PM, Claudiu Zissulescu
<Claudiu.Zissulescu@synopsys.com> wrote:
> Hi,
>
> Out of the expand  I get the following pattern:
>
> (set (reg:SI 203)
>         (subreg:SI (mem/c:DI (plus:SI (reg/f:SI 147 virtual-stack-vars)
>                     (const_int -320 [0xfffffffffffffec0])) [4 buf1.state+0 S8 A32]) 4))
>
> which it looks too complex to be handled by the VREGS pass. I.e., in the instantiate_virtual_regs_in_insn() function, it seems we handle only subreg (reg ...).
> As a consequence, the virtual-stack-vars reg is not instantiated leading to a compiler internal error later on.
>
> Now, is the above pattern expected out of expand? Is the VREGS expected to handle this type of pattern?
>
> Many thanks,
> Claudiu


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