<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/60679>60679</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            clang-17 --target=armeb-linux-gnueabi crashes with out of memory
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          arndb
      </td>
    </tr>
</table>

<pre>
    I ran into this while compiling random linux kernel configurations, found multiple cases that all get stuck on the same input file, where it eventually runs out of available system memory. Reduced to this test case:

int div_u64_rem_remainder, ref_block_0;
struct admv4420_state {
  int regmap;
  long long vco_freq_hz;
  long long lo_freq_hz;
};
void admv4420_calc_pfd_ref(void);
void admv4420_calc_parameters(struct admv4420_state *st)
{
  long long dividend = st->lo_freq_hz >>= __builtin_constant_p(0);
  st->vco_freq_hz = dividend;
  for (; ref_block_0;)
    admv4420_calc_pfd_ref();
  struct admv4420_state __trans_tmp_4 = *st;
  div_u64_rem_remainder = ({ __trans_tmp_4.vco_freq_hz; });
}

$ clang-17 --target=armeb-linux-gnueabi -O1  -c admv4420.i
LLVM ERROR: out of memory
Allocation failed
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0.      Program arguments: clang-17 -mbig-endian --target=arm-linux-gnueabi -O2 -fsanitize=bool -Wno-unused -c -o drivers/iio/frequency/admv4420.o drivers/iio/frequency/admv4420.i
1.      <eof> parser at end of file
2.      Code generation
3.      Running pass 'Function Pass Manager' on module '/home/arnd/arm-soc/drivers/iio/frequency/admv4420.c'.
4.      Running pass 'ARM Instruction Selection' on function '@admv4420_calc_parameters'
 #0 0x0000ffff9f8b0ae0 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/usr/lib/llvm-17/bin/../lib/libLLVM-17.so.1+0xf90ae0)
 #1 0x0000ffff9f8aeda8 llvm::sys::RunSignalHandlers() (/usr/lib/llvm-17/bin/../lib/libLLVM-17.so.1+0xf8eda8)
 #2 0x0000ffff9f80927c (/usr/lib/llvm-17/bin/../lib/libLLVM-17.so.1+0xee927c)
 #3 0x0000ffffa936c7ec (linux-vdso.so.1+0x7ec)
 #4 0x0000ffff9e4c0990 (/lib/aarch64-linux-gnu/libc.so.6+0x80990)
 #5 0x0000ffff9e47a76c raise (/lib/aarch64-linux-gnu/libc.so.6+0x3a76c)
 #6 0x0000ffff9e4674bc abort (/lib/aarch64-linux-gnu/libc.so.6+0x274bc)
 #7 0x0000ffff9f8163b0 llvm::report_bad_alloc_error(char const*, bool) (/usr/lib/llvm-17/bin/../lib/libLLVM-17.so.1+0xef63b0)
 #8 0x0000ffff9f84ac08 llvm::SmallVectorBase<unsigned int>::size() const (/usr/lib/llvm-17/bin/../lib/libLLVM-17.so.1+0xf2ac08)
 #9 0x0000ffff9ff65684 (/usr/lib/llvm-17/bin/../lib/libLLVM-17.so.1+0x1645684)
