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

    <tr>
        <th>Summary</th>
        <td>
            Clang frontend crash in CodeGen::CodeGenModule
        </td>
    </tr>

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

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

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

<pre>
    To reproduce: https://godbolt.org/z/f5onrb1co
```
static void temp ( ) { } 
int main ( ) { temp ( temp ) ; return 0 ; } 
```
This invalid program crashes the frontend, starting from clang-15 all the way to clang-19 (19 being tested locally)

Stack trace
```
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: /opt/compiler-explorer/clang-15.0.0/bin/clang -gdwarf-4 -g -o /app/output.s -mllvm --x86-asm-syntax=intel -S --gcc-toolchain=/opt/compiler-explorer/gcc-12.2.0 -fcolor-diagnostics -fno-crash-diagnostics -emit-llvm -Xclang -disable-llvm-passes <source>
1.      <eof> parser at end of file
2.      Per-file LLVM IR generation
 #0 0x0000593956c10de4 PrintStackTraceSignalHandler(void*) Signals.cpp:0:0
 #1 0x0000593956c0ec0c llvm::sys::CleanupOnSignal(unsigned long) (/opt/compiler-explorer/clang-15.0.0/bin/clang+0x392ec0c)
 #2 0x0000593956b4ca28 CrashRecoverySignalHandler(int) CrashRecoveryContext.cpp:0:0
 #3 0x00007a4bfa042520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
 #4 0x00005939570c19fd replaceUsesOfNonProtoConstant(llvm::Constant*, llvm::Function*) CodeGenModule.cpp:0:0
 #5 0x0000593957113d4d clang::CodeGen::CodeGenModule::GetOrCreateLLVMFunction(llvm::StringRef, llvm::Type*, clang::GlobalDecl, bool, bool, bool, llvm::AttributeList, clang::CodeGen::ForDefinition_t) (/opt/compiler-explorer/clang-15.0.0/bin/clang+0x3e33d4d)
 #6 0x0000593957115fbf clang::CodeGen::CodeGenModule::GetAddrOfFunction(clang::GlobalDecl, llvm::Type*, bool, bool, clang::CodeGen::ForDefinition_t) (/opt/compiler-explorer/clang-15.0.0/bin/clang+0x3e35fbf)
 #7 0x0000593957116695 clang::CodeGen::CodeGenModule::GetAddrOfGlobal(clang::GlobalDecl, clang::CodeGen::ForDefinition_t) (/opt/compiler-explorer/clang-15.0.0/bin/clang+0x3e36695)
 #8 0x000059395711b491 clang::CodeGen::CodeGenModule::EmitDeferred() (/opt/compiler-explorer/clang-15.0.0/bin/clang+0x3e3b491)
 #9 0x000059395711d8a9 clang::CodeGen::CodeGenModule::Release() (/opt/compiler-explorer/clang-15.0.0/bin/clang+0x3e3d8a9)
#10 0x0000593957e2f7ca (anonymous namespace)::CodeGeneratorImpl::HandleTranslationUnit(clang::ASTContext&) ModuleBuilder.cpp:0:0
#11 0x0000593957e2e23d clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) (/opt/compiler-explorer/clang-15.0.0/bin/clang+0x4b4e23d)
#12 0x0000593958ffa1c9 clang::ParseAST(clang::Sema&, bool, bool) (/opt/compiler-explorer/clang-15.0.0/bin/clang+0x5d1a1c9)
#13 0x0000593957e2db25 clang::CodeGenAction::ExecuteAction() (/opt/compiler-explorer/clang-15.0.0/bin/clang+0x4b4db25)
#14 0x0000593957736031 clang::FrontendAction::Execute() (/opt/compiler-explorer/clang-15.0.0/bin/clang+0x4456031)
#15 0x00005939576bdd33 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/opt/compiler-explorer/clang-15.0.0/bin/clang+0x43ddd33)
#16 0x000059395781493b clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/opt/compiler-explorer/clang-15.0.0/bin/clang+0x453493b)
#17 0x000059395451c5c4 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/opt/compiler-explorer/clang-15.0.0/bin/clang+0x123c5c4)
#18 0x0000593954515b3b ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&) driver.cpp:0:0
#19 0x00005939575277c9 void llvm::function_ref<void ()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const::'lambda'()>(long) Job.cpp:0:0
#20 0x0000593956b4cb27 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/opt/compiler-explorer/clang-15.0.0/bin/clang+0x386cb27)
#21 0x0000593957527dbc clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const (.part.0) Job.cpp:0:0
#22 0x00005939574f1e2e clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/opt/compiler-explorer/clang-15.0.0/bin/clang+0x4211e2e)
#23 0x00005939574f284d clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const (/opt/compiler-explorer/clang-15.0.0/bin/clang+0x421284d)
#24 0x00005939574fd69c clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) (/opt/compiler-explorer/clang-15.0.0/bin/clang+0x421d69c)
#25 0x000059395451a329 clang_main(int, char**) (/opt/compiler-explorer/clang-15.0.0/bin/clang+0x123a329)
#26 0x00007a4bfa029d90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#27 0x00007a4bfa029e40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#28 0x000059395451574e _start (/opt/compiler-explorer/clang-15.0.0/bin/clang+0x123574e)
clang-15: error: clang frontend command failed with exit code 135 (use -v to see invocation)
Compiler returned: 135
```


