<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/118879>118879</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[llvm][Hexagon] `unable to allocate function argument` in `llvm::HexagonTargetLowering::LowerFormalArguments()`
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
alexrp
</td>
</tr>
</table>
<pre>
```llvm
target datalayout = "e-m:e-p:32:32:32-a:0-n16:32-i64:64:64-i32:32:32-i16:16:16-i1:8:8-f32:32:32-f64:64:64-v32:32:32-v64:64:64-v512:512:512-v1024:1024:1024-v2048:2048:2048"
target triple = "hexagon-unknown-linux4.19.0-unknown"
define fastcc i16 @testing.expectEqualInner__anon_28689(ptr %0, <3 x i1> %1) {
Entry:
ret i16 0
}
```
```console
❯ llc --version | head -n2
LLVM (http://llvm.org/):
LLVM version 19.1.5
❯ llc reduced2.ll -mtriple hexagon-linux -O0
LLVM ERROR: unable to allocate function argument #1
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0. Program arguments: llc reduced2.ll -mtriple hexagon-linux -O0
1. Running pass 'Function Pass Manager' on module 'reduced2.ll'.
2. Running pass 'Hexagon DAG->DAG Pattern Instruction Selection' on function '@testing.expectEqualInner__anon_28689'
#0 0x00007ce4dca4fc22 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/alexrp/Source/llvm-project/llvm/lib/Support/Unix/Signals.inc:727:3
#1 0x00007ce4dca4d58f llvm::sys::RunSignalHandlers() /home/alexrp/Source/llvm-project/llvm/lib/Support/Signals.cpp:105:20
#2 0x00007ce4dca4d926 SignalHandler(int) /home/alexrp/Source/llvm-project/llvm/lib/Support/Unix/Signals.inc:413:1
#3 0x00007ce4db442990 (/lib/x86_64-linux-gnu/libc.so.6+0x42990)
#4 0x00007ce4db499a1b __pthread_kill_implementation ./nptl/pthread_kill.c:44:76
#5 0x00007ce4db499a1b __pthread_kill_internal ./nptl/pthread_kill.c:78:10
#6 0x00007ce4db499a1b pthread_kill ./nptl/pthread_kill.c:89:10
#7 0x00007ce4db4428e6 gsignal ./signal/../sysdeps/posix/raise.c:27:6
#8 0x00007ce4db4268b7 abort ./stdlib/abort.c:81:7
#9 0x00007ce4dc780c78 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>::_M_replace(unsigned long, unsigned long, char const*, unsigned long) /usr/include/c++/13/bits/basic_string.tcc:540:21
#10 0x00007ce4dc780c78 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>::assign(char const*) (.isra.0.cold) /usr/include/c++/13/bits/basic_string.h:1672:19
#11 0x00007ce4dcd88e55 llvm::CCState::AnalyzeFormalArguments(llvm::SmallVectorImpl<llvm::ISD::InputArg> const&, bool (*)(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)) /home/alexrp/Source/llvm-project/llvm/lib/CodeGen/CallingConvLower.cpp:95:1
#12 0x00007ce4e020bd6e llvm::HexagonTargetLowering::LowerFormalArguments(llvm::SDValue, unsigned int, bool, llvm::SmallVectorImpl<llvm::ISD::InputArg> const&, llvm::SDLoc const&, llvm::SelectionDAG&, llvm::SmallVectorImpl<llvm::SDValue>&) const /home/alexrp/Source/llvm-project/llvm/lib/Target/Hexagon/HexagonISelLowering.cpp:814:34
#13 0x00007ce4dd576ede llvm::SelectionDAGISel::LowerArguments(llvm::Function const&) /home/alexrp/Source/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp:11620:46
#14 0x00007ce4dd636708 llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) /home/alexrp/Source/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:1625:19
#15 0x00007ce4dd6375dc llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) /home/alexrp/Source/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:632:22
#16 0x00007ce4e01dd5e4 llvm::HexagonDAGToDAGISel::runOnMachineFunction(llvm::MachineFunction&) /home/alexrp/Source/llvm-project/llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.h:47:17
#17 0x00007ce4dd622b57 llvm::OptLevelChanger::~OptLevelChanger() /home/alexrp/Source/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:268:11
#18 0x00007ce4dd622b57 llvm::SelectionDAGISelLegacy::runOnMachineFunction(llvm::MachineFunction&) /home/alexrp/Source/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:375:1
#19 0x00007ce4dd622b57 llvm::SelectionDAGISelLegacy::runOnMachineFunction(llvm::MachineFunction&) /home/alexrp/Source/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:346:6
#20 0x00007ce4dcf96fdf llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (.part.0) /home/alexrp/Source/llvm-project/llvm/lib/CodeGen/MachineFunctionPass.cpp:94:33
#21 0x00007ce4dcc0d807 llvm::FPPassManager::runOnFunction(llvm::Function&) /home/alexrp/Source/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1450:7
#22 0x00007ce4dcc0da41 llvm::ilist_detail::node_base_prevnext<llvm::ilist_node_base<true, void>, true>::getNext() const /home/alexrp/Source/llvm-project/llvm/include/llvm/ADT/ilist_node_base.h:42:38
#23 0x00007ce4dcc0da41 llvm::ilist_node_impl<llvm::ilist_detail::node_options<llvm::Function, true, false, void, false, void>>::getNext() /home/alexrp/Source/llvm-project/llvm/include/llvm/ADT/ilist_node.h:117:66
#24 0x00007ce4dcc0da41 llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Function, true, false, void, false, void>, false, false>::operator++() /home/alexrp/Source/llvm-project/llvm/include/llvm/ADT/ilist_iterator.h:187:25
#25 0x00007ce4dcc0da41 llvm::FPPassManager::runOnModule(llvm::Module&) /home/alexrp/Source/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1485:22
#26 0x00007ce4dcc0e2c4 runOnModule /home/alexrp/Source/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1562:7
#27 0x00007ce4dcc0e2c4 llvm::legacy::PassManagerImpl::run(llvm::Module&) /home/alexrp/Source/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:541:55
#28 0x00005d438bb8ba3c compileModule(char**, llvm::LLVMContext&) /home/alexrp/Source/llvm-project/llvm/tools/llc/llc.cpp:742:34
#29 0x00005d438bb7ff77 main /home/alexrp/Source/llvm-project/llvm/tools/llc/llc.cpp:409:35
#30 0x00007ce4db428150 __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:74:3
#31 0x00007ce4db428209 call_init ./csu/../csu/libc-start.c:128:20
#32 0x00007ce4db428209 __libc_start_main ./csu/../csu/libc-start.c:347:5
#33 0x00005d438bb80cf5 _start (/opt/llvm-19/bin/llc+0x13cf5)
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzcWd1y27oRfhr4BiMOCP5f-IKWrBzP2I0nTn2rAUmIQgMBLAg6ci_67B38UCJlxyfHJ8lpm3EocgHu7vctsFiApO9ZKyi9BMkVSFYXZNA7qS4JpwfVXVSyeb4EKXJ_nD_tASo1US3VsCGacPIsBw1BtIIAY7rYg6ikiw5EZYRPlwUBUYkWIkzdI0tjEJX-smCzrsx28pcFC0FU5ub_Yjvrtp2peJq1Pc3bktDIj9fFU4iwaZv8LJ4wio2Z6Q_GJ6xasY7TEeeOHkgrxWIQX4T8KhacieEQB2ERoFHm3gaobOiWCQq3pNd1DVmYQhAjTXvNRBvQQ0drff3PgfAbIajabIiQYoPzNC8AzjutIMAJAngJQbSM4AEaQq6NMAS4gCC7Aqi8Flo9g8hYg1BRba0gYz5bmesYPufQ8bGWopecGtE1BsUKlGvIeQ0XiyeqeiYFBNkS7ihp4EIYNLe3j3cQ4HyntYkwwGuA12ZMBFK19qkYvbBdRzVhEYRB8sKOos1Q0wYHnMPF3jM8UmsphYuPaLR7_enTx08gKuEgSMUp1BISzmVNNIXbQdTaWCKqHfZUaAhwFAJU3t9elw_XsB-qPdOQwGpooaKdVNq8b3D0RyAt07uhCmq596j8z6JT8h-01gCvWd8PtAd4DYloIBM1HxoK9Y7CWpF-BytSf9GK1DQAqHzQpP4Cm2HfOVJQAO2_eyVbRfZHX40Hf4yP0Gv6NAjBRAs70vcQ4Gw90nBvBHdEkJYqgDMoBdzLZjADGGcTMwBnxlP8DX2_OdtwVX5YgOh6VX6A90RrqgS8Eb1Wg7P2QDm1d97UMRoAZ9891jMzbACOEEQHhBDKaho3NYm3NcbQRiMqQVT2z727uVdMaEvxZ0M4wPmpkyJfN7LXipI9wKmZPExoO13weif3FOC1S28Arx_koMzr56EeBwCrTKehM2MG4PXfBTsYAWsF4X3ARA2iMsOZSTweQXiGoEny7WsIPg3CqfmNiIZT1QOc_xgnR-_qrrP5LbEZzbuHz90rcApnjgCc_1y-4jAyfnmHoqlDVRzjokDQcuG1HfJ0k8ZuBixaMbiGOuhlkAJ8hQ72FZN8nMJ4rrAoSFjBzabTO0VJs_nCON-wfcepmX3EjtQA4LXoNAd4Pe0WWG_NIpGlXnnyPcqFmSOEv6k2y21svNr0NbXTd97UlRdTXdk5oTlNYdvbEFg17hbgdWCfnvuGdiardbK30VKE9dQqtgN7hJ7P9eI0rzJIKpNMrR7duHhZkfPLrN7jzC5mAy_LUZ3lsNeNmw2bTX04hKF7qEjP6k2vFRMtiJb1jigzi4-djWCjFWEmebrm6HrWwy8NUk3azZ81dbdRtOMuawzClj8N5FK0RsULgXkdmrVSA1y-0sNOk6FXZn1wKwLA6xrgK_u3DiOA15XxFK-nuAJdG4qSGBmezWQwuQP9t5DkykKA8zP4Bm0esF6RAAW15M37CdjZEi8zZVlYePzz5NnkOU2SSfJcLh800dQ9lILw53_RtVR7wsvjajpdCR72hPNHWmupbvYdB9Hy1HbzsPI3oht0qVpTWHmgdtGopOQuERnc07Fi0-Ny4tfd4-ffESyXj4SXjlQruJX1jdjKea-jT6Vq15y0_efnczWOAONh8WdS9FI29AMV5o5wzkS7lOLpVn6lyi8bReJztAnLdNGgCKOqSenEK18ofLa1slVix6SD-ZWqN0O0eiR8oLOJ5fk1AZjD_1PxnNq8lfW32sZqZlV-eNn4hv0RiJlkJjpO_7sD5MgEeO3JPd3dPFA-kuyDlYdmkYpiH67ZktokWUob-g2IRtkkUq_H6FhYnij7ESNvTvXs8WpgvDmOxTBMsUmTceoBzpb4Jo3SDOW_C9BJS86vTBa64rL-8lfDNM6NGFOcTDNhcgYxS5r6dyGqQXwUd6TeMUFHNDOIL9p-KcbU7tDdzhhHYTrLKmHTJDR-mVVW5YfP8q9E-fZMHN2zy1ls6qUw8_iyeQgxrpJsgu9jp2_pE-XLHRFmo2aF_z6X_rlNwR-NEE5tWTrm_fxtBOdKbmlL6uf_iaEYZdP1rfj_xRmnvoQ3e795ebkt0m0z3ZueuXpP-n4C8lV0L2DlQUeUDtCPAfmKR2N9Yle8yAOb1401anI0DeD63rw5noj8UUjvA3HzCeC1GykT42O2jxPk90bGfXzuPonDifuMs15vGqoJ8ylQyIZuKtLTTafok6AHPatF3AvHTiBaauVqrCfJGr8PsKKx3m-p_pvR4tLNe0uXU_3vBeXqsxHP3XGp0h7W5p6A6HsIsArYed31DXJkZ2LYz7qeIuvR4yXcEt6fmHkhmGyJ5hT9BHLcjii0e-5xxsbfQwzTVPl93C_kZSpzNyNTsvP--D3gzyBsxOxIyw1pOPGkJW-T9q1scGfPSOfJ24t-ZibIk0lRhNMz3ymuYzhx7yd5kaR4ko-y15w4scIn699El9sSeTp_MY1JHJrrOALGwiVp4iivqrwikdnw7TvG6THM7sik9Mc6J29vbx_vllJoO9nf6bKWkvf2sXZX72fm8p7fqeFi7me23WYZ3BMmfqDJGBXGpKdmfsJexTgPEwQ3G86qetNrovSmJpxvrBMBwOu6H14eFfqTyNdeshMyi_2JuLEYnlvEqIC2PxNMnxtxt0bzwmq2J4khzsdDbKMRv6ZxhuE191_VHNmafSQnOhs3qN4m0Kn0Z9KyGylfhIU92RIj51foEEb1NnFH0cfvbBfNZdQUUUEu6GWYRVEcJVFRXOwuQxqHKU1onIY0TmidZiFtkiLMIxRmGOELdokRjkOMEhzGRVIENQpzQootDlGcERSBGNE9YTwYv8Jd2E9Ul2GY51lxwUlFeW-_7GIs6FdoWwHGIFldqEsLohraHsTI5NT-pEYzze0nYTu2khVIrsbdT7KCIEXf8xUOpAiakew_HL_zqMiwmaKLQfHL93-w84Q8XeL_BAAA__8THYcD">