From: Matthias Braun Date: Wed, 31 May 2017 20:30:17 +0000 (+0000) Subject: X86FloatingPoint: Add some static assert, cleanup; NFC X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5b7a2a218c09379b5d03dfb33b55539d3a088b77;p=llvm X86FloatingPoint: Add some static assert, cleanup; NFC git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@304341 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/X86/X86FloatingPoint.cpp b/lib/Target/X86/X86FloatingPoint.cpp index 313920e02c3..654bd71000d 100644 --- a/lib/Target/X86/X86FloatingPoint.cpp +++ b/lib/Target/X86/X86FloatingPoint.cpp @@ -126,9 +126,11 @@ namespace { static unsigned calcLiveInMask(MachineBasicBlock *MBB) { unsigned Mask = 0; for (const auto &LI : MBB->liveins()) { - if (LI.PhysReg < X86::FP0 || LI.PhysReg > X86::FP6) + MCPhysReg Reg = LI.PhysReg; + static_assert(X86::FP7 - X86::FP0 == 7, "sequential FP regnumbers"); + if (Reg < X86::FP0 || Reg > X86::FP6) continue; - Mask |= 1 << (LI.PhysReg - X86::FP0); + Mask |= 1 << (Reg - X86::FP0); } return Mask; } @@ -453,6 +455,7 @@ bool FPS::processBasicBlock(MachineFunction &MF, MachineBasicBlock &BB) { unsigned Reg = DeadRegs[i]; // Check if Reg is live on the stack. An inline-asm register operand that // is in the clobber list and marked dead might not be live on the stack. + static_assert(X86::FP7 - X86::FP0 == 7, "sequential FP regnumbers"); if (Reg >= X86::FP0 && Reg <= X86::FP6 && isLive(Reg-X86::FP0)) { DEBUG(dbgs() << "Register FP#" << Reg-X86::FP0 << " is dead!\n"); freeStackSlotAfter(I, Reg-X86::FP0); @@ -506,6 +509,7 @@ void FPS::setupBlockStack() { // Push the fixed live-in registers. for (unsigned i = Bundle.FixCount; i > 0; --i) { + static_assert(X86::ST7 - X86::ST0 == 7, "sequential ST regnumbers"); MBB->addLiveIn(X86::ST0+i-1); DEBUG(dbgs() << "Live-in st(" << (i-1) << "): %FP" << unsigned(Bundle.FixStack[i-1]) << '\n');