</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzkWV9v2zgS_zTKCyFDov7YevCD48R7LbrXoskuDvtiUOTI5pUiBZJKnfv0B1JybKpOsGlyfTmgjW2KnPnNb4YzQ4oYw3cSYBkV11Fxc0V6u1d6-Re3Su7-2qv-VnN6VSv2uLxXSEOnFespRNkK7a3tTJStIryJ8GanWK2EnSm9i_DmPxHeNIWSuk6pipKbKFlFZTL-8z-NJZZT9KA4QxbaDkV4gSJcoWh-jaL5DRqmcWlRS7gMHj_NH79UKMqukQbba4kS_-MkYaL3fs8N4vKBCM5Qp9VOkxZRTcweDLJ7QI1W0oJkEV4jY4m2XO7cYIuoIHIXpwUiQvip38kjsuo4XjlIaYVqcCssGAsMCUWJEI8RrkY0_u-dJfQbsppQuAjyy6fb1d0tMn3dcosIqvud415p6_RNiOd239czqtoIb4R4OH7EnVb_BmojvOHG9GAivEFEMsQlFT0Db4E3HNWEfhvA4DXqvJMpGAMMGdXrYditJMYoyomzS_cSGap5Z2fnJrG-7RwyP5TMoqT6MlJM9K5vQVoHHEV4ozqHjKq24wJ0DIdOKA3ajY00z5JZEuFNzeVxEMU79p3oJs5RvEOxcnJI1zlpve16OzMobp3tKI4PizImpo3No7TkEGU3XFoQKL5DcbyjNLZKCbonXEbZzYtw3OQUz_AsQXFDlVA6ZpzspDKWU4PiRqrY0xgOQ8ttPGD51wiecUNqAfHgHWIMGBRl65Hj7HZgLXWsRdkaVBNlt6gj2oBGxCKQDKkGNVyMQYM9v6BjN4Q-ffrzd_ThK9qBBE0sV3KYhSKcJSg5JEmSFFVWFSVNEwY5-qK5tN5t9873d3wnifgHkUw4uxduZ0Z45XbX8MjMaOecm_j_T7LTUHYCNKHIx2G2irKVeTTDl7UAIvvusxykRXjRS5973CaRO7-L8eInIyPC18khq7BT_rTXHDocoKtzSvACrZ27vgJVD6Afp3ZzaR2WYM7apYSDvUxANqqYk7xuSJLjAiejKYLXEd4cFuW2zGPBZX-Id7IfHtCZUbPSA_dLAtj5Oex5QtOqYS4DCELhDwPmc_NPJb9oZdVaSWOJw7w4kX4aXLm9e3qw6SX1oTE4dq0Y_Abyd8V6AZetKwIkaZqxnA0Z76jKiwh-DPKGod_AftZrDcSCi9ATgDO4d1ZzufsKTQj2_rGD0YIzhb8JVRNxA1S4B7VSFz9PUlbWal73Fj5xYyeyAvAbpW-g4ZI7fFv7HgEJmaMr8Gw54bNo6uaVfK4Y05-bMyafZecil1OqfikfztyAj_mEj7Ksip_iY7D8JTZ-qaHOjsDQxcTQOq_S1xh623J7Aw1oDczDew-UDkSAspqgZAtSvQblVxBADLwbQKf_1DzhLA1K2RxwM6fE6SFSycdW9QZJ0oLpfDdTBThdWVT6Q9uJYXjI-feaSCN8wfxDchsG0Orufsz9ES6dRYOt1z0XDPSPGdMhTCcIAWdBxrwm9BtI5nJ034L-eSxvZDevcwctYDcol4umISkN3P_FdSOru_sQ2R20xGOaJpc3YyxY6iAEGLMJv6zGlzLGasiOw945AO0trI4J833Yc4oDZGHVnmdlkgVbfDMeLS5AeydQeeF0BqDCAl7WjGVZSNeg5oNvGShcZux5K94nFjPmcAXAw0q5SPMqq8-BjxBP-B8UJT_C_cG-ofV5K-Aic3gCwEEpy4uUFjRHlKZbd4ANGp6V1uTR9TvZmu6JRtT1aw5YdusLVTCG1-isF38j7hRnDlaAezHBXdRZjY7srtN7v5XP27WWCPEn0KdkesEIHxRM84fnsmRYaAo8n9NquA04KWrGFmerPVX-6bBRnA4_xZ2u3fF120iH4-T2QfcYAut0rdqWSDbdcxddchr83Dn1RASDp27Vgbgd7glGydstPRzSdPhRE8Pp1vjpI0nBZDewtZpwdygeHk_EESFcTCt99txNOevjfFAM1PslEZ4L0taMRHh-4govjmesj6q-6BCcTE9KNZ6f-eLSeWgs-b28Iw2Ix4DPl333Dr3BonQIzwMZp9OYYjVF_9cx4ViedURbx-ELzg_q_jxvUsDwLHPeWeSHEnakM8i-k4VuwjFRlJOe_IWpq6C7OLPtTSkcp87MIIKyCQ94EZ52_w4PH1Vtnifho6rdQTQg4aXU-uT3jnDncn898fd5G4Pjf8KeIydgL5-wx8rq2f13c_Y9qOQXSvhzrP9C9t7eMODU0RHwVUwKL8nw2G0fW4YjXp8mVu_WAjhFAZIyvMPCFateeYfllwQy51OZkCdou3XLtv5ifXu82H-NFshDLT80L_Mc0CD_HYhy0p7UHadH2QqB1i4DrwZ3Pb00QHQMoYZwAQx953aP4MDdfmeA0qxwoHoDKH5AViEDgPhZ4zpqOvas4zsNcEHsFl98WTD8vWLLjFVZRa5gmc7TeV7NF3lytV_WtGaMkRQWSc0WCa6zumwIzpNsAXWZZld8iROcJ2WSp0meJ8ksLZuyqOt5BcCKgpVRnkBLuJi5nTZTenflXygsqzzL8itBahDGvz_CeCQPR8XNlV76i-6635koTwQ31pwkWG4FLNcT8vzbCC7R87cMV70Wy59_ATJAflji_wYAAP__WqQaqw">