[llvm] r347393 - [TargetLowering] SimplifyDemandedBits - only reduce known bits for integer constants

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 21 06:26:19 PST 2018


Author: rksimon
Date: Wed Nov 21 06:26:19 2018
New Revision: 347393

URL: http://llvm.org/viewvc/llvm-project?rev=347393&view=rev
Log:
[TargetLowering] SimplifyDemandedBits - only reduce known bits for integer constants

Avoids fuzzing crash found by Mikael Holmén.

Modified:
    llvm/trunk/lib/CodeGen/SelectionDAG/TargetLowering.cpp

Modified: llvm/trunk/lib/CodeGen/SelectionDAG/TargetLowering.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SelectionDAG/TargetLowering.cpp?rev=347393&r1=347392&r2=347393&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/SelectionDAG/TargetLowering.cpp (original)
+++ llvm/trunk/lib/CodeGen/SelectionDAG/TargetLowering.cpp Wed Nov 21 06:26:19 2018
@@ -1361,7 +1361,9 @@ bool TargetLowering::SimplifyDemandedBit
         if (C->isOpaque())
           return false;
     }
-    return TLO.CombineTo(Op, TLO.DAG.getConstant(Known.One, dl, VT));
+    // TODO: Handle float bits as well.
+    if (VT.isInteger())
+      return TLO.CombineTo(Op, TLO.DAG.getConstant(Known.One, dl, VT));
   }
 
   return false;




More information about the llvm-commits mailing list