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);
 
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to