summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
diff options
context:
space:
mode:
authorRichard Osborne <richard@xmos.com>2010-03-10 17:16:29 +0000
committerRichard Osborne <richard@xmos.com>2010-03-10 17:16:29 +0000
commitc99b9b2193652f0441a679ce14cb9bfe65fcee1e (patch)
treee38803a4d9202216a5d88fa06ccc2efeaebb004b /llvm/lib/Target
parent5a457de4b20d38f62e5906b39a53b5591253f642 (diff)
downloadbcm5719-llvm-c99b9b2193652f0441a679ce14cb9bfe65fcee1e.tar.gz
bcm5719-llvm-c99b9b2193652f0441a679ce14cb9bfe65fcee1e.zip
Fix checking of intermediates having one use in isADDADDMUL
llvm-svn: 98164
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r--llvm/lib/Target/XCore/XCoreISelLowering.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/llvm/lib/Target/XCore/XCoreISelLowering.cpp b/llvm/lib/Target/XCore/XCoreISelLowering.cpp
index 7dc0274f268..82492193d20 100644
--- a/llvm/lib/Target/XCore/XCoreISelLowering.cpp
+++ b/llvm/lib/Target/XCore/XCoreISelLowering.cpp
@@ -607,10 +607,11 @@ isADDADDMUL(SDValue Op, SDValue &Mul0, SDValue &Mul1, SDValue &Addend0,
} else {
return false;
}
+ if (requireIntermediatesHaveOneUse && !AddOp.hasOneUse())
+ return false;
if (OtherOp.getOpcode() == ISD::MUL) {
// add(add(a,b),mul(x,y))
- if (requireIntermediatesHaveOneUse &&
- (!OtherOp.hasOneUse() || !AddOp.hasOneUse()))
+ if (requireIntermediatesHaveOneUse && !OtherOp.hasOneUse())
return false;
Mul0 = OtherOp.getOperand(0);
Mul1 = OtherOp.getOperand(1);
OpenPOWER on IntegriCloud