[all-commits] [llvm/llvm-project] 10ada4: [SandboxVectorizer] Use sbvec-passes flag to creat...

Jorge Gorbe Moya via All-commits all-commits at lists.llvm.org
Wed Oct 9 10:37:27 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 10ada4ae738b9d93174e516ca841e61a8f4fd612
      https://github.com/llvm/llvm-project/commit/10ada4ae738b9d93174e516ca841e61a8f4fd612
  Author: Jorge Gorbe Moya <jgorbe at google.com>
  Date:   2024-10-09 (Wed, 09 Oct 2024)

  Changed paths:
    M llvm/include/llvm/SandboxIR/PassManager.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.h
    A llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/NullPass.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.h
    M llvm/lib/SandboxIR/PassManager.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
    A llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/PassRegistry.def
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.cpp
    M llvm/test/Transforms/SandboxVectorizer/default_pass_pipeline.ll
    M llvm/test/Transforms/SandboxVectorizer/user_pass_pipeline.ll
    M llvm/unittests/SandboxIR/PassTest.cpp

  Log Message:
  -----------
  [SandboxVectorizer] Use sbvec-passes flag to create a pipeline of Region passes after BottomUpVec. (#111223)

The main change is that the main SandboxVectorizer pass no longer has a
pipeline of function passes. Now it is a wrapper that creates sandbox IR
from functions before calling BottomUpVec.

BottomUpVec now builds its own RegionPassManager from the `sbvec-passes`
flag, using a PassRegistry.def file. For now, these region passes are
not run (BottomUpVec doesn't create Regions yet), and only a null pass
for testing exists.

This commit also changes the ownership model for sandboxir::PassManager:
instead of having a PassRegistry that owns passes, and PassManagers that
contain non-owning pointers to the passes, now PassManager owns (via
unique pointers) the passes it contains.

PassRegistry is now deleted, and the logic to parse and create a pass
pipeline is now in PassManager::setPassPipeline.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list