Rename MemOperand to MachineMemOperand. This was suggested by
authorDan Gohman <gohman@apple.com>
Mon, 7 Apr 2008 19:35:22 +0000 (19:35 +0000)
committerDan Gohman <gohman@apple.com>
Mon, 7 Apr 2008 19:35:22 +0000 (19:35 +0000)
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

12 files changed:
include/llvm/CodeGen/MachineInstr.h
include/llvm/CodeGen/MachineInstrBuilder.h
include/llvm/CodeGen/MachineMemOperand.h [new file with mode: 0644]
include/llvm/CodeGen/MemOperand.h [deleted file]
include/llvm/CodeGen/ScheduleDAG.h
include/llvm/CodeGen/SelectionDAG.h
include/llvm/CodeGen/SelectionDAGNodes.h
lib/CodeGen/MachineInstr.cpp
lib/CodeGen/SelectionDAG/ScheduleDAG.cpp
lib/CodeGen/SelectionDAG/SelectionDAG.cpp
lib/Target/PowerPC/PPCISelLowering.cpp
lib/Target/X86/X86InstrInfo.cpp

index af4e8cea6e94a6e176447bd6c098b555a0a3c7bd..5dfe14cb623382577299301950ad3e1cf6d1a514 100644 (file)
@@ -17,7 +17,7 @@
 #define LLVM_CODEGEN_MACHINEINSTR_H
 
 #include "llvm/CodeGen/MachineOperand.h"
