On Tue, Apr 18, 2017 at 02:37:32PM -0400, David Miller wrote: > From: Alexei Starovoitov <alexei.starovoitov@xxxxxxxxx> > Date: Mon, 17 Apr 2017 22:44:47 -0700 > > > The way llvm generates stack access is: > > rX = r10 > > rX += imm > > and that's the only thing verifier recognizes as valid ptr_to_stack. > > Like rX -= imm will not be recognized as proper stack offset, > > since llvm never does it. > > That simplifies things significantly for me. > > I only allow moves from the frame pointer to another register, > and when I see that I rewrite it to "add FP, STACK_BIAS, DST_REG" Sounds good to me. Alternative idea: can the above 'add FP, STACK_BIAS, one_of_local_regs' be done once in prologue and that register used as substitue for R10 ? (assuming non-leaf function) I completely forgot by now how 2047 magic works. -- To unsubscribe from this list: send the line "unsubscribe sparclinux" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html