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

    <tr>
        <th>Summary</th>
        <td>
            clang-16 crash on linux/arch/x86/kernel/head64.c
        </td>
    </tr>

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

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

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

<pre>
    This happened while building linux kernel "randconfig" builds on a clang-16 snapshot:
[head64-3af2ae.c.gz](https://github.com/llvm/llvm-project/files/10530047/head64-3af2ae.c.gz)
[head64-3af2ae.sh.gz](https://github.com/llvm/llvm-project/files/10530049/head64-3af2ae.sh.gz)

<pre>
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: /usr/bin/clang-16 -fmacro-prefix-map=/home/arnd/arm-soc/= -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE -funsigned-char -std=gnu11 --target=x86_64-linux -fintegrated-as -Werror=unknown-warning-option -Werror=ignored-optimization-argument -Werror=option-ignored -Werror=unused-command-line-argument -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fcf-protection=branch -fno-jump-tables -m64 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mstack-alignment=8 -mskip-rax-setup -mtune=generic -mno-red-zone -mcmodel=kernel -Wno-sign-compare -fno-asynchronous-unwind-tables -fno-delete-null-pointer-checks -O2 -fstack-protector-strong -fomit-frame-pointer -ftrivial-auto-var-init=pattern -fno-stack-clash-protection -fsanitize=kcfi -falign-functions=16 -fno-strict-overflow -fno-stack-check -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Wframe-larger-than=2048 -Wimplicit-fallthrough -Wimplicit-fallthrough -Wno-gnu -Wno-unused-but-set-variable -Wno-unused-const-variable -Wdeclaration-after-statement -Wvla -Wno-pointer-sign -Wcast-function-type -Werror=date-time -Werror=incompatible-pointer-types -Wextra -Wunused -Wno-unused-parameter -Wold-style-definition -Wmissing-include-dirs -Wno-missing-format-attribute -Wno-pointer-to-enum-cast -Wno-tautological-constant-out-of-range-compare -Wno-unaligned-access -Wno-cast-function-type-strict -Wno-missing-field-initializers -Wno-type-limits -Wno-unused-but-set-variable -Wno-unused-but-set-parameter -Wno-unused-const-variable -Wno-void-pointer-to-enum-cast -Wno-address-of-packed-member -Wno-frame-address -Wno-format-security -Wno-format -Wno-initializer-overrides -Wno-sign-compare -frandomize-layout-seed-file=./scripts/basic/randstruct.seed -nostdinc -I/home/arnd/arm-soc/arch/x86/include -I./arch/x86/include/generated -I/home/arnd/arm-soc/include -I./include -I/home/arnd/arm-soc/arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I/home/arnd/arm-soc/include/uapi -I./include/generated/uapi -include /home/arnd/arm-soc/include/linux/compiler-version.h -include /home/arnd/arm-soc/include/linux/kconfig.h -include /home/arnd/arm-soc/include/linux/compiler_types.h -D__KERNEL__ -DKCONFIG_SEED= -DRANDSTRUCT -DKCONFIG_SEED= -I /home/arnd/arm-soc/arch/x86/kernel -I ./arch/x86/kernel -DKBUILD_MODFILE=\"arch/x86/kernel/head64\" -DKBUILD_BASENAME=\"head64\" -DKBUILD_MODNAME=\"head64\" -D__KBUILD_MODNAME=kmod_head64 -c -Wp,-MMD,arch/x86/kernel/.head64.o.d -fcolor-diagnostics -o arch/x86/kernel/head64.o /home/arnd/arm-soc/arch/x86/kernel/head64.c
1.      <eof> parser at end of file
2.      Optimizer
 #0 0x0000ffff924f1b64 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/usr/lib/llvm-16/bin/../lib/libLLVM-16.so.1+0xfa1b64)
 #1 0x0000ffff924efe2c llvm::sys::RunSignalHandlers() (/usr/lib/llvm-16/bin/../lib/libLLVM-16.so.1+0xf9fe2c)
 #2 0x0000ffff924336c0 (/usr/lib/llvm-16/bin/../lib/libLLVM-16.so.1+0xee36c0)
 #3 0x0000ffff9be787ec (linux-vdso.so.1+0x7ec)
 #4 0x0000ffff9110a280 (/lib/aarch64-linux-gnu/libc.so.6+0x9a280)
 #5 0x0000ffff92f566c4 (/usr/lib/llvm-16/bin/../lib/libLLVM-16.so.1+0x1a066c4)
 #6 0x0000ffff92f5261c llvm::SCCPSolver::simplifyInstsInBlock(llvm::BasicBlock&, llvm::SmallPtrSetImpl<llvm::Value*>&, llvm::NoopStatistic&, llvm::NoopStatistic&) (/usr/lib/llvm-16/bin/../lib/libLLVM-16.so.1+0x1a0261c)
 #7 0x0000ffff93448480 (/usr/lib/llvm-16/bin/../lib/libLLVM-16.so.1+0x1ef8480)
 #8 0x0000ffff93447c20 llvm::IPSCCPPass::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/usr/lib/llvm-16/bin/../lib/libLLVM-16.so.1+0x1ef7c20)
 #9 0x0000ffff92654604 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module> >::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/usr/lib/llvm-16/bin/../lib/libLLVM-16.so.1+0x1104604)
#10 0x0000ffff99f3607c (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a6607c)
#11 0x0000ffff99f2f3c8 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> >) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a5f3c8)
#12 0x0000ffff9a20b528 (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1d3b528)
#13 0x0000ffff9909a7a4 clang::ParseAST(clang::Sema&, bool, bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0xbca7a4)
#14 0x0000ffff9ab2de48 clang::FrontendAction::Execute() (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x265de48)
#15 0x0000ffff9aac0b30 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x25f0b30)
#16 0x0000ffff9aba2c0c clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x26d2c0c)
#17 0x0000aaab1fa742cc cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/usr/bin/clang-16+0x142cc)
#18 0x0000aaab1fa71978 (/usr/bin/clang-16+0x11978)
#19 0x0000ffff9a7f3340 (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x2323340)
#20 0x0000ffff92433434 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/usr/lib/llvm-16/bin/../lib/libLLVM-16.so.1+0xee3434)
#21 0x0000ffff9a7f2980 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-16/bin/../lib/libclang-cpp.so.16+0x2322980)
#22 0x0000ffff9a7c43c4 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x22f43c4)
#23 0x0000ffff9a7c45cc clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*> >&, bool) const (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x22f45cc)
#24 0x0000ffff9a7db0a4 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*> >&) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x230b0a4)
#25 0x0000aaab1fa70fcc clang_main(int, char**) (/usr/bin/clang-16+0x10fcc)
#26 0x0000ffff91097780 (/lib/aarch64-linux-gnu/libc.so.6+0x27780)
#27 0x0000ffff91097858 __libc_start_main (/lib/aarch64-linux-gnu/libc.so.6+0x27858)
#28 0x0000aaab1fa6e470 _start (/usr/bin/clang-16+0xe470)
clang: error: clang frontend command failed with exit code 139 (use -v to see invocation)
Debian clang version 16.0.0 (++20230124111854+2a539ee17d8a-1~exp1~20230124232010.1062)
Target: x86_64-unknown-linux
Thread model: posix
InstalledDir: /usr/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/head64-3af2ae.c
clang: note: diagnostic msg: /tmp/head64-3af2ae.sh
clang: note: diagnostic msg: 
</pre>

[head64-3af2ae.c.gz](https://github.com/llvm/llvm-project/files/10530047/head64-3af2ae.c.gz)
[head64-3af2ae.sh.gz](https://github.com/llvm/llvm-project/files/10530049/head64-3af2ae.sh.gz)
[linux-config.gz](https://github.com/llvm/llvm-project/files/10530056/linux-config.gz)

I have not yet attempted to create a reduced test case, but can provide that.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzkWktv47qS_jXKhqAhUX4usnDs-Jzck-4EnZyTpVEiKZs3EqkhqTx6cX_7oPSwTefRne7MYIABGh2ZLNbj40dWiSI4pzZaytNodBaNlidQ-62xp2C1yE4yI55Pb7fKkS1UldRSkMetKiTJalUIpTekULp-IvfSalmQiDELWnCjc7WJGGvFHDGaAOEF6A1NxsRpqNzW-CidR_EyiufR6GwrQYyHNIWcgRzwweZ7NFpGbLr1vnIoyFYRW22U39bZgJsyYquieOj_0Mqaf0vuI7bKVSFdxFZJPErjeDiJ2OoV3Wz2hmW3_TTTsxemW-U72-3_6aKyMkrP25_Xl-fzm3Pi6qxUngDJ6g2xsjLWE2_Ih11SztWNTwS0IErzohaS-K0k3ILbkgz4vbfAZcQWpLKysoZL56QgztS2bcaR4JzhCrwUxNaaOG5V5Qetyzce-D0RdVntJjQeRPHs2pqNhZKA3dSl1B4dJxFb1c5GbJUpHbHVjhM0L4FbQysrc_VES6iidIkAmlJGbIVsbP6U1BmO4adLQnNtqPNWcU-hUOCQj00jN2VpNKG52xrr6SPfgm17ri_OCc1r3XBe0LbDeRGly42uk4RQ6sFupI_S5dN0vB4Pactwmivt5cYiBhQcoXfSWmOjdFnre20eNX0Eq5XeUFN5hcZ3AmqjjZWi6SjVd8Bu2qNyINcOpJ14YKF26KwpS9ACHZIH40tEwcn2oSyfdi2sfUqFNo_tIzxgIDxHhnjJ0VyULjMLmm9bfP5dlxX1kBXSEVqOh4TmUKiNpoUxSL1l0mqaxul00j7mFbXSU6Vp2-SQD7QZhQ5G6XKKrfeqohaeqJO-rggtfa0loi61tIq3qhCl70ZjLLw0QhZRuuy2FnqHQaEn3JQVWNn6C-5Z86012tSO1vpRabFzH_uFLKSXVNdFQSuDU2gp30p-7wi9YsiQxtsOD2ORT6ahkSmVp7mFUvYDCc29VQ8KCgq1N_QBLFVaYYQVeC-t7imJKnkBbnsANNoCrbz6jmHf81ztsM1r3Yg0-I4DXpsHafMC5-9AM_pP6B0UCEuthcwPyNINRMPGP1cIBELnrdpYqLaHzFVlVSiOYXYOUCF5ARaOCdzLqYCvVvraaopGCL1roSpw8Vjqt4DMYvFwSujd3g4Uhd9aU2-2bzdrQze6bh865me1R94g4gonN-jkRrug6yAICjnOuPPgZbfaHgpoh_d0QFIResfBHQDRBdWHKsBL6lV52KZ0w0SvsmJHEdojLp-8hWZ20MfA3woQqYZPd6YQ1PnnQlIhc-RSC3ypHG5mtNuwqVC2m8a-Jze2BE_Be6uy2sswJG-o1HVJMaZu-pGxhdkoDkWLGGhPTe2pyakFvZH7ddX62lAT9zqOGaFtfYlRx9Mj55QsRLM0FBTqu-ydbwYUqlTe_fz09p2HsL0z-drQB6PEO1CAEFY6h4FXwO-loKUss15vS-NOpmtqsXaS11b558PG9vkg0mbBWiX6ZXe0Y2F1ZEr1HRfKs2kik4Ji4RCly0HEVm1mxYydgVOY6XCI87bmfoDChGrjvFCaE3rxToIEy7cRWz1Nx1gGdImfXgze6MJyAnfiJsW_qzjUtf_1QV-wEIBK_aRLe-kfexZqfk9Z7_xP6WzKACxZTFmpQlr6IK1TRg-2v6jovi2Tf3l878i62XNQzXK9_uv829fzy_Wa0OVfi6uvq4s_1jfn58umXFp-m39d3tx--3tx-1r3xXvmgwnqU_IFeTF3fdfyr7O_Ly6X6y9Xy9XF5TkWc6NFxNgrwrsyuZXYjz2b35x_nX_ZD35d7MvV8j2p9fqF3H1pxLoVI5QTeldFbEG_fFlGbPG6g4NWemAGAgsoUxhLhYINrkXFHaGGvBfZwHwQ2_1I3lbUCVbUUbqQJo_Sc1KBddIS8ERqQUxOmi2kkWQoedWWmtK2bSRiaUzipziO4zzP8xkb5kk2HpLmrSGdR-ncPbv24doq7Zua_rZ9MZjuhSw8ro3zVkIZsTG-HCjtIzYjEZvuKvtCZf2LSDLeVfqDwb5LZZeX_3yhyXjgzCCJ2Fn8lAP6s3s3QoeT0GGZS8Zfc_hbrW_URkPxJ2hRSOsaZz7DpxmaDHxioU9pOubx7xuSEvUEhtJDQ5mcTCeSo6Fm8dMH4cx--ESGTg4PxyZJDGzaO9n6AMi4_s0Gi622h6PKcaNyhmMCpaMg8nw0HvPh70eeQIyKAkvjI0tsnBzO-81icX1jigdpOx40ZWT-fKGddxf6rDD8PiDtGSbSrrnh7IGuEori2tsb6S_KqojSxb7vHyhqGbE5vpofj_tqTHXjwStc_T_R-wlkTCBGIAKkJodIpcPhdDj9BDYmMkdFgaXpkaUJZ_FBxBfXOCvX4LolaWsdTMEXI-pCvgBqrqF4dsp9AQ0bnM_FiyEd-J8BoMzR6yCsWUC18Wg4jg_3RAzoHd8-HgvBeP7vIpTECMD-gIqlSZA1Znk6jif8w5baUx5eVY2tccfnMeoKjCWhMZanfNoeG7YRn5fKn2HJrsVV7avaR2x60L3cJ-RzvVG6h_NA5E8JQtobiRvgVXPc4kjzCvFSdGGE_EPqH0jdNodFPxC6BL15TeRgI_JW6c03mYfNPSvmRwo7EObtCQ5bkOYEC3tqrf6rluvKh1zBxF09WuXluk_fB4OEzKEu_Lo9LPnBwI7Fv0C412kwwlkOaBAkWWBxNmLTzzEmUtQVGAsS7SyewQSGh1BfY6U1v7kNqXYjS-gmMTOm2P_9HFQyjm4EfgZJHTIm5DBYGytrtN9zol0vT5LXXv5iPfSaY2w8QsOBZ0FlAMDjLI3DhdS-p1w0hw5cBr71FJ6-Hcqv7W6vej_K0bnA-3GIKzAe82DPaf3cB_FgOLz0-UWQuGY_C3OBTgVe95kfALIkh8mQcU44T9YlqDCxzK2FZ9xY0kVz2N3tP21ZsyBhG1uQB6PEK86Hx_XtakKjgVfTI6-S2WT6Qy0oFGgJkjJM8jQdfryqeRXIlKGuQ2MsPi7oh-lhBbCw4LbfJDcP0j4vkJZPfv_WAbksngO0-7OxtW0QRzBb12e_uGe-9q4wTIOtgSVHgLHZNFiAwqpdtbxYJIv2M8LxFvEqZXYpov02AWGJvM9afVI4SCrrNX96SpL2R3OYhRlEoVMNEwNhbFh7C8q7vvtIHRQFLjxj9_2tyfl-821Y25D5s_iCUAZYh7lpwocpH76JdbMnwIv9uJ-AYAM5GogCb5UT74jOg6T0qWCwHGMNwEiPwRhx_lEw_mUy9zYS_zLZpXL-raoJX9_-ab7bdK9vO7pUoJApzfHEz4PXc-p_EMNRuGeyMK9PRBbDm4RaHjwHeemVhPQW9v-bGH5S_ktjBCVAbXSUaeK8Z16fAXuvm51m_pMZDdUEdoLqIIlnk8mHj1IYjgmUTo6VTkdTsl7jsLXzYH0Tw4fNTEdBHmVH2Xgsh5OYtAZ-BASK7nT1E0-6D1_zFmiSd2Ua6b5LkxxUIQV5VH5L5JPCVSskSdIG99pJQh-IN8RJSdRBGdWZWcpMge50d2frJBkP4kGH-FnEzljM0jhhwyRJpqMhNsAonUmZTMQUaPIf-VQl_-mFML0n8SCJx2xn5bb7uD8n3df9_ut9e6reymytBEG6D9BzUhmnuq6mvCsKKZbKvrjOEKKlDb5Kzcn-mJiUrunpp-g3_h1cIOlujMxvb-eLP8ntn-dkdXV5eXV38fUPsrq4PL8ht1dN89nff5Bv59dX32539zSuX7vxMXW4VN689bETsJI0KVkKAvu7PD8TP1v5snp5Med3FbjtR6cgXURsdXj95v_1faTRWbu9dN-lPsnuaNx_szpQHN6BuiBbeJA4XeRZegLey7JCXnlDuJXgJQFipag5tkmsB8A1529Zjc-aVNY8qOZmE_jBiThNxSydwYk8TcaTURyP2DQ52Z5KnorpSEyzMZ-myWyYCwFpPI3ZSORyNstO1Gm3d8ySUTIcJgMxi4d5PEwnPEmGeRxHw1iWoIoBhjwwdnPS3LA6HcfpeHJSQCYL11-ks6cNLlm9cdEwLpTzbj_MK1_I0931p_Y2ltGk_7j3_jehk9oWp79-Gazx9r8DAAD__xKlXUo">