svn commit: r367603 - in stable: 11/contrib/llvm-project/llvm/lib/Target/PowerPC 12/contrib/llvm-project/llvm/lib/Target/PowerPC

Dimitry Andric dim at FreeBSD.org
Wed Nov 11 22:18:25 UTC 2020


Author: dim
Date: Wed Nov 11 22:18:24 2020
New Revision: 367603
URL: https://svnweb.freebsd.org/changeset/base/367603

Log:
  MFC r367485:
  
  Merge commit 354d3106c from llvm git (by Kai Luo):
  
    [PowerPC] Skip combining (uint_to_fp x) if x is not simple type
  
    Current powerpc64le backend hits
    ```
    Combining: t7: f64 = uint_to_fp t6
    llc: llvm-project/llvm/include/llvm/CodeGen/ValueTypes.h:291:
    llvm::MVT llvm::EVT::getSimpleVT() const: Assertion `isSimple() &&
    "Expected a SimpleValueType!"' failed.
    ```
    This patch fixes it by skipping combination if `t6` is not simple
    type.
    Fixed https://bugs.llvm.org/show_bug.cgi?id=47660.
  
    Reviewed By: #powerpc, steven.zhang
  
    Differential Revision: https://reviews.llvm.org/D88388
  
  This should fix the llvm assertion mentioned above when building the
  following ports for powerpc64le:
  
  * audio/traverso
  * databases/percona57-pam-for-mysql
  * databases/percona57-server
  * emulators/citra
  * emulators/citra-qt5
  * games/7kaa
  * graphics/dia
  * graphics/mandelbulber
  * graphics/pcl-pointclouds
  * net-p2p/libtorrent-rasterbar
  * textproc/htmldoc
  
  Requested by:	pkubaj

Modified:
  stable/11/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCISelLowering.cpp
Directory Properties:
  stable/11/   (props changed)

Changes in other areas also in this revision:
Modified:
  stable/12/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCISelLowering.cpp
Directory Properties:
  stable/12/   (props changed)

Modified: stable/11/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCISelLowering.cpp
==============================================================================
--- stable/11/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCISelLowering.cpp	Wed Nov 11 22:15:25 2020	(r367602)
+++ stable/11/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCISelLowering.cpp	Wed Nov 11 22:18:24 2020	(r367603)
@@ -13371,6 +13371,8 @@ SDValue PPCTargetLowering::combineFPToIntToFP(SDNode *
   // from the hardware.
   if (Op.getValueType() != MVT::f32 && Op.getValueType() != MVT::f64)
     return SDValue();
+  if (!Op.getOperand(0).getValueType().isSimple())
+    return SDValue();
   if (Op.getOperand(0).getValueType().getSimpleVT() <= MVT(MVT::i1) ||
       Op.getOperand(0).getValueType().getSimpleVT() > MVT(MVT::i64))
     return SDValue();


More information about the svn-src-all mailing list