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

    <tr>
        <th>Summary</th>
        <td>
            Crash compiling OpenCL SAXPY for SPIR-V target
        </td>
    </tr>

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

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

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

<pre>
    I'm getting a crash on a recent version of `main` compiling a SAXPY kernel in OpenCL. This is a code and configuration that builds fine in LLVM 17.0.5.

```
fatal error: error in backend: Missing TableGen record for OpenCL type: opencl.float
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: /home/eslaught/llvm/install/bin/clang -c -o saxpy_kernel32.spv -Wall -fintegrated-objemitter -target spirv32v1.0 saxpy_kernel.cl
1.      <eof> parser at end of file
2.      Code generation
3.      Running pass 'Function Pass Manager' on module 'saxpy_kernel.cl'.
4.      Running pass 'IRTranslator' on function '@saxpy'
 #0 0x0000000002f0b6fb llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/eslaught/llvm/install/bin/clang+0x2f0b6fb)
 #1 0x0000000002f0aa7c llvm::sys::CleanupOnSignal(unsigned long) (/home/eslaught/llvm/install/bin/clang+0x2f0aa7c)
 #2 0x0000000002e739d6 (anonymous namespace)::CrashRecoveryContextImpl::HandleCrash(int, unsigned long) CrashRecoveryContext.cpp:0:0
 #3 0x0000000002e7398b (/home/eslaught/llvm/install/bin/clang+0x2e7398b)
 #4 0x0000000002f03fc7 llvm::sys::Process::Exit(int, bool) (/home/eslaught/llvm/install/bin/clang+0x2f03fc7)
 #5 0x0000000000b64473 (/home/eslaught/llvm/install/bin/clang+0xb64473)
 #6 0x0000000002e79b3f llvm::report_fatal_error(llvm::Twine const&, bool) (/home/eslaught/llvm/install/bin/clang+0x2e79b3f)
 #7 0x0000000001fdd09c (/home/eslaught/llvm/install/bin/clang+0x1fdd09c)
 #8 0x0000000001fb2497 llvm::SPIRVGlobalRegistry::getOrCreateSPIRVTypeByName(llvm::StringRef, llvm::MachineIRBuilder&, llvm::SPIRV::StorageClass::StorageClass, llvm::SPIRV::AccessQualifier::AccessQualifier) (/home/eslaught/llvm/install/bin/clang+0x1fb2497)
 #9 0x0000000001fa200e llvm::SPIRVCallLowering::lowerFormalArguments(llvm::MachineIRBuilder&, llvm::Function const&, llvm::ArrayRef<llvm::ArrayRef<llvm::Register>>, llvm::FunctionLoweringInfo&) const (/home/eslaught/llvm/install/bin/clang+0x1fa200e)
#10 0x0000000003d844b9 llvm::IRTranslator::runOnMachineFunction(llvm::MachineFunction&) (/home/eslaught/llvm/install/bin/clang+0x3d844b9)
#11 0x00000000024325c3 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (/home/eslaught/llvm/install/bin/clang+0x24325c3)
#12 0x0000000002948d1b llvm::FPPassManager::runOnFunction(llvm::Function&) (/home/eslaught/llvm/install/bin/clang+0x2948d1b)
#13 0x0000000002951a03 llvm::FPPassManager::runOnModule(llvm::Module&) (/home/eslaught/llvm/install/bin/clang+0x2951a03)
#14 0x0000000002949a47 llvm::legacy::PassManagerImpl::run(llvm::Module&) (/home/eslaught/llvm/install/bin/clang+0x2949a47)
#15 0x000000000312f93b 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*) (/home/eslaught/llvm/install/bin/clang+0x312f93b)
#16 0x000000000369ecd0 clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) (/home/eslaught/llvm/install/bin/clang+0x369ecd0)
#17 0x000000000519e7d0 clang::ParseAST(clang::Sema&, bool, bool) (/home/eslaught/llvm/install/bin/clang+0x519e7d0)
#18 0x00000000039ea747 clang::FrontendAction::Execute() (/home/eslaught/llvm/install/bin/clang+0x39ea747)
#19 0x000000000393a085 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/home/eslaught/llvm/install/bin/clang+0x393a085)
#20 0x0000000003ac5832 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/home/eslaught/llvm/install/bin/clang+0x3ac5832)
#21 0x0000000000b63caf cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/home/eslaught/llvm/install/bin/clang+0xb63caf)
#22 0x0000000000b60124 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) driver.cpp:0:0
#23 0x000000000370ef09 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::$_0>(long) Job.cpp:0:0
#24 0x0000000002e73968 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/home/eslaught/llvm/install/bin/clang+0x2e73968)
#25 0x000000000370e76b clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const (/home/eslaught/llvm/install/bin/clang+0x370e76b)
#26 0x00000000036b252d clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/home/eslaught/llvm/install/bin/clang+0x36b252d)
#27 0x00000000036b2d4e clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const (/home/eslaught/llvm/install/bin/clang+0x36b2d4e)
#28 0x00000000036e60ae clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) (/home/eslaught/llvm/install/bin/clang+0x36e60ae)
#29 0x0000000000b5f0a6 clang_main(int, char**, llvm::ToolContext const&) (/home/eslaught/llvm/install/bin/clang+0xb5f0a6)
#30 0x0000000000b726d0 main (/home/eslaught/llvm/install/bin/clang+0xb726d0)
#31 0x00007f9d1347424d __libc_start_main (/lib64/libc.so.6+0x3524d)
#32 0x0000000000b5b6ea _start /home/abuild/rpmbuild/BUILD/glibc-2.31/csu/../sysdeps/x86_64/start.S:122:0
clang: error: clang frontend command failed with exit code 70 (use -v to see invocation)
clang version 18.0.0 (https://github.com/llvm/llvm-project.git e096732307d1eb9476fc2b88dfa12586250c8111)
Target: spirv32v1.0
Thread model: posix
InstalledDir: /home/eslaught/llvm/install/bin
clang: note: diagnostic msg: 
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang: note: diagnostic msg: /tmp/saxpy_kernel-4a1be4.cl
clang: note: diagnostic msg: /tmp/saxpy_kernel-4a1be4.sh
clang: note: diagnostic msg: 

********************
```