-#include "llvm/CodeGen/MemOperand.h"
+#include "llvm/CodeGen/MachineMemOperand.h"
 
 namespace llvm {
 
@@ -37,7 +37,7 @@ class MachineInstr {
                                         // are determined at construction time).
 
   std::vector<MachineOperand> Operands; // the operands
-  std::vector<MemOperand> MemOperands;  // information on memory references
+  std::vector<MachineMemOperand> MemOperands;// information on memory references
   MachineInstr *Prev, *Next;            // Links for MBB's intrusive list.
   MachineBasicBlock *Parent;            // Pointer to the owning basic block.
 
@@ -100,11 +100,11 @@ public:
   /// Access to memory operands of the instruction
   unsigned getNumMemOperands() const { return MemOperands.size(); }
 
-  const MemOperand& getMemOperand(unsigned i) const {
+  const MachineMemOperand& getMemOperand(unsigned i) const {
     assert(i < getNumMemOperands() && "getMemOperand() out of range!");
     return MemOperands[i];
   }
-  MemOperand& getMemOperand(unsigned i) {
+  MachineMemOperand& getMemOperand(unsigned i) {
     assert(i < getNumMemOperands() && "getMemOperand() out of range!");
     return MemOperands[i];
   }
@@ -268,9 +268,9 @@ public:
   ///
   void RemoveOperand(unsigned i);
 
-  /// addMemOperand - Add a MemOperand to the machine instruction, referencing
-  /// arbitrary storage.
-  void addMemOperand(const MemOperand &MO) {
+  /// addMemOperand - Add a MachineMemOperand to the machine instruction,
+  /// referencing arbitrary storage.
+  void addMemOperand(const MachineMemOperand &MO) {
     MemOperands.push_back(MO);
   }
 
index 51900603ac941bb1806b0d2b559742388170382d..748a9b4006550a3c16c80bcb6bdfa8066cb89d4c 100644 (file)
@@ -85,7 +85,7 @@ public:
   }
 
   /// addMemOperand - Add a memory operand to the machine instruction.
-  const MachineInstrBuilder &addMemOperand(const MemOperand &MO) const {
+  const MachineInstrBuilder &addMemOperand(const MachineMemOperand &MO) const {
     MI->addMemOperand(MO);
     return *this;
   }
diff --git a/include/llvm/CodeGen/MachineMemOperand.h b/include/llvm/CodeGen/MachineMemOperand.h
new file mode 100644 (file)
index 0000000..404de06
--- /dev/null
@@ -0,0 +1,83 @@
+//==- llvm/CodeGen/MachineMemOperand.h - MachineMemOperand 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 MachineMemOperand 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;
+
+//===----------------------------------------------------------------------===//
+/// MachineMemOperand - 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 MachineMemOperand {
+  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
+  };
+
+  /// MachineMemOperand - Construct an MachineMemOperand object with the
+  /// specified address Value, flags, offset, size, and alignment.
+  MachineMemOperand(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
diff --git a/include/llvm/CodeGen/MemOperand.h b/include/llvm/CodeGen/MemOperand.h
deleted file mode 100644 (file)
index 296ed13..0000000
+++ /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
index 1649912f6a68e2467281355afaf21c7c81a61418..8c63aaf2822304caaf2f32d5fb46cce556e4f1fd 100644 (file)
@@ -365,7 +365,7 @@ namespace llvm {
                     const TargetInstrDesc *II,
                     DenseMap<SDOperandImpl, unsigned> &VRBaseMap);
 
-    void AddMemOperand(MachineInstr *MI, const MemOperand &MO);
+    void AddMemOperand(MachineInstr *MI, const MachineMemOperand &MO);
 
     void EmitCrossRCCopy(SUnit *SU, DenseMap<SUnit*, unsigned> &VRBaseMap);
 
index a77f85413414e34315e26c8be3e8158b4804f307..2b8d678eb31dc9af42d9955998410b4a8668db65 100644 (file)
@@ -401,7 +401,7 @@ public:
 
   // getMemOperand - Construct a node to track a memory reference
   // through the backend.
-  SDOperand getMemOperand(const MemOperand &MO);
+  SDOperand getMemOperand(const MachineMemOperand &MO);
 
   /// UpdateNodeOperands - *Mutate* the specified node in-place to have the
   /// specified operands.  If the resultant node already exists in the DAG,
index 2ebabe51d926af3509f5efd2cc7acb51d39375a4..6b2b8572c30c705def008c17da18d16d52761c2c 100644 (file)
@@ -26,7 +26,7 @@
 #include "llvm/ADT/APFloat.h"
 #include "llvm/ADT/APInt.h"
 #include "llvm/CodeGen/ValueTypes.h"
-#include "llvm/CodeGen/MemOperand.h"
+#include "llvm/CodeGen/MachineMemOperand.h"
 #include "llvm/Support/DataTypes.h"
 #include <cassert>
 
@@ -530,9 +530,9 @@ namespace ISD {
     // make reference to a value in the LLVM IR.
     SRCVALUE,
 
-    // MEMOPERAND - This is a node that contains a MemOperand which records
-    // information about a memory reference. This is used to make AliasAnalysis
-    // queries from the backend.
+    // MEMOPERAND - This is a node that contains a MachineMemOperand which
+    // records information about a memory reference. This is used to make
+    // AliasAnalysis queries from the backend.
     MEMOPERAND,
 
     // PCMARKER - This corresponds to the pcmarker intrinsic.
@@ -1645,7 +1645,7 @@ public:
 };
 
 
-/// MemOperandSDNode - An SDNode that holds a MemOperand. This is
+/// MemOperandSDNode - An SDNode that holds a MachineMemOperand. This is
 /// used to represent a reference to memory after ISD::LOAD
 /// and ISD::STORE have been lowered.
 ///
@@ -1653,13 +1653,13 @@ class MemOperandSDNode : public SDNode {
   virtual void ANCHOR();  // Out-of-line virtual method to give class a home.
 protected:
   friend class SelectionDAG;
-  /// Create a MemOperand node
-  explicit MemOperandSDNode(const MemOperand &mo)
+  /// Create a MachineMemOperand node
+  explicit MemOperandSDNode(const MachineMemOperand &mo)
     : SDNode(ISD::MEMOPERAND, getSDVTList(MVT::Other)), MO(mo) {}
 
 public:
-  /// MO - The contained MemOperand.
-  const MemOperand MO;
+  /// MO - The contained MachineMemOperand.
+  const MachineMemOperand MO;
 
   static bool classof(const MemOperandSDNode *) { return true; }
   static bool classof(const SDNode *N) {
@@ -1906,9 +1906,9 @@ public:
   /// isUnindexed - Return true if this is NOT a pre/post inc/dec load/store.
   bool isUnindexed() const { return AddrMode == ISD::UNINDEXED; }
 
-  /// getMemOperand - Return a MemOperand object describing the memory
+  /// getMemOperand - Return a MachineMemOperand object describing the memory
   /// reference performed by this load or store.
-  MemOperand getMemOperand() const;
+  MachineMemOperand getMemOperand() const;
 
   static bool classof(const LSBaseSDNode *N) { return true; }
   static bool classof(const SDNode *N) {
index d2aa2bb22126f323fc470fd1a8cd9e035a4a0674..6c4fb3c8340edd11db101ecb0e181613f2e1d97c 100644 (file)
@@ -693,7 +693,7 @@ void MachineInstr::print(std::ostream &OS, const TargetMachine *TM) const {
   if (getNumMemOperands() > 0) {
     OS << ", Mem:";
     for (unsigned i = 0; i < getNumMemOperands(); i++) {
-      const MemOperand &MRO = getMemOperand(i);
+      const MachineMemOperand &MRO = getMemOperand(i);
       const Value *V = MRO.getValue();
 
       assert((MRO.isLoad() || MRO.isStore()) &&
index 00b5677879fbc2e7762c81c0530600e275884e97..2af394fa8a87f6e3c9cf0d05a467a4413c087497 100644 (file)
@@ -369,7 +369,7 @@ unsigned ScheduleDAG::CountResults(SDNode *Node) {
 unsigned ScheduleDAG::CountOperands(SDNode *Node) {
   unsigned N = ComputeMemOperandsEnd(Node);
   while (N && isa<MemOperandSDNode>(Node->getOperand(N - 1).Val))
-    --N; // Ignore MemOperand nodes
+    --N; // Ignore MEMOPERAND nodes
   return N;
 }
 
@@ -656,7 +656,7 @@ void ScheduleDAG::AddOperand(MachineInstr *MI, SDOperand Op,
   
 }
 
-void ScheduleDAG::AddMemOperand(MachineInstr *MI, const MemOperand &MO) {
+void ScheduleDAG::AddMemOperand(MachineInstr *MI, const MachineMemOperand &MO) {
   MI->addMemOperand(MO);
 }
 
index a3a0c82e78a6dc78a5f6acab39f48f2a55c6b2b2..a1d6c779b9b3ff8eb72ebbaebe5ce15fe37b31ae 100644 (file)
@@ -385,7 +385,7 @@ static void AddNodeIDNode(FoldingSetNodeID &ID, SDNode *N) {
     ID.AddPointer(cast<SrcValueSDNode>(N)->getValue());
     break;
   case ISD::MEMOPERAND: {
-    const MemOperand &MO = cast<MemOperandSDNode>(N)->MO;
+    const MachineMemOperand &MO = cast<MemOperandSDNode>(N)->MO;
     ID.AddPointer(MO.getValue());
     ID.AddInteger(MO.getFlags());
     ID.AddInteger(MO.getOffset());
@@ -1014,7 +1014,7 @@ SDOperand SelectionDAG::getSrcValue(const Value *V) {
   return SDOperand(N, 0);
 }
 
-SDOperand SelectionDAG::getMemOperand(const MemOperand &MO) {
+SDOperand SelectionDAG::getMemOperand(const MachineMemOperand &MO) {
   const Value *v = MO.getValue();
   assert((!v || isa<PointerType>(v->getType())) &&
          "SrcValue is not a pointer?");
@@ -3635,24 +3635,25 @@ GlobalAddressSDNode::GlobalAddressSDNode(bool isTarget, const GlobalValue *GA,
   TheGlobal = const_cast<GlobalValue*>(GA);
 }
 
-/// getMemOperand - Return a MemOperand object describing the memory
+/// getMemOperand - Return a MachineMemOperand object describing the memory
 /// reference performed by this load or store.
-MemOperand LSBaseSDNode::getMemOperand() const {
+MachineMemOperand LSBaseSDNode::getMemOperand() const {
   int Size = (MVT::getSizeInBits(getMemoryVT()) + 7) >> 3;
   int Flags =
-    getOpcode() == ISD::LOAD ? MemOperand::MOLoad : MemOperand::MOStore;
-  if (IsVolatile) Flags |= MemOperand::MOVolatile;
+    getOpcode() == ISD::LOAD ? MachineMemOperand::MOLoad :
+                               MachineMemOperand::MOStore;
+  if (IsVolatile) Flags |= MachineMemOperand::MOVolatile;
 
   // Check if the load references a frame index, and does not have
   // an SV attached.
   const FrameIndexSDNode *FI =
     dyn_cast<const FrameIndexSDNode>(getBasePtr().Val);
   if (!getSrcValue() && FI)
-    return MemOperand(PseudoSourceValue::getFixedStack(), Flags,
-                      FI->getIndex(), Size, Alignment);
+    return MachineMemOperand(PseudoSourceValue::getFixedStack(), Flags,
+                             FI->getIndex(), Size, Alignment);
   else
-    return MemOperand(getSrcValue(), Flags,
-                      getSrcValueOffset(), Size, Alignment);
+    return MachineMemOperand(getSrcValue(), Flags,
+                             getSrcValueOffset(), Size, Alignment);
 }
 
 /// Profile - Gather unique data for the node.
index f307184561342034c83fceaf4dcd893de53583a2..ddc8e1a7859d461b0ff381b8fbec9fc0bcb3db8e 100644 (file)
@@ -2500,8 +2500,8 @@ SDOperand PPCTargetLowering::LowerSINT_TO_FP(SDOperand Op, SelectionDAG &DAG) {
                                 Op.getOperand(0));
   
   // STD the extended value into the stack slot.
-  MemOperand MO(PseudoSourceValue::getFixedStack(),
-                MemOperand::MOStore, FrameIdx, 8, 8);
+  MachineMemOperand MO(PseudoSourceValue::getFixedStack(),
+                       MachineMemOperand::MOStore, FrameIdx, 8, 8);
   SDOperand Store = DAG.getNode(PPCISD::STD_32, MVT::Other,
                                 DAG.getEntryNode(), Ext64, FIdx,
                                 DAG.getMemOperand(MO));
index c9de586e78df1622afdf2d6f1035cecf332b2faf..eaf58b39e28bdae658084506944f1a9a0e3db9ed 100644 (file)
@@ -1930,7 +1930,7 @@ MachineInstr* X86InstrInfo::foldMemoryOperand(MachineFunction &MF,
 
   unsigned Alignment = 0;
   for (unsigned i = 0, e = LoadMI->getNumMemOperands(); i != e; ++i) {
-    const MemOperand &MRO = LoadMI->getMemOperand(i);
+    const MachineMemOperand &MRO = LoadMI->getMemOperand(i);
     unsigned Align = MRO.getAlignment();
     if (Align > Alignment)
       Alignment = Align;