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

    <tr>
        <th>Summary</th>
        <td>
            clang crashes with speculative load hardening enabled for i386
        </td>
    </tr>

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

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

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

<pre>
    
```
Stack dump:
0.      Program arguments: /cafe/u/nmosier/llvm-project/build/bin/clang-15 -cc1 -triple i386-unknown-linux-gnu -emit-obj --mrelax-relocations -disable-free -clear-ast-before-backend -main-file-name slh.c -mrelocation-model pic -pic-level 2 -pic-is-pie -mframe-pointer=none -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu pentium4 -target-feature +retpoline-indirect-calls -tune-cpu generic -mllvm -treat-scalable-fixed-error-as-warning -debugger-tuning=gdb -fcoverage-compilation-dir=/cafe/u/nmosier/llvm-project/build -resource-dir /cafe/u/nmosier/llvm-project/build/lib/clang/15.0.0 -internal-isystem /cafe/u/nmosier/llvm-project/build/lib/clang/15.0.0/include -internal-isystem /usr/local/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -O1 -fdebug-compilation-dir=/cafe/u/nmosier/llvm-project/build -ferror-limit 19 -mspeculative-load-hardening -fgnuc-version=4.2.1 -fcolor-diagnostics -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /tmp/slh-4460dd.o -x c /cafe/u/nmosier/tmp/slh.c
1.      <eof> parser at end of file
2.      Code generation
3.      Running pass 'Function Pass Manager' on module '/cafe/u/nmosier/tmp/slh.c'.
4.      Running pass 'X86 speculative load hardening' on function '@func'
 #0 0x00000000032aa62a llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/cafe/u/nmosier/llvm-project/build/bin/clang-15+0x32aa62a)
 #1 0x00000000032aa7db PrintStackTraceSignalHandler(void*) Signals.cpp:0:0
 #2 0x00000000032a8e76 llvm::sys::RunSignalHandlers() (/cafe/u/nmosier/llvm-project/build/bin/clang-15+0x32a8e76)
 #3 0x00000000032aaf05 SignalHandler(int) Signals.cpp:0:0
 #4 0x00007ffff7f9b3c0 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x153c0)
 #5 0x00007ffff7a2f18b raise (/lib/x86_64-linux-gnu/libc.so.6+0x4618b)
 #6 0x00007ffff7a0e859 abort (/lib/x86_64-linux-gnu/libc.so.6+0x25859)
 #7 0x00007ffff7a0e729 (/lib/x86_64-linux-gnu/libc.so.6+0x25729)
 #8 0x00007ffff7a1ff36 (/lib/x86_64-linux-gnu/libc.so.6+0x36f36)
 #9 0x000000000188b5cc (anonymous namespace)::X86SpeculativeLoadHardeningPass::hardenLoadAddr(llvm::MachineInstr&, llvm::MachineOperand&, llvm::MachineOperand&, llvm::SmallDenseMap<unsigned int, unsigned int, 32u, llvm::DenseMapInfo<unsigned int, void>, llvm::detail::DenseMapPair<unsigned int, unsigned int> >&) X86SpeculativeLoadHardening.cpp:0:0
#10 0x0000000001887b79 (anonymous namespace)::X86SpeculativeLoadHardeningPass::tracePredStateThroughBlocksAndHarden(llvm::MachineFunction&) X86SpeculativeLoadHardening.cpp:0:0
#11 0x0000000001883d40 (anonymous namespace)::X86SpeculativeLoadHardeningPass::runOnMachineFunction(llvm::MachineFunction&) X86SpeculativeLoadHardening.cpp:0:0
#12 0x0000000002017d87 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (/cafe/u/nmosier/llvm-project/build/bin/clang-15+0x2017d87)
#13 0x00000000027cf2be llvm::FPPassManager::runOnFunction(llvm::Function&) (/cafe/u/nmosier/llvm-project/build/bin/clang-15+0x27cf2be)
#14 0x00000000027d4142 llvm::FPPassManager::runOnModule(llvm::Module&) (/cafe/u/nmosier/llvm-project/build/bin/clang-15+0x27d4142)
#15 0x00000000027cfba9 (anonymous namespace)::MPPassManager::runOnModule(llvm::Module&) LegacyPassManager.cpp:0:0
#16 0x00000000027cf71d llvm::legacy::PassManagerImpl::run(llvm::Module&) (/cafe/u/nmosier/llvm-project/build/bin/clang-15+0x27cf71d)
#17 0x00000000027d4421 llvm::legacy::PassManager::run(llvm::Module&) (/cafe/u/nmosier/llvm-project/build/bin/clang-15+0x27d4421)
#18 0x00000000037d6a6a (anonymous namespace)::EmitAssemblyHelper::RunCodegenPipeline(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> >&) BackendUtil.cpp:0:0
#19 0x00000000037d14d6 (anonymous namespace)::EmitAssemblyHelper::EmitAssembly(clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream> >) BackendUtil.cpp:0:0
#20 0x00000000037d0a5d clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::StringRef, llvm::Module*, clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream> >) (/cafe/u/nmosier/llvm-project/build/bin/clang-15+0x37d0a5d)
#21 0x0000000004d54559 clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) (/cafe/u/nmosier/llvm-project/build/bin/clang-15+0x4d54559)
#22 0x0000000006dd0c61 clang::ParseAST(clang::Sema&, bool, bool) (/cafe/u/nmosier/llvm-project/build/bin/clang-15+0x6dd0c61)
#23 0x000000000432a70c clang::ASTFrontendAction::ExecuteAction() (/cafe/u/nmosier/llvm-project/build/bin/clang-15+0x432a70c)
#24 0x0000000004d4fd02 clang::CodeGenAction::ExecuteAction() (/cafe/u/nmosier/llvm-project/build/bin/clang-15+0x4d4fd02)
#25 0x000000000432a10c clang::FrontendAction::Execute() (/cafe/u/nmosier/llvm-project/build/bin/clang-15+0x432a10c)
#26 0x00000000042607ac clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/cafe/u/nmosier/llvm-project/build/bin/clang-15+0x42607ac)
#27 0x00000000044ec5d7 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/cafe/u/nmosier/llvm-project/build/bin/clang-15+0x44ec5d7)
#28 0x000000000140e2fd cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/cafe/u/nmosier/llvm-project/build/bin/clang-15+0x140e2fd)
#29 0x00000000014018ce ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&) driver.cpp:0:0
#30 0x0000000001400961 main (/cafe/u/nmosier/llvm-project/build/bin/clang-15+0x1400961)
#31 0x00007ffff7a100b3 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b3)
#32 0x00000000014001be _start (/cafe/u/nmosier/llvm-project/build/bin/clang-15+0x14001be)
clang-15: error: unable to execute command: Aborted
clang-15: error: clang frontend command failed due to signal (use -v to see invocation)
clang version 15.0.0 (https://github.com/llvm/llvm-project.git d955010d8dfb371650450c4dc44d8543d2e206f5)
Target: i386-unknown-linux-gnu
Thread model: posix
InstalledDir: /cafe/u/nmosier/llvm-project/build/./bin
clang-15: note: diagnostic msg: 
********************

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

********************
```
[slh.zip](https://github.com/llvm/llvm-project/files/8681537/slh.zip)

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzNWltzozgW_jXOiwoXd_BDHtxO3ElVsnF13DP75hKSsJkGwUoil_n1eySwg4gnl27v7KQSG3Q55ztXHUnJavp8PnEvJu58Erv9r3m9V5j8QLStmkkw75rc6cSdrUS9FbhCWGzbinEloRtN_CXBOYOvFv54VcuCCXgqy4fKaUT9ByMKXrO2KKn-LrieUWK-dbwIOYR4yFGiaEqGiiCNnZb_4PUjd8qCt0_OlrfIYVWhnDr7AzlOJViJnxz4rAlWRc0lcmghcVYyJxeMAcGSYeFgqZyM5bVgTgbCME6RU-GCO3kBIzmuGJLlbkqQodjTcqqashI1BTTDh1OyB3j1u5dCwhfQr3JQAXOauuAKBA0ueM2hOa-w2jlMCF7DS944pOZKYJA9uKg5NPHaEXXLaQGC67FACYZIJVqiagBcFlgykCZv-WPBqaO0TKDhC-CvQONMOaRpUQN6L9oqPDTmDKtWMLDDF8FUU4PemAMECgGKdwguSyCqWmjU07eMM6Hlq7R9tOZhuiNhWKfC4olRLYVGJJ1HLDjgBRWzrN1umdCEoAFQbWkGWEn9wATeAu26aoqy0yKwhgGf8QsEBpV1KwjTkz_rUmWR7V0Kvr1o6k5d5BjzcFyC4Z6lYtUpqMJDwUnZUnacfisNQXCn8uhQ9qQfyHDKhwZ1dA9D7yBkcmOSX9Z73tm6LCDEkDcDv5ANI62m-MCcssbU2WFBWecGOYQjccDkEvgBr3DqTz3jBiUQoQXe8lqqgmg3xpTCMJh0sdl8XSw2V_PfLjcXv8-_Lf3NYnm9md_fAgWYXWsJFeQafwkh6YRh7FI6hSh6QuQvjXYYPyVdgvJ0gpoEC1bnk-ASNVhIJhBWSId-nSMd991IX49cQKR3wWB01_UEuudby42wDZYS2CfLlhM9BK10wy3m4O6AIEHQBPmiLXXoJR_B6SfTjk94jM-_0xgNdI-07tFB9z3DfA9Gswxd_aqfDFVoC1zkPrn7n8DHOPYx0pbXiTyYg0d1DysB7mbS_BpyFMBOXwYJ_LgBK0JiqCZ-PPEXCMZO_BnQT38p2UOGcp96UEDvBbU3Rp1AchlBvC-2EBxXmNNSc0wf6gI4zDWurktOSaPXK9f8HWj7I9opS-JjGgFzWCykkfZ0Qmu-ltDBWOjcjdBYyl7zb0oY9oSSHH6SfJYFxEWbDWRUWFfYRqhehi6hPaXxJg5fVteuo1E7sDedylonOUDsRUDFwhtZbLCfe2mGBC4k-wB9oinHhnIYw0SLcmxTdlkazRDO6g8hH1D2I5hoUU7GlJODRT9ME6ZYNFObppfnIMCnaAYxTLFozoa-4KVpFhGd-lIMtcVzVbcS6YpFNiZUZ53DQr64f0kXN5AtrvbJQmeqblCXP3TnHNKxFea3mOygVLjWJUgf56867xrIj5x-tvu-gqrjgnHJbjE47KLlsBBwRrtEskDj98BvbQL7udc8r4_MN7EfXNpzKFO4KO35K6yXxLf5w2JhaGmLoDeU-jr4dOZyR5ZLsmR2Esvp2pGtBKOQAhVb76B23O6-QGnxQ855P-GYPffL1c8K5I0ECmjonkQg0fI7_grk6QWwEr7veglNk9euu-cywncU2AjRSVaEHtghC2jk1orgJyT3MzZAvlxpsPsC5P-BuYNkYQ5tzDT0Qv8DmG9N4WSbv286JV4Dx8IbjXWc4Xfj9fYnhbhhW0yeB3OPO2w8hpR4dKDC0lDpy7YXWtdVUx6w_M8VaUBZikzGhg99733Ufx9iA8hCnFoFV0JjHOP3TH8J26K5lKzKyucrVjZ7CaBa1DsI2ECsiobpLTcQ6vaKpv9Ld-Yw72NwgaSiXQ_sn__Tsk2j9MJkF93NoygU2-xL78EkynLclmpDWckUe2fiYEF7n--6rsu7VjWtWuoN0geZjmZZS2gv-ndVlMf9fTaygxfS-GftMGz_51ngfWX47kgZLo4oGoihBeyJdAq3pbx42XJf8q1xQ2P2wZArqOuZuGdYkN1d0x2ZmYOn10O1S39l_J1Ra3Pu9M6gG3g6NmRQJCrY4G2_sXxUWva5YD4i-M-w52l2g52Zh8nJt8qukEZhBHug1-IvQJVttff-bp8I22MuuyOg77wYOcj8fg1zFHtSp0yvPUBLAqvuiil1SewNJVjpExmAY-O7ZxXuXSODpPLyfSKkPRALqVVnhbD1TlyCbJ0thVbawd26UHyCMlSxvQee7nSgh2BhDG1_CHPq-kdC9e_B17G38EVjHXq2Dt9Q4KlV541UZ9VToR-7CSa26vSRKVRQkJUwh0XmqPb-WpZTxlGHzoJvFVZhyEhEE2tF6IC-SPHQ317YoF9J2Z2VnQZ2h8qCbVVXXugyP4eFjHgbfetiVXtzIfCzzvvBguyw2C8P835Hb7ftd_snRN-Ds9DPRui9lDC01_TCW5uUNJDBnHD8xvTNTVeIHxHFuAkVsGs9Xvjbh7XA1J1BxtTqOpmcmuJQzsNJ6_7wynWzAG02-nwKFjss1GbA_6NHZAkQsbj4Y8E82Mh29E8nmjfYiR46gzkyFxr6oeX6SgupGrHOkGCeqtLnVdA518eLjL4x3TSivI_9_VyUY4gqimhrKEtzMKuFaiVDzoNpYwwVg6gcYkT93Qnqb6lg4k6pxhxB-Ev43RZq12ZT4NYrZKSXKQxAdBZFrufSlOZZkHhx5IaRS0JKwpCmURhQn_lunEcH3l3JpqU6fsXajzJnwMhcguqxDRjmqesyWaQEwS8Ko5xPmnDam_GVtnmti685erk6QpXcGg69N_3Cb0fBfK5uLuf3l2i-Xs8XV2h9dYmWdzc3d79f_-srWl7fXN6j9Z1p_vL9K_p2ubr7tp7sr75XgoFEhME2g6LulhLMJnV0a4eAzW1NCgzOhGBfiyQRRaMOA4S-yCGmF6sDyQ-qYHgtFsTeLAz3t10_T0DufsIKp7KF_W8Gk-iLvhj7s2gm0cWnIwFe9Z0eqHmZxqkXBUknqKG3d_wzeh7QWTDDZ6pQJTvvgpAILHdMokdg8cadG2Img0DM18IEzlkryvNPoyykbA3MKArd2dnuPEqh_HejPPV9iDccpX4Y-R7Bsee7YZLkZyXOWCnPQT8T3-fsERkS8Ax6OivOfdf33cjzvSSKw2DKQuJmJPFwTEM6S_AE1jfI4uVU45jWYnsmzg2krN1K6CwLqeRLJ_ivPgxnhh3Qx63a1eK8j-kzw_rcQP8vUJ6Cgg">