On Feb 11, 2010, at 3:41 PM, Devang Patel wrote:> Dan, > >> Sharing only happens when two instructions have the "same" memory >> reference info. You just need to make sure that the non-temporal >> flag is significant. It's not fundamentally different from the >> volatile flag in this respect. > > Metadata is used to monitor values from the sideline. It should not > influence optimization or code gen in general other then the intended > recipient of the metadata info. So your suggestion is not a good idea > for all kind of metadata in general. Just a note.I was talking about MachineMemOperands in the above, not metadata. But that does suggest a consideration: if you're using metadata at the LLVM IR level, it may make sense to use metadata at the codegen level too, to avoid this confusion. Dan
On Thursday 11 February 2010 20:01:44 Dan Gohman wrote:> I was talking about MachineMemOperands in the above, not metadata. > > But that does suggest a consideration: if you're using metadata at > the LLVM IR level, it may make sense to use metadata at the codegen > level too, to avoid this confusion.There doesn't appear to be any way to do this right now. Is it planned? -Dave
On Fri, Feb 12, 2010 at 7:22 AM, David Greene <dag at cray.com> wrote:> On Thursday 11 February 2010 20:01:44 Dan Gohman wrote: > >> I was talking about MachineMemOperands in the above, not metadata. >> >> But that does suggest a consideration: if you're using metadata at >> the LLVM IR level, it may make sense to use metadata at the codegen >> level too, to avoid this confusion. > > There doesn't appear to be any way to do this right now. Is it planned?Today, we use metadata to represent debug info at LLVM IR level as well at the codegen level. - Devang