[all-commits] [llvm/llvm-project] b3ced9: [SLP]Fix crash on extending scheduling region.

cilkplus via All-commits all-commits at lists.llvm.org
Thu Mar 18 06:12:41 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: b3ced9852c7e6cc2dab61b6adb5c92812c99b00e
      https://github.com/llvm/llvm-project/commit/b3ced9852c7e6cc2dab61b6adb5c92812c99b00e
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2021-03-18 (Thu, 18 Mar 2021)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/crash_exceed_scheduling.ll

  Log Message:
  -----------
  [SLP]Fix crash on extending scheduling region.

If SLP vectorizer tries to extend the scheduling region and runs out of
the budget too early, but still extends the region to the new ending
instructions (i.e., it was able to extend the region for the first
instruction in the bundle, but not for the second), the compiler need to
recalculate dependecies in full, just like if the extending was
successfull. Without it, the schedule data chunks may end up with the
wrong number of (unscheduled) dependecies and it may end up with the
incorrect function, where the vectorized instruction does not dominate
on the extractelement instruction.

Differential Revision: https://reviews.llvm.org/D98531




More information about the All-commits mailing list