[PATCH] D147892: [VPlan] Unify Value2VPValue and VPExternalDefs maps (NFCI).
Thurston Dang via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Apr 17 10:01:56 PDT 2023
thurston added a comment.
(Repost from github)
This patch appears to cause a heap-use-after-free e.g., https://lab.llvm.org/buildbot/#/builders/239/builds/1843/steps/14/logs/stdio:
FAIL: LLVM :: Transforms/LoopVectorize/SystemZ/pr38110.ll (57359 of 71288)
******************** TEST 'LLVM :: Transforms/LoopVectorize/SystemZ/pr38110.ll' FAILED ********************
Script:
--
: 'RUN: at line 1'; /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/opt -passes='loop-vectorize' -mcpu=z13 -force-vector-width=2 -S < /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/test/Transforms/LoopVectorize/SystemZ/pr38110.ll | /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/FileCheck /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/test/Transforms/LoopVectorize/SystemZ/pr38110.ll
--
Exit Code: 2
Command Output (stderr):
--
=================================================================
==932340==ERROR: AddressSanitizer: heap-use-after-free on address 0x50e000000b50 at pc 0xaaaacf039884 bp 0xffffca0e3220 sp 0xffffca0e3218
READ of size 8 at 0x50e000000b50 thread T0
#0 0xaaaacf039880 in llvm::VPValue::getDefiningRecipe() /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/lib/Transforms/Vectorize/VPlan.cpp:117:37
#1 0xaaaacef5cda4 in llvm::VPlan::getVPValue(llvm::Value*, bool) /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/lib/Transforms/Vectorize/VPlan.h:2346:5
#2 0xaaaacef5a7c4 in llvm::InnerLoopVectorizer::truncateToMinimalBitwidths(llvm::VPTransformState&) /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:3611:32
#3 0xaaaacef5d648 in llvm::InnerLoopVectorizer::fixVectorizedLoop(llvm::VPTransformState&, llvm::VPlan&) /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:3739:5
#4 0xaaaacefaf0e4 in llvm::LoopVectorizationPlanner::executePlan(llvm::ElementCount, unsigned int, llvm::VPlan&, llvm::InnerLoopVectorizer&, llvm::DominatorTree*, bool) /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:7802:7
#5 0xaaaacefe67c8 in llvm::LoopVectorizePass::processLoop(llvm::Loop*) /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:10496:13
#6 0xaaaaceff4028 in llvm::LoopVectorizePass::runImpl(llvm::Function&, llvm::ScalarEvolution&, llvm::LoopInfo&, llvm::TargetTransformInfo&, llvm::DominatorTree&, llvm::BlockFrequencyInfo*, llvm::TargetLibraryInfo*, llvm::DemandedBits&, llvm::AssumptionCache&, llvm::LoopAccessInfoManager&, llvm::OptimizationRemarkEmitter&, llvm::ProfileSummaryInfo*) /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:10593:30
#7 0xaaaaceff5440 in llvm::LoopVectorizePass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:10626:9
#8 0xaaaacd88aaa8 in llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/include/llvm/IR/PassManager.h:517:40
#9 0xaaaacd896838 in llvm::ModuleToFunctionPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/lib/IR/PassManager.cpp:124:38
#10 0xaaaacd888284 in llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/include/llvm/IR/PassManager.h:517:40
#11 0xaaaac851509c in llvm::runPassPipeline(llvm::StringRef, llvm::Module&, llvm::TargetMachine*, llvm::TargetLibraryInfoImpl*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::StringRef, llvm::ArrayRef<llvm::PassPlugin>, llvm::opt_tool::OutputKind, llvm::opt_tool::VerifierKind, bool, bool, bool, bool, bool, bool) /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/tools/opt/NewPMDriver.cpp:522:7
#12 0xaaaac85446c4 in main /b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/tools/opt/opt.cpp:701:12
#13 0xffff92e373f8 (/lib/aarch64-linux-gnu/libc.so.6+0x273f8) (BuildId: f37f3aa07c797e333fd106472898d361f71798f5)
#14 0xffff92e374c8 in __libc_start_main (/lib/aarch64-linux-gnu/libc.so.6+0x274c8) (BuildId: f37f3aa07c797e333fd106472898d361f71798f5)
#15 0xaaaac842bb6c in _start (/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/opt+0x7f6bb6c)
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D147892/new/
https://reviews.llvm.org/D147892
More information about the llvm-commits
mailing list