Urg, the X86 backend DOES use virtual register operands. :(
authorChris Lattner <sabre@nondot.org>
Tue, 10 Feb 2004 21:43:11 +0000 (21:43 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 10 Feb 2004 21:43:11 +0000 (21:43 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11288 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/CodeGen/MachineInstr.h

index b148baa85dc091b30d32802b41e7e4d46edc18a9..aa0ae5cfdb33935e34ba2051a8de29df25d903e1 100644 (file)
@@ -220,12 +220,15 @@ public:
   bool isPCRelative() const { return (flags & PCRELATIVE) != 0; }
 
 
-  /// isRegister - Return true if this operand is a register operand.
+  /// isRegister - Return true if this operand is a register operand.  The X86
+  /// backend currently can't decide whether to use MO_MR or MO_VR to represent
+  /// them, so we accept both.
   ///
-  /// Note: In the sparc backend, this only returns true for "machine
-  /// registers", not for "virtual registers".
+  /// Note: The sparc backend should not use this method.
   ///
-  bool isRegister() const { return opType == MO_MachineRegister; }
+  bool isRegister() const {
+    return opType == MO_MachineRegister || opType == MO_VirtualRegister;
+  }
 
   bool isMachineBasicBlock() const { return opType == MO_MachineBasicBlock; }
   bool isPCRelativeDisp() const { return opType == MO_PCRelativeDisp; }