diff options
author | Chris Lattner <sabre@nondot.org> | 2010-05-21 18:01:24 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2010-05-21 18:01:24 +0000 |
commit | d3d9ee1a4dbf67cd5fc4e010abe4c45002a18587 (patch) | |
tree | a80e56ab44a762458169b98dadb5468d453f5856 | |
parent | 637e07318160dec68d516e5081414f5a89302844 (diff) | |
download | external_llvm-d3d9ee1a4dbf67cd5fc4e010abe4c45002a18587.zip external_llvm-d3d9ee1a4dbf67cd5fc4e010abe4c45002a18587.tar.gz external_llvm-d3d9ee1a4dbf67cd5fc4e010abe4c45002a18587.tar.bz2 |
use continue to reduce nesting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104330 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Target/X86/X86FloatingPointRegKill.cpp | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/lib/Target/X86/X86FloatingPointRegKill.cpp b/lib/Target/X86/X86FloatingPointRegKill.cpp index 34f45fd..97a43f2 100644 --- a/lib/Target/X86/X86FloatingPointRegKill.cpp +++ b/lib/Target/X86/X86FloatingPointRegKill.cpp @@ -57,22 +57,25 @@ FunctionPass *llvm::createX87FPRegKillInserterPass() { /// stack code, and thus needs an FP_REG_KILL. static bool ContainsFPStackCode(MachineBasicBlock *MBB, unsigned SSELevel, MachineRegisterInfo &MRI) { - + // Scan the block, looking for instructions that define fp stack vregs. for (MachineBasicBlock::iterator I = MBB->begin(), E = MBB->end(); I != E; ++I) { - if (I->getNumOperands() != 0 && I->getOperand(0).isReg()) { - for (unsigned op = 0, e = I->getNumOperands(); op != e; ++op) { - if (I->getOperand(op).isReg() && I->getOperand(op).isDef() && - TargetRegisterInfo::isVirtualRegister(I->getOperand(op).getReg())) { - const TargetRegisterClass *RegClass = - MRI.getRegClass(I->getOperand(op).getReg()); - - if (RegClass == X86::RFP32RegisterClass || - RegClass == X86::RFP64RegisterClass || - RegClass == X86::RFP80RegisterClass) - return true; - } - } + if (I->getNumOperands() == 0 || !I->getOperand(0).isReg()) + continue; + + for (unsigned op = 0, e = I->getNumOperands(); op != e; ++op) { + if (!I->getOperand(op).isReg() || !I->getOperand(op).isDef() || + !TargetRegisterInfo::isVirtualRegister(I->getOperand(op).getReg())) + continue; + + const TargetRegisterClass *RegClass = + MRI.getRegClass(I->getOperand(op).getReg()); + + switch (RegClass->getID()) + case X86::RFP32RegClassID: + case X86::RFP64RegClassID: + case X86::RFP80RegClassID: + return true; } } |