[PATCH] D50765: [TargetLowering] Add support for non-uniform vectors to BuildSDIV
    Simon Pilgrim via Phabricator via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Thu Aug 16 10:27:10 PDT 2018
    
    
  
RKSimon added inline comments.
================
Comment at: lib/CodeGen/SelectionDAG/TargetLowering.cpp:3530-3531
+  auto BuildSDIVPattern = [&](ConstantSDNode *C) {
+    if (C->isNullValue())
+      return false;
+
----------------
lebedev.ri wrote:
> We will end up with improperly-sized/indexed arrays.
> I understand that `/ 0` is ub, but i wonder if we should be more proactive in failing?
> Perhaps we should push `0, 0, 0` to the vectors. Or maybe the current way is sufficient.
Any division by zero (even if its just one element in a vector) results in UNDEF - but we don't want to handle it here - so we just bail and leave DAGCombiner's simplifyDivRem to handle it.
Repository:
  rL LLVM
https://reviews.llvm.org/D50765
    
    
More information about the llvm-commits
mailing list