]> granicus.if.org Git - llvm/commitdiff
[X86] Limit getTargetConstantFromNode to only work on NormalLoads not extending loads.
authorCraig Topper <craig.topper@intel.com>
Wed, 10 Jul 2019 00:40:01 +0000 (00:40 +0000)
committerCraig Topper <craig.topper@intel.com>
Wed, 10 Jul 2019 00:40:01 +0000 (00:40 +0000)
This seems to fix a failure reported by Jordan Rupprecht, but we
don't have a reduced test case yet.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@365589 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86ISelLowering.cpp

index 40e3070ae94d5dd37c2c5ad1fd7a5afeced7df98..2812b088b61a83dd72aee9fb8e53b6d302213d12 100644 (file)
@@ -5788,7 +5788,7 @@ static SDValue getShuffleVectorZeroOrUndef(SDValue V2, int Idx,
 }
 
 static const Constant *getTargetConstantFromNode(LoadSDNode *Load) {
-  if (!Load)
+  if (!Load || !ISD::isNormalLoad(Load))
     return nullptr;
 
   SDValue Ptr = Load->getBasePtr();