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

    <tr>
        <th>Summary</th>
        <td>
            Clang-19 fatal error: error in backend: Cannot select: intrinsic %llvm.preserve.struct.access.index when using builtin_preserve_access_index()
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

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

<pre>
    Clang-19 crashed when using builtin_preserve_access_index() with -g

Compiler explorer: https://godbolt.org/z/csM7Gqbar 

```
$cat mutant.c
struct {
 int a;
} b;
int c() { return __builtin_preserve_access_index(b.a); }

$clang-19 -g -c mutant.c
fatal error: error in backend: Cannot select: intrinsic %llvm.preserve.struct.access.index
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-19 -g mutant.c -c
1.      <eof> parser at end of file
2.      Code generation
3.      Running pass 'Function Pass Manager' on module 'mutant.c'.
4.      Running pass 'X86 DAG->DAG Instruction Selection' on function '@c'
 #0 0x00007f6883b24216 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/usr/lib/llvm-19/bin/../lib/libLLVM.so.19.0+0xdc1216)
 #1 0x00007f6883b21ec0 llvm::sys::RunSignalHandlers() (/usr/lib/llvm-19/bin/../lib/libLLVM.so.19.0+0xdbeec0)
 #2 0x00007f6883b235f4 llvm::sys::CleanupOnSignal(unsigned long) (/usr/lib/llvm-19/bin/../lib/libLLVM.so.19.0+0xdc05f4)
 #3 0x00007f6883a7123e (/usr/lib/llvm-19/bin/../lib/libLLVM.so.19.0+0xd0e23e)
 #4 0x00007f6883a711fb (/usr/lib/llvm-19/bin/../lib/libLLVM.so.19.0+0xd0e1fb)
 #5 0x00007f6883b1e707 llvm::sys::Process::Exit(int, bool) (/usr/lib/llvm-19/bin/../lib/libLLVM.so.19.0+0xdbb707)
 #6 0x00005617f30c93c3 (/usr/lib/llvm-19/bin/clang+0x133c3)
 #7 0x00007f6883a7ed0f llvm::report_fatal_error(llvm::Twine const&, bool) (/usr/lib/llvm-19/bin/../lib/libLLVM.so.19.0+0xd1bd0f)
 #8 0x00007f6884394fa0 llvm::SelectionDAGISel::isOrEquivalentToAdd(llvm::SDNode const*) const (/usr/lib/llvm-19/bin/../lib/libLLVM.so.19.0+0x1631fa0)
 #9 0x00007f6884394498 llvm::SelectionDAGISel::SelectCodeCommon(llvm::SDNode*, unsigned char const*, unsigned int) (/usr/lib/llvm-19/bin/../lib/libLLVM.so.19.0+0x1631498)
#10 0x00007f68868a67b5 (/usr/lib/llvm-19/bin/../lib/libLLVM.so.19.0+0x3b437b5)
#11 0x00007f688438bcaf llvm::SelectionDAGISel::DoInstructionSelection() (/usr/lib/llvm-19/bin/../lib/libLLVM.so.19.0+0x1628caf)
#12 0x00007f688438b391 llvm::SelectionDAGISel::CodeGenAndEmitDAG() (/usr/lib/llvm-19/bin/../lib/libLLVM.so.19.0+0x1628391)
#13 0x00007f688438a5fe llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) (/usr/lib/llvm-19/bin/../lib/libLLVM.so.19.0+0x16275fe)
#14 0x00007f68843885ee llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) (/usr/lib/llvm-19/bin/../lib/libLLVM.so.19.0+0x16255ee)
#15 0x00007f688689c2af (/usr/lib/llvm-19/bin/../lib/libLLVM.so.19.0+0x3b392af)
#16 0x00007f6883ef3fb7 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (/usr/lib/llvm-19/bin/../lib/libLLVM.so.19.0+0x1190fb7)
#17 0x00007f6883c73e1f llvm::FPPassManager::runOnFunction(llvm::Function&) (/usr/lib/llvm-19/bin/../lib/libLLVM.so.19.0+0xf10e1f)
#18 0x00007f6883c797c3 llvm::FPPassManager::runOnModule(llvm::Module&) (/usr/lib/llvm-19/bin/../lib/libLLVM.so.19.0+0xf167c3)
#19 0x00007f6883c74534 llvm::legacy::PassManagerImpl::run(llvm::Module&) (/usr/lib/llvm-19/bin/../lib/libLLVM.so.19.0+0xf11534)
#20 0x00007f688c11ad60 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*) (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0x1c5ed60)
#21 0x00007f688c4af0c9 clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0x1ff30c9)
#22 0x00007f688b06c076 clang::ParseAST(clang::Sema&, bool, bool) (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0xbb0076)
#23 0x00007f688cf69825 clang::FrontendAction::Execute() (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0x2aad825)
#24 0x00007f688cee50d4 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0x2a290d4)
#25 0x00007f688cfe2f7e clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0x2b26f7e)
#26 0x00005617f30c8fad cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/usr/lib/llvm-19/bin/clang+0x12fad)
#27 0x00005617f30c6075 (/usr/lib/llvm-19/bin/clang+0x10075)
#28 0x00007f688cb75439 (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0x26b9439)
#29 0x00007f6883a711dc llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/usr/lib/llvm-19/bin/../lib/libLLVM.so.19.0+0xd0e1dc)
#30 0x00007f688cb74dfe 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-19/bin/../lib/libclang-cpp.so.19.0+0x26b8dfe)
#31 0x00007f688cb3c901 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0x2680901)
#32 0x00007f688cb3cb4e clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0x2680b4e)
#33 0x00007f688cb596cc clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0x269d6cc)
#34 0x00005617f30c59e5 clang_main(int, char**, llvm::ToolContext const&) (/usr/lib/llvm-19/bin/clang+0xf9e5)
#35 0x00005617f30d3556 main (/usr/lib/llvm-19/bin/clang+0x1d556)
#36 0x00007f6881f5dc87 __libc_start_main /build/glibc-CVJwZb/glibc-2.27/csu/../csu/libc-start.c:344:0
#37 0x00005617f30c2bfa _start (/usr/lib/llvm-19/bin/clang+0xcbfa)
clang-19: error: clang frontend command failed with exit code 70 (use -v to see invocation)
Ubuntu clang version 19.0.0 (++20240301064251+dd426fa5f931-1~exp1~20240301184412.1845)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/lib/llvm-19/bin
clang-19: note: diagnostic msg: 
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang-19: note: diagnostic msg: /tmp/mutant-ed2bff.c
clang-19: note: diagnostic msg: /tmp/mutant-ed2bff.sh
clang-19: note: diagnostic msg: 

********************
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy8Wktv4za7_jXKhrAhUfdFFoodZ6bINEGS9hycjcHLK5unMumSVC7for_9AyXZFp2kycy4LYKORVLk8z58r6SIMWIlAc6D9CJI52ektWulzwXZEKnky0a1hpkzqvjL-awhcjWJSsQ0MWvg6GkNErVGyBWirWiskMutBgP6EZaEMTBmKSSH5wAXAS7Rk7BrNFkF4TwIq_7_M7XZigY0gudtozToIK7Q2tqtCeIqwIsAL1aKU9XYqdKrAC_-E-AFM9_yqz8p0Wg8VZCFw1__iBNGLNq0lkg7ZX2jsbplFgX5Rf-MhLSIBPHwGORzRPdPro8N0IP8AmmwrZZoufxIVjolAS6D-AIF-dyDiBO243CyQhN2BK8mljQItFYdD90PJCSihP0Bkru2GZFSWWSgAWZdg5BWC2kEQwFOm-ZxM93BmvbSTnt00x5dt87t9WV1f4lMSzfCIoJou0IatkpbZNUx_cKuWzplahPghZt_-Gey1er_HQa8EMa0YAK8QERyJCRrWg7IrqFXlA6-1YRBgGdoq2GrlUMEHBnV6r7ZvUmMUUwQCxzpViLDtNjaaQ_53hL2B-LtZuuQdU3hFHX_3Wq10mSDiF61G5DWYUdjnncko8nAczS8GcQzUHUQX6It0QY0IhaB5EjVqBYN9IPxMHimOKAVSNDECiX7znjovGuldGawJcagAOeLVjI3Ct26hm9EkhXoAOdISbRRvG3AjdrvPs4HMZN35vvfIkPz6moSxJfz6gp9lf3euhXuO1VwiPrp693SAc6DJHSTD8oe4DhE4XMYhmFeZ0URU5zgKEPdrsZVEFfmxfQ_brWQtuP8od-44jBIk6elMlYD2QQ4c5snpO2MxNnKojXaqYigO0WJygAvqJABXkynhy5Br69__zY1ahqV0zDAF-EzZxGOMmc7e8DREeAIWPgW4LtW3ouVJM0XInkD2uwM96cxUQAWepjwEaY4rZO3MM0aILLd3gzIAly0snO2HDVKrk5EWZjWiQcv9uCRPMIxnGChEHAM3kLJ8UJRTU-yUFRTb6HUJzyCPMzf1trOsfQPl8_CBrjodHOGqFLNifSB5mHuwcsGeGkW5XUcsjJm8ScW6lxUN2cUxyz2psyPqAUe1iOJe2e97OLFso8XYwt9eBISEFPS2MFCTyd-RHlYe1iLMdYkLpOajE1075_m1dXXe2j6VmFu9OWfrXgkDUj7oCrOPRHu5786fzvIUDns3e-flyDK4qgmvkWXxyIkZfGhCH2rCwsztdk4__sKf4d8hvZmz9ZEj2Qa9ZzKhTrpkrLYS-dcqOf0s4JkOU1_fqWYJnFOU2-lyOexoIzUH_I4V6NwNopmp_HfUYYLRmoPJj6GGZfRhzDdRl-BrCS_3Ag7r65OiTAuIw9hfISQpDV8UiGrprkgRrCLRrE_jKeU-6zk4BpOgz9Pa_DwJ0f4ixQ-xq9beSO_EbYWEnZQPfyv-k4mQJqCL0Dq20zJMKlPYTNxiY-UMfNcPdRxTcfB7Uhml0-O2HqTppPzE5VhTXMPtR-gWB5DNLb0xa0Dust7_2W8deRSCA9ucQS3zFn8CbjfulTd18Gh6VRQs3wU-h3U8ghqksbj7LKBFWEvQ75zAP11sz1Y0T8KOErjZAwYe-GFRRHhWdjXX0MithH2oq9gb1q7bV1WNuqeC7KSyljBzKVcCQlDyjIa8gUIB30PRLP1zdapivGym9HQwUt_MOqB6BXYDwZdE7l6a8jIjbnSe3UHtd-8Y7w6mnAgoRqUffzKV2l1a8Qj3EE9k_bW6iCeHbof68HoF6KB-xdjYRPEl24KY3nf00rxZwvL7dGbrljbPmlhYbkr2UYvcahJ29glhwYsfPBifDms-VqkmZKm3bgKt_oRLeuLdbbd-m6HpcCz0NM1L8FgCalDVv4dnl59upLwQRNpmq52_02KIyWs7h9mSlp4_tGo-I4IdVcPeCJ4yQcNMxbm2ViEW6INVPcPPsB72BAvl__xnP5tqJSGYZ55SL0khNVZWeB0jHShHWV7hR6qLmCthR_Mjd6GhgnhBfYyTewlGAwgDXni-4H-YNGllkQy8NDtLLB4X5hTagEmuAy57zRTn1vAdQ6e0-yRHsR4VIy8Rv1KzFMaIKY4q3MvL8LHtW5RE44Yi5YbIvy4U2lNXpxvjGd-2TM4keNS6FEJ_mn4o9oZ14R7EPMjiFmYf6bcGU0ZhrmvbV76wGieJvHJSM5omcS-iyhfHaxwNgoWM03M-g6YegT9snNb-1MwUkPz4u3E7kRwqbvdcET34MtuL05xKhBCxNlYBv-kkdE84bWn4FyLx52Dns0iV0ITyY-dyJvqtA9fqovOpPEC1yEo7wPW_oXlkj0_R1H_QF2V5IKbcJg6JfUGu4al1URYs-s-mo40jbNKpUf9bkh1cM8_cXLxrr4U3K-2_ENSRmNWhtG7XHceg7zy2LsN8NzL0YtuwHvZ0t8MrY4OoU5LRxGWoVc8--ezjg6avK9679Dxi6LmfS5-UfRaGPteWrghTfM7MKuGtPygsVsinLIMh5KfpW9Qq3-URJr4OuUHf5qWGWPvAZ6PfnuB642I9R75_yKJp3PdJc-Y7_aSo-CTljDkTLsIuYPduZtqcBajs1ulmsGnf-cxzSGA1SV48Wt_gD6g4nGaZsjh-b64yNPUyxBj7-wiqlPOihwtl46xpbFE2-WwyIK2ouEBXqxc32T2-y9P_0f3j3iK8-5et90x3__sOrt5piyIqzhJgrgKD8sfR3pMa4L6hb9LMEZrspdrd3O4v4HdXyeiesgRERuUqyaiAd5fbMOzcDvGAeWhW701gCaPyCpkAJAYJXDDQr_RVtp2mPoRtBFKIqdc07BHfxHgCxziJIzDKMwSnEYBvuA8wVlN0rqMo0n0Fzxvo792g6IiSSI8jYrksP19qetkeC6yZZZMtmzSCNk-T1ayHYasNRCONop3J3Foq4wYboq7vLJpgM9Fx8PfUvqKPqlcUVkhvi_x0casunmGPfyJv9G9-nCfXT08VLMv6OHLJVrcXF_f_M_XX6_Q4uv15T16uOmaL367QneXtzd3D_tb5Nu37qML40zu3Tvp_QANqMsAgCNi91N-kgK8sJttgBf9LfAEOKZ1vfsU4KfmMOsf2ItT7cjuM4wzfh7zMi7JGZxHeZQWOCtwerY-L3AacRyWRU2BlozxsKacYMAJp5SGcCbOO4VOoyx0HjWdAuS4iOswwkUNwIsgCWFDRDPtvndQenXWfYJwXjqXdNYQCo3pvmfBWMIT6joDjIN0fqbPO52l7coESdgIY81hFitsA4fPXP75zzG-8wuas1Y35z_-eUZHz38DAAD__xC6jac">