Tom Stellard via llvm-dev
2016-Apr-14 17:24 UTC
[llvm-dev] [GlobalISel] MachineMemOperands for generic memory instructions
Hi, Will the generic memory instructions (e.g. G_LOAD, G_STORE) still have a MachineMemOperand as the last operand? Or was there a plan to use something else? It seems like we can at least re-use the MachineMemOperand interface, as long as we create a sub-class that does not depend on a reference to the original LLVM IR memory instruction. -Tom
Quentin Colombet via llvm-dev
2016-Apr-14 21:13 UTC
[llvm-dev] [GlobalISel] MachineMemOperands for generic memory instructions
Hi Tom, I haven’t looked into those aspects yet, but here are my initial thoughts.> On Apr 14, 2016, at 10:24 AM, Tom Stellard <tom at stellard.net> wrote: > > Hi, > > Will the generic memory instructions (e.g. G_LOAD, G_STORE) still have > a MachineMemOperand as the last operand?Ultimately, no, see my next answer.> Or was there a plan to use > something else?The plan would be to have this information attached to the instruction, not an additional operand. This would probably live into the description of the generic instruction. The description already needs to evolve for generic instruction to accommodate the type of the instruction and other things like fast maths flags and such. https://llvm.org/bugs/show_bug.cgi?id=26576> > It seems like we can at least re-use the MachineMemOperand interface, > as long as we create a sub-class that does not depend on a reference > to the original LLVM IR memory instruction.Since you have started to look into that, do you see any problem with what I am suggesting? Cheers, -Quentin> > -Tom