<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/71892>71892</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Assertion `Info && "Invalid name for a VFABI variant."' failed.
</td>
</tr>
<tr>
<th>Labels</th>
<td>
crash-on-valid
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
regehr
</td>
</tr>
</table>
<pre>
this test is a reduced version of `llvm/test/Transforms/LoopVectorize/scalarize-masked-call.ll`
```llvm
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
define void @cond_call() {
entry:
br label %for.body
for.body: ; preds = %for.body, %entry
%foo.ret = call i64 @foo()
br label %for.body
}
declare i64 @foo() #0
attributes #0 = { "vector-function-abi-variant"="_ZGV_LLVM_M4v_foo(vector_foo)" }
```
I get:
```
regehr@ohm:~/reduce$ /home/regehr/llvm-project/for-alive/bin/opt -O2 reduced.ll -o /dev/null
opt: /home/regehr/llvm-project/llvm/lib/Analysis/VectorUtils.cpp:1473: void llvm::VFABI::getVectorVariantNames(const llvm::CallInst&, llvm::SmallVectorImpl<std::__cxx11::basic_string<char> >&): Assertion `Info && "Invalid name for a VFABI variant."' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0. Program arguments: /home/regehr/llvm-project/for-alive/bin/opt -O2 reduced.ll -o /dev/null
#0 0x00007fd3a2ffe950 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/regehr/llvm-project/for-alive/bin/../lib/libLLVMSupport.so.18git+0x1fe950)
#1 0x00007fd3a2ffb95f llvm::sys::RunSignalHandlers() (/home/regehr/llvm-project/for-alive/bin/../lib/libLLVMSupport.so.18git+0x1fb95f)
#2 0x00007fd3a2ffbab5 SignalHandler(int) Signals.cpp:0:0
#3 0x00007fd3a2642520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
#4 0x00007fd3a26969fc __pthread_kill_implementation ./nptl/pthread_kill.c:44:76
#5 0x00007fd3a26969fc __pthread_kill_internal ./nptl/pthread_kill.c:78:10
#6 0x00007fd3a26969fc pthread_kill ./nptl/pthread_kill.c:89:10
#7 0x00007fd3a2642476 gsignal ./signal/../sysdeps/posix/raise.c:27:6
#8 0x00007fd3a26287f3 abort ./stdlib/abort.c:81:7
#9 0x00007fd3a262871b _nl_load_domain ./intl/loadmsgcat.c:1177:9
#10 0x00007fd3a2639e96 (/lib/x86_64-linux-gnu/libc.so.6+0x39e96)
#11 0x00007fd3a3d060bf llvm::VFABI::getVectorVariantNames(llvm::CallInst const&, llvm::SmallVectorImpl<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>&) (/home/regehr/llvm-project/for-alive/bin/../lib/libLLVMAnalysis.so.18git+0x5060bf)
#12 0x00007fd3a585f086 llvm::VFDatabase::getVFABIMappings(llvm::CallInst const&, llvm::SmallVectorImpl<llvm::VFInfo>&) (/home/regehr/llvm-project/for-alive/bin/../lib/libLLVMVectorize.so.18git+0x5f086)
#13 0x00007fd3a586560a llvm::LoopVectorizationLegality::canVectorizeInstrs() (/home/regehr/llvm-project/for-alive/bin/../lib/libLLVMVectorize.so.18git+0x6560a)
#14 0x00007fd3a58667e7 llvm::LoopVectorizationLegality::canVectorize(bool) (/home/regehr/llvm-project/for-alive/bin/../lib/libLLVMVectorize.so.18git+0x667e7)
#15 0x00007fd3a58c8529 llvm::LoopVectorizePass::processLoop(llvm::Loop*) (/home/regehr/llvm-project/for-alive/bin/../lib/libLLVMVectorize.so.18git+0xc8529)
#16 0x00007fd3a58cc771 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*) (/home/regehr/llvm-project/for-alive/bin/../lib/libLLVMVectorize.so.18git+0xcc771)
#17 0x00007fd3a58cd670 llvm::LoopVectorizePass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/home/regehr/llvm-project/for-alive/bin/../lib/libLLVMVectorize.so.18git+0xcd670)
#18 0x00007fd3a62b7ec6 llvm::detail::PassModel<llvm::Function, llvm::LoopVectorizePass, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/home/regehr/llvm-project/for-alive/bin/../lib/libLLVMPasses.so.18git+0xb7ec6)
#19 0x00007fd3aa782fb1 llvm::detail::PassModel<llvm::Function, llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/home/regehr/llvm-project/for-alive/bin/../lib/libLLVMAMDGPUCodeGen.so.18git+0x382fb1)
#20 0x00007fd3a3525647 llvm::ModuleToFunctionPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/home/regehr/llvm-project/for-alive/bin/../lib/libLLVMCore.so.18git+0x325647)
#21 0x00007fd3aa762746 llvm::detail::PassModel<llvm::Module, llvm::ModuleToFunctionPassAdaptor, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/home/regehr/llvm-project/for-alive/bin/../lib/libLLVMAMDGPUCodeGen.so.18git+0x362746)
#22 0x00007fd3a35236c1 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/home/regehr/llvm-project/for-alive/bin/../lib/libLLVMCore.so.18git+0x3236c1)
#23 0x0000557f58a33034 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, bool) (/home/regehr/llvm-project/for-alive/bin/opt+0x31034)
#24 0x0000557f58a2109c main (/home/regehr/llvm-project/for-alive/bin/opt+0x1f09c)
#25 0x00007fd3a2629d90 __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16
#26 0x00007fd3a2629e40 call_init ./csu/../csu/libc-start.c:128:20
#27 0x00007fd3a2629e40 __libc_start_main ./csu/../csu/libc-start.c:379:5
#28 0x0000557f58a24f95 _start (/home/regehr/llvm-project/for-alive/bin/opt+0x22f95)
Aborted (core dumped)
regehr@ohm:~/reduce$
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzkWVtz5KgZ_TX4heouBLo--EG-9MYVO-taz_ohLyokUDcxAgVQx85DfnsK1De1ezwej3cqlyrvjlrA4TvnO9wEtVYsFefnILkAydUZHdxKm3PDl3xlzmrNXs7dSljouHVQWEih4WxoOINrbqzQCuoWghRJue4AXvhqAC--GKpsq01nAV7cat0_8sZpI_7JAV7Yhkrqn2cdtU-czRoq5VxKkCKArgAqN_9P0fgXoMMrR82SO8ioo5K-6MFBQK4gwJjPOkBKPhNpDEiZxrM2R4CUEc5nKvcPKSAlwWPZQ4RzgPFhX4y3QnG41oJBEKNGK1b5qICvWUCQXYz1uHLmBZBNKwhrAyWtuYQAJ602c6_XIe7uHSkhIBewN5zZTdD7BvjS_xyxN8ChWM8NHyn6WKBIYx9cq_UY1juCyK6mLBtJDX8FBAEmE-mpc0bUg-M2FI0BZxde6XVI5KwdVOOEVjNai9maGkGV85qSK4Bx9ddfHqvb28e76i5eV2M3Y7vxRwEwhvvYtnk-jOAGLrnbCX2y4mhRECO98sn_F8CL0ZoAxxDgxUp3PLwL1fDC22jWG_033niLttrMqBRrX6cWCuCF7h2c_Yq3Bp9LCWfaIzG-BnihBinHnnXvQkK_2cdmUEhRA7woFZUvVvgRMY6G352Qdt70vTdonBGPGRwYmpESkPJxUV7cjI9L7sZmj6Paf6EdtwDnjVbWHTS5pFLeKD8KU2-sfcFDR6UcIW66XgJyaR0bi6qqeX6OovFHTa1oKuuMUEtALpsVNYBcQ0CuA2Thwyyt5cbn3w_9G9V6mVKAU--QG7WmUjCoaMdhqw2kMNCAG5vMvU9wBlsqJGfzUdL72-vy4Rraoe6EgxTWwxIa3mvjoNNw5VxvfXR4AfBiKdxqqOeN7g4kngovrB28OgtIFYNCNXJgHLoVh42hdgVr2jw5Qxu-6f7B0eYJsqHrd55Dc4CKe6OXhnaQmuXQceXs-_L-A94aBxx6RgihrGWE4rblRYIOEmlf7Phwb4RyIfQvngvA-b6Sof-otHWG027jBOFHqB_r-UcIzOc7I0tR-8H9MPQ-P3Or51G-FA7gC_QchWD3kxPAJDpiUxdJe4rNb4N6EEtF5Z-oYpIbu5uc_tiAfTyTgPFxwLRO4CQ0gPONmuPr7ShG4b8dEJkApTFOMNrQGQN7ztMqjWdSqOF5tlTDWND4CNMQXWgyCS6eYhZp0Tawqnq3Mpyy6klIWYmul9zblYYh6oVQvZMALw6rzRtAytivl1m6x0_eg68cN4rKN5GzsO4eqJGeQj5s9iZcXhzBZcfixlkKlzbkIyCNj1sn2BfLeO-nhF5b8eytRIXlARtnfmOwh86n0DjPWgJp7SejAOXYmL7waozOz53ZHqF4hRDVsFKykpqyiumOijEvQgW6_nVnlw0d4aIo8yFt0u7H0HRKSEnBi_T7rBSa7KzkMScDkzCUorr9vrXn9aoDw3L0qWsPvoS7yv5F5QwVfibeLk2TGlRK3VCnzUH5-BcWr8-bTbbL-XQ6SYKKE5kn00mSJy3K04nMV9TRmlq-19orf0f7XqjlD8p82I9fp_8AIXZb-yMlPM-JEGQqRJqkiB4Ef3hMCBPXLV9SKdzLJvVU7XryEnz--vAVIiHOCZH4iEia8exjRADOa63lT6Hho5zQSKY0mjzBxVdo8HtqN8t0b3TDrfWlE2uOL8qfQSVEOqGSHlFpsiz6NhUzqDBMDmksNgeb12MrnFqv11oOJ8t9H2GEHRd8CYfW3Yn4ZJ0r3QnlZ60vhvNXpRdSN08Lw_8-cNW8jADlqU5uRW2oOV3jindUMc4u_Nx53ENp7dD1ntclbVavI_Dkysbn3WPfUUWXfhd0VOvX3olu4_nfeEfN03UnnDtR897oVkj-MHTdYbw_wTreGRPrZEfWYWmG3mWd99lmu0xsNTuckneNftqkHNhN6E_2OimuM94crk6MOyrkJmnU2jvNuDxN4pVhprId5Z9bbtacjfJw-zHR_N9_Qza8APxopxCUnqRismmkWY7bOvqEVIS6b_H9qPT_zxkt765-uf_9UjP-C1fTxJKQuMPM4snunSQ4SePDDcOdZoPkX_Q2Xp-xktE-7GJPqTE2-C4tNk0-X4lLbY4mGRL4TQSIptZOcRZ_3yyzZXz5Ttk-y5t72b7mzP-kXLzlyqD5JCn4yJUkbaJ3zBunUvG_I-EpO3thJsptTzJJkrVJTglBJD4I3AzBi_ei51Ko6Xe5h3C2_Y23p7z8lb3jHW1WAedbm75xN3tcS2v56-D6wS2EPAHyQ8VfoVMaQ1_828OcBU3ksBTq1eqhe1c5fxAa95Ghvz8Lxd6q9ciNaAU323rjQep7__2wdXS_sUeESDxxRzx1B45Q0cDwxecHu4paVDSTro6-1uGCFQhWlRR1U1lHjQu3WNXuc1Njh9cfxDaf3E41mq8AKZPNDdqu1_S4Vx6jcEVVCSXccUfjo0efBfTxCxf2oBjtQbNToBMqp1icBCdZ4cPeY-dHGYnbIoEj6o_mBOO2SHY5KWttHGcw3MsYHm4UONsVv31ldeqS64ydE1aQgp7x8ygtiiQv0qQ4W52zrCARYYTlnCPEswwVCBUFjUiUIFZnZ-IcI0yiKEIojuKomOe4LihGLCJ5GkdRDmLEOyrk3HOda7M8C7cm51mUF_gs3CjacCuMcbg0mWk1Czc7AGOQXJ2Z8yBSPSwtiJEU1tk9lBNO8vNPvCY6G4w8__g9UCD17wAAAP__yUBqsg">