Date: Thu, 17 Sep 2020 19:47:41 +0000 (UTC) From: Dimitry Andric <dim@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r365849 - head/contrib/llvm-project/llvm/lib/Target/X86 Message-ID: <202009171947.08HJlfhc052835@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: dim Date: Thu Sep 17 19:47:41 2020 New Revision: 365849 URL: https://svnweb.freebsd.org/changeset/base/365849 Log: Merge commit 46673763f from llvm git (by Craig Topper): [X86] Place new constant node in topological order in X86DAGToDAGISel::matchBitExtract Fixes PR47482 This should fix 'Assertion failed: (Op->getNodeId() != -1 && "Node has already selected predecessor node"), function DoInstructionSelection, file /usr/src/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp, line 1149' when compiling part of the project_painter project, while targeting the bdver2 (or higher) CPU. Reported by: jkim MFC after: 6 weeks X-MFC-With: r364284 Modified: head/contrib/llvm-project/llvm/lib/Target/X86/X86ISelDAGToDAG.cpp Modified: head/contrib/llvm-project/llvm/lib/Target/X86/X86ISelDAGToDAG.cpp ============================================================================== --- head/contrib/llvm-project/llvm/lib/Target/X86/X86ISelDAGToDAG.cpp Thu Sep 17 19:43:25 2020 (r365848) +++ head/contrib/llvm-project/llvm/lib/Target/X86/X86ISelDAGToDAG.cpp Thu Sep 17 19:47:41 2020 (r365849) @@ -3496,6 +3496,7 @@ bool X86DAGToDAGISel::matchBitExtract(SDNode *Node) { // Shift NBits left by 8 bits, thus producing 'control'. // This makes the low 8 bits to be zero. SDValue C8 = CurDAG->getConstant(8, DL, MVT::i8); + insertDAGNode(*CurDAG, SDValue(Node, 0), C8); SDValue Control = CurDAG->getNode(ISD::SHL, DL, MVT::i32, NBits, C8); insertDAGNode(*CurDAG, SDValue(Node, 0), Control);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202009171947.08HJlfhc052835>