#10 0x0000ffff9ff64084 (/usr/lib/llvm-17/bin/../lib/libLLVM-17.so.1+0x1644084)
#11 0x0000ffff9ff5f4a8 (/usr/lib/llvm-17/bin/../lib/libLLVM-17.so.1+0x163f4a8)
#12 0x0000ffff9ffee760 llvm::SelectionDAGISel::CodeGenAndEmitDAG() (/usr/lib/llvm-17/bin/../lib/libLLVM-17.so.1+0x16ce760)
#13 0x0000ffff9ffedd78 llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) (/usr/lib/llvm-17/bin/../lib/libLLVM-17.so.1+0x16cdd78)
#14 0x0000ffff9ffec394 llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) (/usr/lib/llvm-17/bin/../lib/libLLVM-17.so.1+0x16cc394)
#15 0x0000ffffa16be374 (/usr/lib/llvm-17/bin/../lib/libLLVM-17.so.1+0x2d9e374)
#16 0x0000ffff9fc11098 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (/usr/lib/llvm-17/bin/../lib/libLLVM-17.so.1+0x12f1098)
#17 0x0000ffff9f9e46f0 llvm::FPPassManager::runOnFunction(llvm::Function&) (/usr/lib/llvm-17/bin/../lib/libLLVM-17.so.1+0x10c46f0)
#18 0x0000ffff9f9e9db4 llvm::FPPassManager::runOnModule(llvm::Module&) (/usr/lib/llvm-17/bin/../lib/libLLVM-17.so.1+0x10c9db4)
#19 0x0000ffff9f9e4c68 llvm::legacy::PassManagerImpl::run(llvm::Module&) (/usr/lib/llvm-17/bin/../lib/libLLVM-17.so.1+0x10c4c68)
#20 0x0000ffffa7369484 clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::StringRef, llvm::Module*, clang::BackendAction, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream> >) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1a89484)
#21 0x0000ffffa764494c (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1d6494c)
#22 0x0000ffffa64b4f18 clang::ParseAST(clang::Sema&, bool, bool) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xbd4f18)
#23 0x0000ffffa7f6ed54 clang::FrontendAction::Execute() (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x268ed54)
#24 0x0000ffffa7f00ac8 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x2620ac8)
#25 0x0000ffffa7fe3b48 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x2703b48)
#26 0x0000aaaab9cf3f50 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/usr/lib/llvm-17/bin/clang+0x13f50)
#27 0x0000aaaab9cf15f8 (/usr/lib/llvm-17/bin/clang+0x115f8)
#28 0x0000ffffa7c31780 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x2351780)
#29 0x0000ffff9f808ff0 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/usr/lib/llvm-17/bin/../lib/libLLVM-17.so.1+0xee8ff0)
#30 0x0000ffffa7c30dc0 clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, bool*) const (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x2350dc0)
#31 0x0000ffffa7c02590 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x2322590)
#32 0x0000ffffa7c02798 clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*> >&, bool) const (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x2322798)
#33 0x0000ffffa7c194dc clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*> >&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x23394dc)
#34 0x0000aaaab9cf0c4c clang_main(int, char**) (/usr/lib/llvm-17/bin/clang+0x10c4c)
#35 0x0000ffff9e467780 (/lib/aarch64-linux-gnu/libc.so.6+0x27780)
#36 0x0000ffff9e467858 __libc_start_main (/lib/aarch64-linux-gnu/libc.so.6+0x27858)
#37 0x0000aaaab9cee0f0 _start (/usr/lib/llvm-17/bin/clang+0xe0f0)

