aboutsummaryrefslogtreecommitdiff
path: root/include/llvm/CodeGen/MemOperand.h
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2008-04-07 19:35:22 +0000
committerDan Gohman <gohman@apple.com>2008-04-07 19:35:22 +0000
commit36b5c1338a03453ba1c110b120269ca972fb65a3 (patch)
tree26db3bd8a1e215895a5cb1f05949b6542906c909 /include/llvm/CodeGen/MemOperand.h
parentcb76b12a3a625737b427f9df547f8cfacbaa843b (diff)
Rename MemOperand to MachineMemOperand. This was suggested by
review feedback from Chris quite a while ago. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49348 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/CodeGen/MemOperand.h')
-rw-r--r--include/llvm/CodeGen/MemOperand.h83
1 files changed, 0 insertions, 83 deletions
diff --git a/include/llvm/CodeGen/MemOperand.h b/include/llvm/CodeGen/MemOperand.h
deleted file mode 100644
index 296ed132fd..0000000000
--- a/include/llvm/CodeGen/MemOperand.h
+++ /dev/null
@@ -1,83 +0,0 @@
-//===-- llvm/CodeGen/MemOperand.h - MemOperand class ------------*- C++ -*-===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// This file contains the declaration of the MemOperand class, which is a
-// description of a memory reference. It is used to help track dependencies
-// in the backend.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_CODEGEN_MEMOPERAND_H
-#define LLVM_CODEGEN_MEMOPERAND_H
-
-namespace llvm {
-
-class Value;
-
-//===----------------------------------------------------------------------===//
-/// MemOperand - A description of a memory reference used in the backend.
-/// Instead of holding a StoreInst or LoadInst, this class holds the address
-/// Value of the reference along with a byte size and offset. This allows it
-/// to describe lowered loads and stores. Also, the special PseudoSourceValue
-/// objects can be used to represent loads and stores to memory locations
-/// that aren't explicit in the regular LLVM IR.
-///
-class MemOperand {
- const Value *V;
- unsigned int Flags;
- int64_t Offset;
- uint64_t Size;
- unsigned int Alignment;
-
-public:
- /// Flags values. These may be or'd together.
- enum MemOperandFlags {
- /// The memory access reads data.
- MOLoad = 1,
- /// The memory access writes data.
- MOStore = 2,
- /// The memory access is volatile.
- MOVolatile = 4
- };
-
- /// MemOperand - Construct an MemOperand object with the specified
- /// address Value, flags, offset, size, and alignment.
- MemOperand(const Value *v, unsigned int f, int64_t o, uint64_t s,
- unsigned int a)
- : V(v), Flags(f), Offset(o), Size(s), Alignment(a) {}
-
- /// getValue - Return the base address of the memory access.
- /// Special values are PseudoSourceValue::FPRel, PseudoSourceValue::SPRel,
- /// and the other PseudoSourceValue members which indicate references to
- /// frame/stack pointer relative references and other special references.
- const Value *getValue() const { return V; }
-
- /// getFlags - Return the raw flags of the source value, \see MemOperandFlags.
- unsigned int getFlags() const { return Flags; }
-
- /// getOffset - For normal values, this is a byte offset added to the base
- /// address. For PseudoSourceValue::FPRel values, this is the FrameIndex
- /// number.
- int64_t getOffset() const { return Offset; }
-
- /// getSize - Return the size in bytes of the memory reference.
- uint64_t getSize() const { return Size; }
-
- /// getAlignment - Return the minimum known alignment in bytes of the
- /// memory reference.
- unsigned int getAlignment() const { return Alignment; }
-
- bool isLoad() const { return Flags & MOLoad; }
- bool isStore() const { return Flags & MOStore; }
- bool isVolatile() const { return Flags & MOVolatile; }
-};
-
-} // End llvm namespace
-
-#endif