[PATCH] D125111: [SLP] Make reordering aware of external vectorizable scalar stores.

Arthur Eubanks via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed May 11 15:27:23 PDT 2022


aeubanks added a comment.

this is causing crashes

  $ cat /tmp/d.ll
  target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
  target triple = "x86_64-unknown-linux-gnu"
  
  define void @f() {
    store i32 undef, ptr undef, align 4
    %1 = getelementptr inbounds [4 x i32], ptr undef, i64 0, i64 3
    %2 = load i32, ptr null, align 4
    store i32 %2, ptr %1, align 4
    br label %3
  
  3:                                                ; preds = %0
    br label %4
  
  4:                                                ; preds = %9, %3
    %5 = phi i32 [ %2, %3 ], [ 0, %9 ]
    %6 = phi i32 [ undef, %3 ], [ 0, %9 ]
    %7 = phi i32 [ undef, %3 ], [ 0, %9 ]
    %8 = phi i32 [ %2, %3 ], [ 0, %9 ]
    br label %9
  
  9:                                                ; preds = %4
    br label %4
  }
  $ ./build/rel/bin/opt -passes=slp-vectorizer -disable-output /tmp/d.ll
  opt: ../../llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp:5851: llvm::InstructionCost llvm::slpvectorizer::BoUpSLP::getEntryCost(const llvm::slpvectorizer::BoUpSLP::TreeEntry *, ArrayRef<llvm::Value *>): Assertion `E->getOpcode() && allSameType(VL) && allSameBlock(VL) && "Invalid VL"' failed.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D125111/new/

https://reviews.llvm.org/D125111



More information about the llvm-commits mailing list