clang: /root/llvm-project/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:7589: llvm::VectorizationFactor llvm::LoopVectorizationPlanner::computeBestVF(): Assertion `(BestFactor.Width == LegacyVF.Width || PlanFo
PR llvm#112138 introduced initial support for dispatching to multiple exit blocks via split middle blocks. This patch fixes a few issues so that we can enable more tests to use the new enable-early-exit-vectorization flag. Fixes are: 1. The code to bail out for any loop live-out values ...
EVALUATION Safepoint is removed by code in file loopnode.cpp @ line 2106 in method build_loop_early.
registers a function to be called onstd::exit()invocation (function) quick_exit (C++11) causes quick program termination without completely cleaning up (function) at_quick_exit (C++11) registers a function to be called onstd::quick_exitinvocation (function) C documentationforexit...
[AArch64] Improve codegen of vectorised early exit loops Browse files Once PR llvm#112138 lands we are able to start vectorising more loops that have uncountable early exits. The typical loop structure looks like this: vector.body: ... %pred = icmp eq <2 x ptr> %wide.load, %broa...
"Epilogue vectorisation not yet supported with early exits"); BasicBlock *BypassBlock = ILV.getAdditionalBypassBlock(); for (VPRecipeBase &R : *ExitVPBB) { for (VPRecipeBase &R : *MiddleVPBB) { fixReductionScalarResumeWhenVectorizingEpilog( ...
N may get merged with existing nodes inside the loop. Early exit when it is deleted to avoid the crash. Alternative solution: use DAGNodeDeletedListener to refresh the value of N. Closes #128143. [DAGCombiner] visitFREEZE: Early exit when N has been deleted 530460a dtcxzyw requested rev...
+ bool canVectorizeEarlyExit() const; + /// Return true if we can vectorize this loop while folding its tail by /// masking. bool canFoldTailByMasking() const; diff --git a/llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp b/llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cp...
This works perfectly fine on x86_64. Recently, we added an ARM version of our image for self-hosting. I tested this problem on a MacBook Pro with M1, but also on aHetznerARM server, and I got the same results. When I start the application on an ARM system, the process exits with...