<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/116133>116133</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[AMDGPU] LLVM ERROR: Cannot select: t70: i64 = FrameIndex<0>
</td>
</tr>
<tr>
<th>Labels</th>
<td>
backend:AMDGPU
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
weiweichen
</td>
</tr>
</table>
<pre>
Input LLVM IR:
```
; test.ll
source_filename = "test"
target datalayout = "e-p:64:64-p1:64:64-p2:32:32-p3:32:32-p4:64:64-p5:32:32-p6:32:32-p7:160:256:256:32-p8:128:128-p9:192:256:256:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64-S32-A5-G1-ni:7:8:9"
target triple = "amdgcn-amd-amdhsa"
define dso_local amdgpu_kernel void @vec_func(ptr noundef %0, ptr noundef %1, ptr noundef %2, i64 noundef %3) #0 {
%5 = alloca ptr, i64 1, align 8
%6 = alloca ptr, i64 1, align 8
%7 = alloca ptr, i64 1, align 8
%8 = alloca ptr, i64 1, align 8
%9 = alloca ptr, i64 1, align 8
%10 = alloca ptr, i64 1, align 8
%11 = getelementptr inbounds float, ptr %0, i32 9
store ptr %11, ptr %10, align 8
store ptr %11, ptr %8, align 8
store ptr %11, ptr %9, align 8
store ptr %2, ptr %7, align 8
store ptr %2, ptr %5, align 8
store ptr %2, ptr %6, align 8
%12 = load float, ptr %11, align 4
store float %12, ptr %2, align 4
ret void
}
; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #1
; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #1
attributes #0 = { "target-cpu"="gfx942" "target-features" }
attributes #1 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
!llvm.module.flags = !{!0}
!0 = !{i32 2, !"Debug Info Version", i32 3}
```
Command:
```
llc -mcpu=gfx942 -o test.o test.ll -filetype=obj
```
Error:
```
(autovenv) (autovenv) ubuntu@ip-10-250-101-136:~/playground/mario/moco-1410🍔 $ llc -mcpu=gfx942 -o dump.o dump.opt.ll -filetype=obj
LLVM ERROR: Cannot select: t40: i64 = FrameIndex<6>
In function: vec_func
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0. Program arguments: llc -mcpu=gfx942 -o dump.o dump.opt.ll -filetype=obj
1. Running pass 'CallGraph Pass Manager' on module 'dump.opt.ll'.
2. Running pass 'AMDGPU DAG->DAG Pattern Instruction Selection' on function '@vec_func'
#0 0x000060d9faa0325b llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) ./external/llvm-project/llvm/lib/Support/Unix/Signals.inc:723:13
#1 0x000060d9faa01445 llvm::sys::RunSignalHandlers() ./external/llvm-project/llvm/lib/Support/Signals.cpp:106:18
#2 0x000060d9faa038bd SignalHandler(int) ./external/llvm-project/llvm/lib/Support/Unix/Signals.inc:413:1
#3 0x00007f398e842520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
#4 0x00007f398e8969fc pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x969fc)
#5 0x00007f398e842476 gsignal (/lib/x86_64-linux-gnu/libc.so.6+0x42476)
#6 0x00007f398e8287f3 abort (/lib/x86_64-linux-gnu/libc.so.6+0x287f3)
#7 0x000060d9fa9d62f6 llvm::report_fatal_error(llvm::Twine const&, bool) ./external/llvm-project/llvm/lib/Support/ErrorHandling.cpp:126:5
#8 0x000060d9f962429b getValueType ./external/llvm-project/llvm/include/llvm/CodeGen/SelectionDAGNodes.h:1043:5
#9 0x000060d9f962429b getValueType ./external/llvm-project/llvm/include/llvm/CodeGen/SelectionDAGNodes.h:1198:16
#10 0x000060d9f962429b llvm::SelectionDAGISel::CannotYetSelect(llvm::SDNode*) ./external/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:4429:43
#11 0x000060d9f9623353 llvm::SelectionDAGISel::SelectCodeCommon(llvm::SDNode*, unsigned char const*, unsigned int) ./external/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:4157:9
#12 0x000060d9f8574dd9 llvm::AMDGPUDAGToDAGISel::Select(llvm::SDNode*) ./external/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp:708:1
#13 0x000060d9f9618301 begin ./external/llvm-project/llvm/include/llvm/ADT/SmallVector.h:267:45
#14 0x000060d9f9618301 end ./external/llvm-project/llvm/include/llvm/ADT/SmallVector.h:269:27
#15 0x000060d9f9618301 ~SmallVector ./external/llvm-project/llvm/include/llvm/ADT/SmallVector.h:1202:46
#16 0x000060d9f9618301 llvm::SelectionDAGISel::DoInstructionSelection() ./external/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:1351:5
#17 0x000060d9f9617273 ~TimeRegion ./external/llvm-project/llvm/include/llvm/Support/Timer.h:155:9
#18 0x000060d9f9617273 llvm::SelectionDAGISel::CodeGenAndEmitDAG() ./external/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:1120:3
#19 0x000060d9f96151e3 llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) ./external/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:1647:8
#20 0x000060d9f9612655 llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) ./external/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:0:3
#21 0x000060d9f85729d7 llvm::AMDGPUDAGToDAGISel::runOnMachineFunction(llvm::MachineFunction&) ./external/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp:130:3
#22 0x000060d9f96100bb llvm::SelectionDAGISelLegacy::runOnMachineFunction(llvm::MachineFunction&) ./external/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:374:20
#23 0x000060d9f924ac59 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) ./external/llvm-project/llvm/lib/CodeGen/MachineFunctionPass.cpp:94:13
#24 0x000060d9fa835980 llvm::FPPassManager::runOnFunction(llvm::Function&) ./external/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1406:27
#25 0x000060d9fa34c965 RunPassOnSCC ./external/llvm-project/llvm/lib/Analysis/CallGraphSCCPass.cpp:180:25
#26 0x000060d9fa34c965 RunAllPassesOnSCC ./external/llvm-project/llvm/lib/Analysis/CallGraphSCCPass.cpp:469:9
#27 0x000060d9fa34c965 (anonymous namespace)::CGPassManager::runOnModule(llvm::Module&) ./external/llvm-project/llvm/lib/Analysis/CallGraphSCCPass.cpp:534:18
#28 0x000060d9fa8360e2 runOnModule ./external/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:0:27
#29 0x000060d9fa8360e2 llvm::legacy::PassManagerImpl::run(llvm::Module&) ./external/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:539:44
#30 0x000060d9f815f0ff compileModule ./external/llvm-project/llvm/tools/llc/llc.cpp:755:17
#31 0x000060d9f815f0ff main ./external/llvm-project/llvm/tools/llc/llc.cpp:412:22
#32 0x00007f398e829d90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#33 0x00007f398e829e40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#34 0x000060d9f8156fe5 _start (/home/ubuntu/.cache/bazel/_bazel_ubuntu/a8246705211370f9a29d0c6e94adcf5a/execroot/_main/bazel-out/k8-fastbuild-default/bin/external/llvm-project/llvm/llc+0x2920fe5)
Aborted (core dumped)
```
Any AMD GPU backend experts know what's missing here? Thanks!
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzMOltv27iav4Z5IWTwpttDHtw4zgaY7gRJpsA-GZRE2TqlSIGinGQf5rcvSEm25DondTfFmcFUssiP3_1GMrxtq60S4hqEX0C4uuKd3Wlz_SKqF1HlO6GuMl28Xd-rprPwjz--fYX3j4AuAVoBtAQRGv7vP-kXaEVrF1L2A63uTC42ZSWF4rWAgK4gIMTBAEJ6GMvNVlhYcMslf9OdHaFE0AC6jJh_BA2efhBAl7R_BA2dfrApWDidiaYfMaBLHCFAlySMDk83k7gZMjyDJnU_UvIjYDVS2ePIIwv2hPVT-5HMniUDTBoNCPcHZMH-gDHYh9iNhpgEe4w8HvcK9gR5FO4VKI82YsETJcEyDO5woCpAl04WB5Se6tSaqpEHrfO62OYq4HXh_u1afgDvn4UoKyVg0eqN1DmX0C1ous13YZSQcK-rAgKG9iLflJ3KAUkaa6DSnSpECQEJESA38GQMnxkjbqyK2HSMApJCQCiCIP7S8wPdeOi559Jx5PCMSz1eLqutgskEPLoMPL4MPLkMPL0MHKML4bGH3worpKiFsk7NlcqcUltYSs3tqPzROBUlMB1RtFYbMU5jPIHF6AzF98GTi6DTj6DJBDi-BDi8BDh6R6nEK1VqXvygQjwxBJsT8KD9-skCcgbeCOtDaYi8eDUNQZdA153KbaUVXFprWkCXULlolBnPv0OlSyMEVLp9U7mPn5dKFfClktII2xkFa1Fr8wZIws22FrVbbwQvXkxlBSDpGOq55EYcYlrKfb2QVSlsVYtFa7mxiwYBkjj3q-qam-0xjnPe2M6IIWDxP49_oYpf4p5ba6qss6IdMpHLm_EXX7F8Qg3ypnNJk64AIdvyNWUEEDKZLwV3yFs_Opp2jhYf0H6mWuCpIxHsdVLropNiUUq-bYc6gF2CJRj9uAJNIFym8O7rPglZiazbwntVavhNmLbSyulhyCj0iGreD9zouuaqeK9dgFLmMKidUumqVycMdN9B6LGRgIHrHuxbIwBd6exfZzHdGqPNu10JSXhn9V6ofW_12WeXdcp2gKGqCTAKSIgCjHCAqSvNfwOybiR_2xqXVAFZ19xU2r11rgPMMAJrBNI1SFYgZRAQ9o5MRVc3i_HVvC-Xb7BuHx__dD0WvOFKaQtbIUVu3YBlrmPxRcGZam14Le5VIV4BvYkAve2R3CtYDkHooA8F208-_HG7fLqFbZfVlYUcOrsa0WhjodVwZ23jYhaQNSDrbWV3XbbIdQ3I2vnT8Aoao__lWCLrqm075-9ryFUBK5XLrhDQ7gTMDW930Lm3NTwXi578k3X-7vRwMBdaQP_fg9Fbw2vIzbZz5cznjv-fOvGA-rFTqlJb2PDWBWF8w6W8M7zZwQc38pUrvhUGkBhqBfuYcWAT_IDEgwTkHZzLr6u7h7_gankXAHq7Wt7BB26tMAreq9aark-KT96WPn48sdFQDsOsuYqHGPGZCL0ihFCEirTkHFESZtCbgy4BXbZvbf_jwVTKegU_O40DkhyBDH_Z6NYawWtAfO2rlHX-vwBkLV4dn1z-aN7R6FUGyPqpa5yfALL-S1WvbqDaKi7bRaVy14YS14hjemQcnzCOGQvPMf7YqR7Vf3FVSGFaQJJf5m1kKm8a30X7xjs5MkVOtZlkBZyRd5Xjs5XDsFfOkQ06sBGXNE1EwkhIEPRyDwhfk2gTsUBWqnsNtqrrJ_JFqxcRIF_Qq19yKIkOJ5vjTKO0zGFjd65SbL5XUl5GwK-fEQhPmWZxBLetl_RS5lkczXBHc9wkiUsKeeYS00WY_cIZ5nhm8bSISBlN3LDPfpvSbUA3wleSaeQ8v7hdUa6V27P6yMm0lr_sHb5UeUer1HZ0UuKcNDxynEw5TiPCSJq5Rv8bl514fmvEz9Ee0vFx4EYX4k4ox9CYh1bLu__WhWgXOx8tjM45Sf9TnODUb8GjsYZTjM6xcrTTFM_9k5D9aF9C_0fYfnpm2aeVowfI8kJjnuf95NOxMJiXMZK6Fz3Kgk9koTSkH8rSjzrqrrFyJeS8MDewU_5Qp4D5jpvRd-czl2e4i8XGYexPJQ5Sz1JvEsasKNKJ1H0FXS3vnvUZuT_FdM--Twdk3dM6_HDERsID-zFKjhnbcU_nNsMJRRhmYlupX4yB5erZaa_mUn4TudXGez6JnNZYeCTMzhEWqvhkss5Hx7bDkQ3Pkf17su5T6WOCiJN7EvDROQY-CpKVnrRbk27r0obiUm_HNMTH1OnYj0_Yj0lM4d_PVS0exda1fL-mvmMpcagG5YXhPNKSc7Q_zJW9yEtV3NaV9dL-dq1h4nY0k8x4UnBwiMXPZsallF94W-VfpM6_t7N8cTiUONbx3ytXxPpT2VEuclK9MInC8EO5TKf-VF95vquUGEWYyfXD3O8WbG4tgk8yOkmL-Ccy-u-X64JEj-mJUOTEVAhl_67R-ENsef72TzUYjZm_PziKN69jhPE8nFbhEw7dBnki21mhPkOaM2QHCVI22VY6AWb1kCc0TBM0EWD94BaPe_rfxvr9IyDr3vYTeqNPMb_vnJRTMiunnLI8jUL42HlJ_1RPNzeXEF8qLt_aqnUqHM8ynm5uJlrDSX-5dWQgeoeBpZRunfgdXDDfVRwLE4nPMQFIwpVWb7XuWqh4LdrGn1-kQ126O2_Qr_6gZh5ew9ClxvxYkpCyyUGCEyU5ccMICQInjH2aM6ETT0rPET7qQE7y0QTZfd0cs--nKO3fMh1Sv-dhB7bnx1gJDktUljDXdVNJcYnGrNay9Z95_xwbdt8E4aOi5udPI8Wa_2zD_h4h5u9qD5enhB7OlMazi7RILzzM8UsOpxYOJz3FKRiCm41btvE3NBsvyYVUBJtTYScqikoRwh7_gHqna9d9DufkZL3Ieb5zIxn_X-GUt_E_NgcAnhAWxSgkGNMYlSknaYHySKSMF3kZcq96kRutna69FCO2QHdu7HsSlLy1WVfJIihEyTvphjMP-LFzOnN5YQkqRXgQd5lpY0XhxMq1Ef70WBRHbZzcGvRr1Btcfl3Bu4e__FG223WJ10YY28LvSr_Alx23gMQtrKu2rdQW7oQRgK7h844r14Tiq-KaFilN-ZW4xjHFIQsxQVe764QlGSuzIksLkqIQlVnKQ5IgltE4DDm_qq4JIgxjzBBiIUGLLCsThsIcp6GIywwDhkTNK7nwdz3abK_8cfw1xhGm9EryTMjW_2EHIQP3h6YMEALC1ZW59krMum0LGJJVa9sjNltZ6f8wZFgSruBHFxTx-xcUCNDbq87I61-_ZBgE21-T_wsAAP__Hw5a2g">