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

    <tr>
        <th>Summary</th>
        <td>
            [Clang Crash] Error in backend llvm::VerifierPass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&)
        </td>
    </tr>

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

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

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

<pre>
    Compiler Explorer: [https://godbolt.org/z/eex7rWaxG](https://godbolt.org/z/eex7rWaxG)

Clang assertion trunk crashes when compiling the following code:
```c
static void foo(void) {}
inline void bar(void) 
__attribute__((alias("foo")));
```

Clang stack dump:
```
fatal error: error in backend: Broken module found, compilation aborted!
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-assertions-trunk/bin/clang -gdwarf-4 -g -o /app/output.s -mllvm --x86-asm-syntax=intel -fno-verbose-asm -S --gcc-toolchain=/opt/compiler-explorer/gcc-snapshot -fcolor-diagnostics -fno-crash-diagnostics <source>
1.      <eof> parser at end of file
2.      Optimizer
3.      Running pass "verify" on module "<source>"
 #0 0x0000000003b10a28 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+0x3b10a28)
 #1 0x0000000003b0e6ec llvm::sys::CleanupOnSignal(unsigned long) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+0x3b0e6ec)
 #2 0x0000000003a57c36 llvm::CrashRecoveryContext::HandleExit(int) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+0x3a57c36)
 #3 0x0000000003b0576e llvm::sys::Process::Exit(int, bool) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+0x3b0576e)
 #4 0x0000000000ca7e2a LLVMErrorHandler(void*, char const*, bool) cc1_main.cpp:0:0
 #5 0x0000000003a62c63 llvm::report_fatal_error(llvm::Twine const&, bool) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+0x3a62c63)
 #6 0x0000000003a62dc8 (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+0x3a62dc8)
 #7 0x00000000035036a0 llvm::VerifierPass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+0x35036a0)
 #8 0x0000000003da97ee llvm::detail::PassModel<llvm::Module, llvm::VerifierPass, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+0x3da97ee)
 #9 0x00000000034d1f10 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+0x34d1f10)
#10 0x0000000003db987d (anonymous namespace)::EmitAssemblyHelper::RunOptimizationPipeline(clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream>>&, std::unique_ptr<llvm::ToolOutputFile, std::default_delete<llvm::ToolOutputFile>>&, clang::BackendConsumer*) BackendUtil.cpp:0:0
#11 0x0000000003dbca3d 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>>, clang::BackendConsumer*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+0x3dbca3d)
#12 0x0000000004459b3e clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+0x4459b3e)
#13 0x0000000006571d8c clang::ParseAST(clang::Sema&, bool, bool) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+0x6571d8c)
#14 0x0000000004459f08 clang::CodeGenAction::ExecuteAction() (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+0x4459f08)
#15 0x00000000046ebe99 clang::FrontendAction::Execute() (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+0x46ebe99)
#16 0x000000000466f46e clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+0x466f46e)
#17 0x00000000047d592e clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+0x47d592e)
#18 0x0000000000caa1bf cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+0xcaa1bf)
#19 0x0000000000ca340a ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) driver.cpp:0:0
#20 0x000000000449d309 void llvm::function_ref<void ()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const::'lambda'()>(long) Job.cpp:0:0
#21 0x0000000003a57b74 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+0x3a57b74)
#22 0x000000000449d8ff clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const (.part.0) Job.cpp:0:0
#23 0x0000000004463895 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+0x4463895)
#24 0x00000000044642fd clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+0x44642fd)
#25 0x000000000446bf45 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+0x446bf45)
#26 0x0000000000ca75b5 clang_main(int, char**, llvm::ToolContext const&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+0xca75b5)
#27 0x0000000000b7b734 main (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+0xb7b734)
#28 0x00007de636e29d90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#29 0x00007de636e29e40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#30 0x0000000000ca2ebe _start (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+0xca2ebe)
clang: error: clang frontend command failed with exit code 70 (use -v to see invocation)
Compiler returned: 70
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzkWl9z4ygS_zTkhbJLQrIsP-TBceL9UzO1qUl279GFUMthB4MOUOLsp78CZFsozkz2zntbdTeVmZEEdP_6103TQKgxfCsBrtHsBs1ur2hnn5S-fuW_U5mX-eyqUvXr9UrtWi5A47t9K5QGjbIlRrObJ2tbg7IlImtE1ltVV0rYqdJbRNZ_ILIG2M_1P-j-BzS7RaT8eHeyQMktSpbh35WgcoupMaAtVxJb3cmvmGlqnsDglyeQmHmEXG6xfQLcKCHUi3tjqganMUgrkvDDwrux1HKGnxWvcaMUIqV7RGSB0fwGzW9DLy4FlxB6VVQPe_n2zYZaq3nVWdhsECkRKang1PhH4uUSZ1D4yW5GWN4aaixlX3Hd7dq3yMNrQy0VGLRW3hP-AXOJK8q-gqzdtxutvoLEO1V3whHSyRqRVc8T9TTSSmkLNSJpkHr_6W75cIdNV-24xRRX3RZraJW22Co8ch63T101ZWqHyFqI58N_k1ar34FZRNbcmA4MImtMZY25ZKKrwbvHe86DtZoycLhaDa1WDIyBGhvV6fDZjaTGKMaphRrrTmLDNG_tNEB-eEtVMkXJ4l6rraY7TPW224G0xgcsWavWIWN9OE_gEM5kzRz1k2OMmYkPMkTWFZeHZjzZ1i9UN5McT7Z4opxE2rZObmfbzk4NnuwcC3gy2ZfFhJrdxLxKS_cou-XSgsCTRqrJM-hKGXDtePKAJ5MtYxOrlGBPlEuU3X4TqetsJG3Nk7J40jAllJ7UnG6lMpYzE3R4jqPPKFv1xGZ3garUUYWyFagGZXe4pdqAxtRikDVWDW64gNCTuJ6_tJbv-B-gw7fMffvSSenmWUuNwYiQZ9C8eUWEYHUMPhf_Q92EBAEYkSzByT45_MmqNKGkxD6esiXKlubVhId7zaX13n4MIVOeOmn6slHGaqA7RAoXNlxaPz_dDPwPfY7ITbLvgR3TkkOexsgTKICdQ74SQGXX_iIf-FZSgUjZSZ9zayyUk39RnB5GhJNEOOlszrJigHPl4uQLMPUM-nWlpIW9DS0_UlkLuNtzi0h5cUYDkAhpNmJ0Ni_gfCz4RBFehvhWuFJKXJpRByPCmQ9xJozOgVD86dNvn-9cHg60nZaJpU-7T1RjpqSx_YcDUMbSzY5yOWWtS2GJ_3vUNIt9VxBWZANGQnLe-NVgE1aD4bx4fHHrVq-1-GvoCZgieoox6JqVl9VYs3gqziONsyQraDKg6TeXkzjoe3oIGt3JiKl1J5lT29N0alhKKl4NN5-ppFtX9qzODHIprbgsrcGGyMgyMrKmizkMZ0cNlnLRTxBqzGdVg4jwfvbZOLYvoubDlveSsjv_c47Qg64_QedJ6KXJDFxFZC4iMvM6bdJhxHgC38f4v0pU4OFUfJMsjdfnulqU89pppFLJ153qDJZ0B6b1a_KiT8k7bpfGwK4Srz-CaP12AWXLL53sSwhff97zFlxljUgZMPhON6GEXfbzcYWNrUNLJ_k_O9i0NqbDrf7ti-YWNocaYDCohoZ2wm5qEGDhOwODn4Ivvqf2USnxi6_61jyExEd0jkYNFb7lYKWk6XbOh0vn5_7rr5aLt6uF81U68hWjWT0U6_zSCwkYYuZvT7Xindx6x4yB_Qi0Bv0AVLMn50olTbS-DLquVA0_gPxOr0eqt2C_0-kTldtzXU60PljN5fYLNPHnw-Ranuf3FGOnIT9JqzvDn-ELNCtp70def276FcS57-HVWPBR87eE6QdC5oI51EdTlBqiwjLPZ4sqg29BGhSVj5pKE3ahv0o-isPlw-OhDr1wgutBRlZERWcxm6d1yYZW3LtN0fLhMcb4ADsa1VR_QW3Vg4nQ5mPOm6Q8M-v6yO4LZGCdhUOwlxdntEnKCGNUtOYFVLBYDDGutfPucfoNQV4cXtAewStieEWTFxBTGBT-JI2lksF5Ft-359IxGxBGJkT1bj6vZwsSmdCDPVnyrBh9C_yNpRdOGj2yCHo52jvRtGqOm6CoMlpqTV9dSs9W8e6pz33jHdVxt3VBCwK-yIDFyIAsTyg-EL5KH30WGJjxsKNC_AbMKv3TrhVnrRmtZk5GnwEH690C15o_gz679pMkTgyLOksW4cjyJLfpNywb7Vn1rWHGHctTRoWoKPu6aaRDeoqVoLuPm1W6UrsdlfV48p713nGRU34Np_Gu5LR0H5e144DNhu33aRpeKmo4c0sgd5g8i1Fn92FjNeXWHJpH4qgQbh4oPWh3XQYbch8-gXM_BJG5oLuqpojMT1SR8nBy87OqzvsjHZ-6VPP8Q6cuXzr5QBsQrxGd33bdpQ9mqnk-jHlCxsFVNg3-fw4OR_e0pdpOk29GQRYTV2TlYvYucaeT-XEW92xGqXs00HV4r3r-Rtfl6FjoaNuligNvcBRKowKmyElT_1lGflaVeZ-On1X1iRv73k7hTTo-RkBLuXN-f5L4UQaHW7i_jkdHU8TjbMRj1eTvRtbt4DkqDc7UBO_x_1_k8aLlqScmYq4Yn97Oqp65Qw1yQO6TyLJPAd9fni9YdThMEeio4kuqeTXPcuzgXk5rEBppPRRr8xqKrACyqBdJr1DwCpH1viw2RT4RXHb7yVZ2oYFNjZoWXqgfEslcjGVCnuDNxg3bGEu13QzM-rAWyCMt8bVSwiiBCnCQf0k_ObFHvYdIP93LhkvDpt8fYNbHfEO5gBq_cPuEYc-tv6TGc09tZwBPnrFV2ABgPqjcey3Hq3gNttMS_GXvPBldE1_V11m9yBb0Cq7TOZllJcnnxdXTNWuSNK2AQF4WeTUjCTSLNIdsVmd5ukhmV_yaJCRPFkmWFrM8K6YsmRUAkKZ1Q5o8b1CewI5yMXUzYqr09spf9F6nyTwl5ZWgFQjjf52AkJ4rgma3V_ra3w9X3dagPBHcWHMSYbkV_ncQwg24L4_Q7BbfjW62_4ZT_atOi-t___K7p-X5mvwrAAD__9ItW8Q">