[LLVMdev] Metadata [volatile bug?]

David Greene dag at cray.com
Thu Feb 11 15:15:48 PST 2010


On Thursday 11 February 2010 14:44:23 Dan Gohman wrote:

> > Then we can't use it to hold a non-temporal flag.  The operand might be
> > non-temporal in one context but it may not be in another.
>
> 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.

Ok, this sounds right, but this look wrong:

/// Abstact virtual class for operations for memory operations
class MemSDNode : public SDNode {
[...]
  bool isVolatile() const { return (SubclassData >> 5) & 1; }

Shouldn't that be MMO->isVolatile()?

                                             -Dave




More information about the llvm-dev mailing list