summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@intel.com>2018-07-12 18:04:05 +0000
committerCraig Topper <craig.topper@intel.com>2018-07-12 18:04:05 +0000
commitabc307e6fafe45383df37ce6fd83944512ab0d93 (patch)
tree71d73ba15bafc3cc400a61ef041a253b595dc6cd
parentd43f58231cd3a75b5df540aac75b44e8654ce209 (diff)
downloadbcm5719-llvm-abc307e6fafe45383df37ce6fd83944512ab0d93.tar.gz
bcm5719-llvm-abc307e6fafe45383df37ce6fd83944512ab0d93.zip
[X86] Connect the flags user from PCMPISTR instructions to the correct node from the instruction.
We were accidentally connecting it to result 0 instead of result 1. This was caught by the machine verifier that noticed the flags were dead, but we were using them somehow. I'm still not clear what actually happened downstream. llvm-svn: 336925
-rw-r--r--llvm/lib/Target/X86/X86ISelDAGToDAG.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Target/X86/X86ISelDAGToDAG.cpp b/llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
index 4ebb50d9817..f42e626a9c9 100644
--- a/llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
+++ b/llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
@@ -3336,7 +3336,7 @@ void X86DAGToDAGISel::Select(SDNode *Node) {
}
// Connect the flag usage to the last instruction created.
- ReplaceUses(SDValue(Node, 2), SDValue(CNode, 0));
+ ReplaceUses(SDValue(Node, 2), SDValue(CNode, 1));
CurDAG->RemoveDeadNode(Node);
return;
}
OpenPOWER on IntegriCloud