OSDN Git Service

[ARM] Use the efficient version of BitVector::set and a static_assert.
authorBenjamin Kramer <benny.kra@googlemail.com>
Thu, 14 Jan 2016 14:33:04 +0000 (14:33 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Thu, 14 Jan 2016 14:33:04 +0000 (14:33 +0000)
No functional change intended.

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

lib/Target/ARM/ARMBaseRegisterInfo.cpp

index a520770..3af8c32 100644 (file)
@@ -167,9 +167,8 @@ getReservedRegs(const MachineFunction &MF) const {
     Reserved.set(ARM::R9);
   // Reserve D16-D31 if the subtarget doesn't support them.
   if (!STI.hasVFP3() || STI.hasD16()) {
-    assert(ARM::D31 == ARM::D16 + 15);
-    for (unsigned i = 0; i != 16; ++i)
-      Reserved.set(ARM::D16 + i);
+    static_assert(ARM::D31 == ARM::D16 + 15, "Register list not consecutive!");
+    Reserved.set(ARM::D16, ARM::D31 + 1);
   }
   const TargetRegisterClass *RC  = &ARM::GPRPairRegClass;
   for(TargetRegisterClass::iterator I = RC->begin(), E = RC->end(); I!=E; ++I)