]> granicus.if.org Git - llvm/commitdiff
Revert Register/MCRegister: Add conversion operators to avoid use of implicit convert...
authorDaniel Sanders <daniel_l_sanders@apple.com>
Mon, 5 Aug 2019 21:34:45 +0000 (21:34 +0000)
committerDaniel Sanders <daniel_l_sanders@apple.com>
Mon, 5 Aug 2019 21:34:45 +0000 (21:34 +0000)
MSVC finds ambiguity where clang doesn't and it looks like it's not going to be an easy fix
Reverting while I figure out how to fix it

This reverts r367916 (git commit aa15ec3c231717826e3c262b5ef9813d2fb5cadb)
This reverts r367920 (git commit 5d14efe279b5db9f4746ff834ab5c70e249d3871)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@367932 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/CodeGen/Register.h
include/llvm/MC/MCRegister.h
lib/CodeGen/MachineBasicBlock.cpp

index 73bca60ffcb4fb955a54c30fbc54a2052f3bbd73..640bd82bde2c9c51c49db5e3b59ab4e286567e18 100644 (file)
@@ -113,19 +113,6 @@ public:
   bool isValid() const {
     return Reg != 0;
   }
-
-  /// Comparisons between register objects
-  bool operator==(const Register &Other) const { return Reg == Other.Reg; }
-  bool operator!=(const Register &Other) const { return Reg != Other.Reg; }
-
-  /// Comparisons against register constants. E.g.
-  /// * R == AArch64::WZR
-  /// * R == 0
-  /// * R == VirtRegMap::NO_PHYS_REG
-  bool operator==(unsigned Other) const { return Reg == Other; }
-  bool operator!=(unsigned Other) const { return Reg != Other; }
-  bool operator==(int Other) const { return Reg == unsigned(Other); }
-  bool operator!=(int Other) const { return Reg != unsigned(Other); }
 };
 
 // Provide DenseMapInfo for Register
index 2d4ac211f093f0c7533d67a44877a09d4d43238b..0e889c7adf7a8081304d2e2b1ab0237409c16fcc 100644 (file)
@@ -63,19 +63,6 @@ public:
   bool isValid() const {
     return Reg != 0;
   }
-
-  /// Comparisons between register objects
-  bool operator==(const MCRegister &Other) const { return Reg == Other.Reg; }
-  bool operator!=(const MCRegister &Other) const { return Reg != Other.Reg; }
-
-  /// Comparisons against register constants. E.g.
-  /// * R == AArch64::WZR
-  /// * R == 0
-  /// * R == VirtRegMap::NO_PHYS_REG
-  bool operator==(unsigned Other) const { return Reg == Other; }
-  bool operator!=(unsigned Other) const { return Reg != Other; }
-  bool operator==(int Other) const { return Reg == unsigned(Other); }
-  bool operator!=(int Other) const { return Reg != unsigned(Other); }
 };
 
 // Provide DenseMapInfo for MCRegister
index 46146bcfaad413284042fe71f53fb099544b47ad..d7e83286b59e47d0428e856bc3f8c18bf4caa666 100644 (file)
@@ -499,7 +499,7 @@ MachineBasicBlock::addLiveIn(MCPhysReg PhysReg, const TargetRegisterClass *RC) {
   // Look for an existing copy.
   if (LiveIn)
     for (;I != E && I->isCopy(); ++I)
-      if (I->getOperand(1).getReg() == Register(PhysReg)) {
+      if (I->getOperand(1).getReg() == PhysReg) {
         unsigned VirtReg = I->getOperand(0).getReg();
         if (!MRI.constrainRegClass(VirtReg, RC))
           llvm_unreachable("Incompatible live-in register class.");