And the requested files:

 * [saxpy_kernel-4a1be4.cl.txt](https://github.com/llvm/llvm-project/files/13445897/saxpy_kernel-4a1be4.cl.txt)
 * [saxpy_kernel-4a1be4.sh.txt](https://github.com/llvm/llvm-project/files/13445898/saxpy_kernel-4a1be4.sh.txt)

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzkWs1y2zgSfhr6grKKBClRPPggy1biKWfstTSZ3ZMKJJsUJiDAAUDHfvstAKREyPJkEmXnsinHlvDT_eFDo7vBJlGK1hzgKpheB9ObC9LpnZBXwBgVWitGunqnQV7kony9ugtw2qAatKa8RgQVkqgdEhwRJKEArtEzSEUFR6JCwSxsCOXBLESFaFrK3Jz14t-P_0FfQHJgiHL00AJf3k_QZkcVospIFSUgwktUCF7RupNEG5F6RzTKO8pKhSrKwUy-v__8CUXpJJxMJ0F4E4SL_vcs7H_s14powhBIKWQQL9wHMz0nxRfgpWn7RJUyADckZ_ABuFmQkCWqhOwhIv3aghkqWuAFm1RMEO3kP97fLta3SHV5QzUiKO9qJKEVUiMt0E7rVgXxIsCrAK9qqnddPilEE-AVY8_Dn8tWij-g0AFeUaU6UAFeWRYoL1hXAtI76Ak3sLUkBQR4iVoJrRQFKAUlUqKTrtnMJEqJghINJZIdR6qQtNU9T2tNii-o7JrWILNN4SQIs0cpakkaRGTdNcC1AY4CvNqJBgK8gt4iDtgpV5owFuBVTnmAVwUjvEaXBboUSJGX9nXr9jrGE9U-o8vfCWPosqJcQy0NtkuR_wEN1RokutRE1qCRaql8jvFzNAk9IZOCOayRwRrESxBVEN-ilkgFEhGNgJfG-CrKwI3EZuTSmFQNHJwtuZ7Y9Dx1nJt9b4lSKMDpquOFNbdH0_CJcFKDDHBqrLwRZcfAjDrGhNOe1uSUzLunjSRcMaLFIKoa1AQ4DZLQyjMfrRAU4DhE4Us4_MNVmM-qHFnK40UQL9Srch8eJeXabubGWcT8MEiSr1uhtATSBHhmrIJyHeAMBXj-3Vsa4OvwpQcS4OyANDpCSkhanEK6ZEB41z7wNa05YQGed9z6nhIxYeSfh8uo9XBhDxekcVbOjAbCBX9tRKcQJw2o1rKW9RjN-XqCQjyDfF0KruFF3zUtc70fCS8Z2DEBnlsul-jNIk7JmBStOWeh_b9HGL9BOM_P4MAJ8DhIjvYmror0tBVZD-K-3L5QfVhfLgQ7d2-MWg_XdIwrzGdJksY_rsHN9xTMjqjN8rgaLdw5562NC1sXF8YHZ_PVxJdCcKX7g3M-Cw6DBzIdg4yqsgyz4sc19AI8DXNfQ46TbLz_68e7p88fmMgJe4KaKi1fXUcN-kEuJRANdszmtYXr119J4zuYtZaU109QGYoOzZ9IsaMc7p6uTbQ27nPmD7AyBxFCkhqWjAzm57W8N21RGHv9V0cYrSjI043n7FdPlsdm5rNJcBjCMbwlYexefAVDjGtm5ttKyIawxT6ojln8Jl37mDS2yEP3QkryajYhXn6j0W2yoevW_JxUMoC_45WwqjKn9hwqLVN7Kk3M8MJbXM6TJM9GYLyI6U5sxx94z9QA9RSLh77ZWfvfY_JA-5EuifG0iN-a_YDgcW_RFvtJ0D8LbQ_GQ-vHvyyZl9E4g1g9GoBDgvNP4XQwPJx-FMymEQnjv4Hzk03GfBPom87FaCF4GJMjLjOSjP0og5oUvescoT1kDrLj_xOkFoiH1IuscYSrLM6Rm-KCe0P1tbv2PHS67UykH3XfUFJzoTQt1C2vKYfe24yGfARSglwDkcXuoTVWoTzHNBpq0u4PwL8xamNz_m8Muie8PjXk28Gop3pxJLAnYdHb9XjKHdeyU_QZnqBacv2opedFn6v-XK8og_Wr0tD03lTp0vV0nP7ZwbY9mmkS8varpBq2Q1o-mlRCRTqmtyUw0PCNiXsP_nZJS8FV15g4sjjPBTrr8czLy6viWQZFGf4VhFHePHh0KvhvnB7Z3WK96VPlsx23A-Wh9hKtaZRB6qN-NNfHxXrjY1pDQ7z07yekgb1yD52XpMUZkDRJx-hW0jCzN9U-R4ei02BxnEOW0-bByXw4MQnnU_9QNy1lIO-MVF6AB2g4TvP38Z-7vw7RGDL2swlSTOcx9pyeA3dA_iwK8hbom5Wde4AcEg9qdHTziQtSoaKItvZZ2ThGjDK4Ykfk4PUWw7n32vASPQtanovY4fEA4yPAYYQTNBC6jDb2RIzvBA1h7DMUWvTx7wT6I89tZPSnf-TbM1RK-gzy7d3ZwPKyhjgNoQozS8FI7vCQZSsti7bXnRjrPs2QgjCWk-LLtuIG6cEWnO7eLpbRUjQN4eXx4Tu5W3uHLmy8Isxz5YcwtXfh-wnbbfHyEkXuS04ULYy7tzcJy6I32DRstSRUq6H7SBxhzNi5SaH3_WbI4uDKFvv83k0JcLIN7aD58DzjF5Gf3oLkzeOL2XzE_qnnIP01pONrUgF79Rj869068-5tsHlmPT22n3Tm5Un_d_t_hptz7Hn0HuUJOZ7i8l16rdslb4LbwLnno48mNn2d4FTK-BdDF0ePdc5lwC3QYyA9ZqBM4HsZ-EXk6v3l_yLye6r0e-nwGz-8t4uWUGMS_QO-v8tYbzw_m7cy8Z4MYD8bmsEsJO_ydjP67MX4E8H9Pb7_Qd7OymotER5TmR-Zp1VIZg7VkEwMSK3rWPQH_9tx98fTB4thDNKvY4R5imdliAy8M7RYIZ6WIatKq6yM4iRNcFKi7ZbR3HhQIvV2pJLRfJa4v8VEicnMMTzFiXeC46PMZ5rPgCAnblQRI7YkGeCVbJvh4_Vvd_c3AV7VRsUlnsSRWYDqAryaTAK8Uq-qhFYFePUyn20tGCt2sg7iRYTxIc4ORnYoXrr6WtXn1Kjoza0ilEGJvlK9Q_BCtauipqFZc6cAXT4jLZACQHSU_WYjLfvabTSfhBM78fsql5OaagRhNktjHIdpGUGeJemsKnA-n5cVifB0PsPTsJhHUbTX7W7_ZmWjol_ftZNAStSIEpgZ0ApFX1zXnbMOKG-o_L4KpU8rF9rWdMv9cw_UKNsz2MEZP6OCdF8hXmw2i-VHtPl4i1YP9_cPv9_9-gGt7u5v12jzYJuvf_uAnm4fH542wVCXfTxV4Z0rc1LfrfLuB0hANgmAEhG9F_l31o9XummNZY5qnZcJiXJI9mXYc-Wo3ffux8_aFf8FAfd7wUtbZZfwZwfKUFZRBmrP2r4SsEDB9Po0LxP9ooPpzXcfngCvnDK8iuIkmc6z9F3urY5RYeJdOGr38-DM391CD85FeRWXWZyRC7iK0jBMoyhL4ovdFSbzfFoW8_l0WuCimJZhlsUQk6xKqqqoZhf0Coc4jiIch_E0C-NJnsZQVjNSxXiOs3gaJCE0hLKJAToRsr6wL0pcpTEOZxeM5MCUfY0FYw5fke0MMA6mNxfyyi4u72oVJCGjSquDFE01gyt7XRm9qdK_9OFeV6mEROvHu6fLz8i9oXDRSXb14y92WMj_DQAA__8R7sh8">