diff options
author | Chris Lattner <sabre@nondot.org> | 2004-10-08 22:24:31 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2004-10-08 22:24:31 +0000 |
commit | b0f4e389dba74e5d4692bc42d155950e96c92eaf (patch) | |
tree | 184dc1807716a480ade43ed13ad518dd98755048 | |
parent | 8f57e9c083b1e1aa9677e83284969ab65b975821 (diff) |
Fix a major regression from the bugfix for 2004-10-08-SelectSetCCFold.llx,
which prevented setcc's from being folded into branches. It appears that
conditional branchinst's CC operand is actually operand(2), not operand(0)
as we might expect. :(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16859 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Target/X86/X86ISelSimple.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/Target/X86/X86ISelSimple.cpp b/lib/Target/X86/X86ISelSimple.cpp index ff0ba75918..3b779363e0 100644 --- a/lib/Target/X86/X86ISelSimple.cpp +++ b/lib/Target/X86/X86ISelSimple.cpp @@ -848,7 +848,7 @@ static SetCondInst *canFoldSetCCIntoBranchOrSelect(Value *V) { (getClassB(SCI->getOperand(0)->getType()) != cLong || SCI->getOpcode() == Instruction::SetEQ || SCI->getOpcode() == Instruction::SetNE) && - User->getOperand(0) == V) + (isa<BranchInst>(User) || User->getOperand(0) == V)) return SCI; } return 0; |