summaryrefslogtreecommitdiff
path: root/include/llvm/CodeGen/MachineMemOperand.h
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2010-10-20 00:31:05 +0000
committerDan Gohman <gohman@apple.com>2010-10-20 00:31:05 +0000
commitf96e4bd2a3b11928af75fb7472288930d16fec0b (patch)
treeb8223b2b01587cbfe66bf9beed761e536d29fbca /include/llvm/CodeGen/MachineMemOperand.h
parent8b95c3ebfbd492c2ac863df93e40c11fc2e914fd (diff)
downloadllvm-f96e4bd2a3b11928af75fb7472288930d16fec0b.tar.gz
llvm-f96e4bd2a3b11928af75fb7472288930d16fec0b.tar.bz2
llvm-f96e4bd2a3b11928af75fb7472288930d16fec0b.tar.xz
Make CodeGen TBAA-aware.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116890 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/CodeGen/MachineMemOperand.h')
-rw-r--r--include/llvm/CodeGen/MachineMemOperand.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/include/llvm/CodeGen/MachineMemOperand.h b/include/llvm/CodeGen/MachineMemOperand.h
index d03e51083e..cabd129353 100644
--- a/include/llvm/CodeGen/MachineMemOperand.h
+++ b/include/llvm/CodeGen/MachineMemOperand.h
@@ -82,6 +82,7 @@ class MachineMemOperand {
MachinePointerInfo PtrInfo;
uint64_t Size;
unsigned Flags;
+ const MDNode *TBAAInfo;
public:
/// Flags values. These may be or'd together.
@@ -101,7 +102,7 @@ public:
/// MachineMemOperand - Construct an MachineMemOperand object with the
/// specified PtrInfo, flags, size, and base alignment.
MachineMemOperand(MachinePointerInfo PtrInfo, unsigned flags, uint64_t s,
- unsigned base_alignment);
+ unsigned base_alignment, const MDNode *TBAAInfo = 0);
const MachinePointerInfo &getPointerInfo() const { return PtrInfo; }
@@ -133,6 +134,9 @@ public:
/// base address, without the offset.
uint64_t getBaseAlignment() const { return (1u << (Flags >> MOMaxBits)) >> 1; }
+ /// getTBAAInfo - Return the TBAA tag for the memory reference.
+ const MDNode *getTBAAInfo() const { return TBAAInfo; }
+
bool isLoad() const { return Flags & MOLoad; }
bool isStore() const { return Flags & MOStore; }
bool isVolatile() const { return Flags & MOVolatile; }