$ clang-17 --version
Debian clang version 17.0.0 (++20230211111538+5ba396011377-1~exp1~20230211111650.1099)
Target: aarch64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy8mk1z27bTwD8NfcFIQ4IUXw4-yC9q00kmHjvT58gBgaWExyTAAqBi99DP_p8lJYuQ5cZx1WYSWyKA3R8W-wKAYdbKtQK4DBZXweLmgvVuo80lM0pUF5UWz5efiGGKSOU0cRtpyfeNbIBw3XaykWqNrUK3pJGqfyKPYBQ0hGtVy3VvmJNa2YBek1r3SpC2b5zscDizYInbMEdY05A1OGJdzx-JVsRtgFjWApGq6x2pZQMo4fsGDBDpCGxBuZ41zTMxvbJE947omrAtkw2rGiD22TpoSQutNs9zcg-i5yDIfgIOrBsAgngZhDdBuPsplSNCbss-TUoDLf5jUgkwqN1AXVaN5o9lGMRX4wDrTM8dYaLdJgkNS-uYAxJku2aCRiMG1i3rXsYQ0mi1Hn9suS5rA3-Umz9Ptjevm4Ps5uXzVktxUM5Zw8uuFqWBOqA5Nga0-NvOzLAWHBgb0PyNudCldShmp_wEpJBbKUAJEsQ3xLpZEN8euEkQ3w5_b0hZVr1snFQl18o6plzZBTQPp5BkJ2BimEHsXsekY60NCWgexFfHS7OnJYS8aZ1jpafmXpbOMGVL13ZlMmCM1jiMO-ksu555kF35Iub-chNcygkGfp04Y0ATwhum1rMoI7OZY2YNLohvmGmhmg3BNlurHlglyexrRMiMv0xgLkcZnz___oXc3t9_vQ_i5T5MxqgYOyybRvMhRknNZANifHz3-Xb5cEtsX7XSEUaqfk0MdNo4jKGNc53F0KGrgK7W0m36as51G9BV02z3v2ad0f8P3AV0Ja3twQZ0RZgSRCre9AKGKOeG2Q2pGH90hvEhyjsDndEcrAVBrO7N-BhHMms1l8yBwLgnlhvZufmI_OAYfySib7uXoA7nQVjcGb02rCXMrPsWlEPwiV3bSq5noIRk6sjIr0xMyay2TEkn_4Qgvqm0bsjs_5Se9apH1hknM02EkdshoFZS6oCucL17UPw5oKuX5Xlnt90qRjiPIL4GXQfxLemYsWAIcwSDTtdjfhx6Uux5rQWQNSgYk-_YEmPLfa8UJuyOWUsCmq16xYe1v8MHX5hia8x1GebgVou-wfjPArra6BYQzCgx_GpnVvOArt41Cx7QbLdIySmK5f0X8kmNIYgwD9DA8GlHUu8pkSUJ305h2S4sAxqHJHwKwzCs67ou6rwKGYRkcM54GcRL-2zHD3dGKje4zrfR__JDJ8O-l9o6A6wNaIo-KBWmwiG26aq3Bj1dVnt_j9BSlVQBXc3nhyZZYRTOomxu9TwK6FX4VBfIc8hTAY0jH5iBYPkp4PtePci1Ys2vTIlmzNznYcpRpcdEfaawoBn_54oAUI6nKJ4oYkWc8gwGRWMEboXVh-EZ-GOTKSQkPCyKcAc5MjBm-CZNDuE8tnAUmQ4icxzjCV34QjOWpZwYJi38pOgYR3qiU190miUVJ6zC1PpzoimO9ERn_npFaVxNnX5M4GXFRMkw7ZdgjDYBzfmGGTLU5IAu0c8xtZ3FqaBGBg8y9yETxsOpoz-0rGl-B-60uRo2aNe9GvanYog-3EkM8YA5ePT8AfwM_k-RxEMtPNQ6XaR58s8VRWmCgg57KhpH4ZGmJDyTJhTkafLzTL2oE5afQ1OMgjxNfvaoAbJ06o0vWf5m-cunB2jGp1i7fgG1VOK2le5m-cu50luUcgTwCOMjQiGy_IeE49Nl01wxK_kV7jqtVzZeiuouotJz8SOex58c8fO4SH7Ib3r1VX1hfCMV7FE9_ldtZ5sA8nkTmKZZFqUVxNkZ3J6KAgV5mrysW_MoCovpUh_NGbdDE2udNNPZ7UNrhPKo_YSO1aKehtDqDkH327b_mjfkiOPx5ke8haiSd_B-GbaavhPuHp2NFVE81uLYtjydekQDa8afd5vEA_WntjvE0b9LjEBTYjotEiyL0yLJdyfEkQAz5hXjj6DE1951vcPSfmi-kWyttHWS21u1lgp2m9pJl1-BCTAPgHuPr91wczPJYl7XXaL-Qa9vw3nqB50-M7U-1WWSyZyRan2PB_fp473Jl0cCd0ZY7vx9OuSTcqa3cgv3UF8rd-dMEF8fmrf1Lu5XsoGH4RIJtxz0mlgnxpZeyT96KLujkXhY6L4b6aDcHxkmgwTUrG9cKaABBz8YGN8OlyYfcKPxWMu7bnCkbPQklqOjeJ4UeZ6UJkmR_PzG_qQykaIsT9l0H8DSpErqKJ-u1h0eZ5cP33xvfYCW7fxg3I1-fFd6CrQSiOFxeoeQrE5BLLzwWhmt3MGtxpB7At47-OAm5RQYTXNU7JElPlkYMp77sdh2sgHzabhV4-Cx7aMgf3sqH8tZp-kpwnn0C58e4irx6Hech0lsdzdSPvOrSWLYn4k6CxHKo95vGBhjrCp4HdeLkHAelS2TfuJfGsOeMTfF1_5Bakwcrw5X473sO-FHAwyhhQQeYnaEGC3q92zlJyJxhCcy99aKx1GWh-cxcbxAWZ6y4uh6Ia-93c21YXZzD1xvwTxfo8M-ucMdCKuhefbWYX9NNFzwxtfDdff-ovdD2fTEzQUiTucQh0cGCwUPp849XpDtJnQdXeu2ZUocJ4-TzvRSPPRQG1njlY1DSdyXi0m5KUv-9BRF45cKzylYWyRCDT7qdcYHpTNMOrtvPhLHxktibQ7to8rJZcHy40fxN_wFTenZ2q9aPKSL4m1bD9mCvcrU-wXwUsvRQOzw1l7lb7ouvXJ1XmNQnKtnDHpsjKzIf9YYv-nKvm2J33T1WVr31pbscE8z7okP_toxiZ4yXJa-33h7n_oXbZj5xyv_2jHjUZEI_hbvzeSzV7FOlKq3bP9f2vBMlTGO0Sie1ZKjsoMnlZFwXxv31EOmWX6k1qFMT-ni-Nb0UJjef196VIBeX8Xmi5yUJQ4rrWPGDRP6aTX5wnezozoNENYhGRX8lFVw3EHwqXeEWzD25Y3PDVSSqbGZ7FpIlM3D-c5yVwG9oiGNQxrhn0WMzxYVi4s0jKI4y2bRX_DURX9NOqWLcB6FRfHC8W33xmxJ9qbp1aPS39XERGPHjQEmSKvFcBNFOm3l09g0bOmaBsQNOv2SvFikkupCXMaiiAt2AZdRmqXRIsxpdrG5zGuaxWme1nHGk5oVcZwsmIjiIl5UBSuyC3m556YRzcJsLkBEfJHGlLO6WCzSIAmhZbKZo8nn2qwvhveUl2mYZsVFwypo7P4_RZjLYV2qfm2DJGykdfYwzEnXwOV739UOrzzBku_SbfxXshe9aS4__nJ14P5fAAAA__-aKBWm">