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

    <tr>
        <th>Summary</th>
        <td>
            clang/llvm 18.1.8 ( Arch Linux ) crash when compiling linux using march set to znver4
        </td>
    </tr>

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

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

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

<pre>
    I've been compiling Linux using clang/llvm for sometime ( 1-2 years ).

Since Arch Linux updated llvm to 18.1.8 recently ( 7th July 2024 ), clang/llvm crashes when using "march=znver4" when compiling Linux 6.9 and 6.10

> net/ipv6/ip6_input.c

from the Linux source tree

The error I'm seeing is ( from Linux 6.10, it's the same for Linux 6.9 )

```
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/14.1.1/../../../../include/c++/14.1.1/bits/stl_vector.h:1130: reference std::vector<llvm::SUnit>::operator[](size_type) [_Tp = llvm::SUnit, _Alloc = std::allocator<llvm::SUnit>]: Assertion '__n < this->size()' failed.
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 --target=x86_64-linux-gnu -fintegrated-as -Werror=unknown-warning-option -Werror=ignored-optimization-argument -Werror=option-ignored -Werror=unused-command-line-argument -fmacro-prefix-map=./= -std=gnu11 -fshort-wchar -funsigned-char -fno-common -fno-PIE -fno-strict-aliasing -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 -march=znver4 -mno-red-zone -mcmodel=kernel -Wno-sign-compare -fno-asynchronous-unwind-tables -mretpoline-external-thunk -mindirect-branch-cs-prefix -mfunction-return=thunk-extern -mharden-sls=all -fpatchable-function-entry=16,16 -fno-delete-null-pointer-checks -O2 -fstack-protector-strong -ftrivial-auto-var-init=zero -fno-stack-clash-protection -fzero-call-used-regs=used-gpr -pg -mfentry -falign-functions=16 -fstrict-flex-arrays=3 -fno-strict-overflow -fno-stack-check -Wall -Wundef -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Werror=strict-prototypes -Wno-format-security -Wno-trigraphs -Wno-frame-address -Wno-address-of-packed-member -Wmissing-declarations -Wmissing-prototypes -Wframe-larger-than=2048 -Wno-gnu -Wvla -Wno-pointer-sign -Wcast-function-type -Wimplicit-fallthrough -Werror=date-time -Werror=incompatible-pointer-types -Wenum-conversion -Wextra -Wunused -Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-format-overflow -Wno-format-overflow-non-kprintf -Wno-format-truncation-non-kprintf -Wno-override-init -Wno-pointer-to-enum-cast -Wno-tautological-constant-out-of-range-compare -Wno-unaligned-access -Wno-enum-compare-conditional -Wno-enum-enum-conversion -Wno-missing-field-initializers -Wno-type-limits -Wno-shift-negative-value -Wno-sign-compare -Wno-unused-parameter -g -gdwarf-5 -nostdinc -I./arch/x86/include -I./arch/x86/include/generated -I./include -I./arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h -D__KERNEL__ -DCC_USING_NOP_MCOUNT -DCC_USING_FENTRY -DKBUILD_MODFILE=\"net/ipv6/ipv6\" -DKBUILD_BASENAME=\"ip6_input\" -DKBUILD_MODNAME=\"ipv6\" -D__KBUILD_MODNAME=kmod_ipv6 -c -Wp,-MMD,net/ipv6/.ip6_input.o.d -fcolor-diagnostics -o net/ipv6/ip6_input.o net/ipv6/ip6_input.c
1. <eof> parser at end of file
2.      Code generation
3.      Running pass 'Function Pass Manager' on module 'net/ipv6/ip6_input.c'.
4. Running pass 'X86 DAG->DAG Instruction Selection' on function '@ip6_rcv_core'
 #0 0x00007f0db4b2e560 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/usr/lib/libLLVM.so.18.1+0x352e560)
 #1 0x00007f0db4b2bfaf llvm::sys::RunSignalHandlers() (/usr/lib/libLLVM.so.18.1+0x352bfaf)
 #2 0x00007f0db4a5a5ec (/usr/lib/libLLVM.so.18.1+0x345a5ec)
 #3 0x00007f0db1050ae0 (/usr/lib/libc.so.6+0x3cae0)
 #4 0x00007f0db10a8e44 (/usr/lib/libc.so.6+0x94e44)
 #5 0x00007f0db1050a30 raise (/usr/lib/libc.so.6+0x3ca30)
 #6 0x00007f0db10384c3 abort (/usr/lib/libc.so.6+0x244c3)
 #7 0x00007f0db12d2d60 std::chrono::_V2::system_clock::now() /usr/src/debug/gcc/gcc/libstdc++-v3/src/c++11/chrono.cc:52:5
 #8 0x00007f0db5520618 llvm::ScheduleDAGSDNodes::AddSchedEdges() (/usr/lib/libLLVM.so.18.1+0x3f20618)
 #9 0x00007f0db5514079 (/usr/lib/libLLVM.so.18.1+0x3f14079)
#10 0x00007f0db55db763 llvm::SelectionDAGISel::CodeGenAndEmitDAG() (/usr/lib/libLLVM.so.18.1+0x3fdb763)
#11 0x00007f0db55da6d7 llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) (/usr/lib/libLLVM.so.18.1+0x3fda6d7)
#12 0x00007f0db55d8422 llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) (/usr/lib/libLLVM.so.18.1+0x3fd8422)
#13 0x00007f0db815ea09 (/usr/lib/libLLVM.so.18.1+0x6b5ea09)
#14 0x00007f0db500e4c8 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (/usr/lib/libLLVM.so.18.1+0x3a0e4c8)
#15 0x00007f0db4cc8e57 llvm::FPPassManager::runOnFunction(llvm::Function&) (/usr/lib/libLLVM.so.18.1+0x36c8e57)
#16 0x00007f0db4cd07c4 llvm::FPPassManager::runOnModule(llvm::Module&) (/usr/lib/libLLVM.so.18.1+0x36d07c4)
#17 0x00007f0db4cc9c1c llvm::legacy::PassManagerImpl::run(llvm::Module&) (/usr/lib/libLLVM.so.18.1+0x36c9c1c)
#18 0x00007f0db9f2f21f 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/libclang-cpp.so.18.1+0x152f21f)
#19 0x00007f0dba2add95 clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) (/usr/lib/libclang-cpp.so.18.1+0x18add95)
#20 0x00007f0db8f89f23 clang::ParseAST(clang::Sema&, bool, bool) (/usr/lib/libclang-cpp.so.18.1+0x589f23)
#21 0x00007f0dbaa1a7c1 clang::FrontendAction::Execute() (/usr/lib/libclang-cpp.so.18.1+0x201a7c1)
#22 0x00007f0dba9bbad7 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/usr/lib/libclang-cpp.so.18.1+0x1fbbad7)
#23 0x00007f0dbaa6e11d clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/usr/lib/libclang-cpp.so.18.1+0x206e11d)
#24 0x0000555d9a2e6284 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/usr/bin/clang+0x13284)
#25 0x0000555d9a2ea5ba (/usr/bin/clang+0x175ba)
#26 0x00007f0dba6f7175 (/usr/lib/libclang-cpp.so.18.1+0x1cf7175)
#27 0x00007f0db4a5a326 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/usr/lib/libLLVM.so.18.1+0x345a326)
#28 0x00007f0dba6f9aa6 (/usr/lib/libclang-cpp.so.18.1+0x1cf9aa6)
#29 0x00007f0dba6b5529 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/usr/lib/libclang-cpp.so.18.1+0x1cb5529)
#30 0x00007f0dba6b591c clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const (/usr/lib/libclang-cpp.so.18.1+0x1cb591c)
#31 0x00007f0dba6d38c4 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) (/usr/lib/libclang-cpp.so.18.1+0x1cd38c4)
#32 0x0000555d9a2ecebd clang_main(int, char**, llvm::ToolContext const&) (/usr/bin/clang+0x19ebd)
#33 0x0000555d9a2ddfb5 main (/usr/bin/clang+0xafb5)
#34 0x00007f0db1039c88 (/usr/lib/libc.so.6+0x25c88)
#35 0x00007f0db1039d4c __libc_start_main (/usr/lib/libc.so.6+0x25d4c)
#36 0x0000555d9a2de015 _start (/usr/bin/clang+0xb015)
clang: error: clang frontend command failed with exit code 134 (use -v to see invocation)
clang version 18.1.8
Target: x86_64-unknown-linux-gnu
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/ip6_input-2028c7.c
clang: note: diagnostic msg: /tmp/ip6_input-2028c7.sh
clang: note: diagnostic msg: 

********************
make[4]: *** [scripts/Makefile.build:244: net/ipv6/ip6_input.o] Error 1
make[3]: *** [scripts/Makefile.build:485: net/ipv6] Error 2
make[3]: *** Waiting for unfinished jobs....
make[2]: *** [scripts/Makefile.build:485: net] Error 2
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [/home/user/path/to/linux/src/Makefile:1934: .] Error 2
make: *** [Makefile:240: __sub-make] Error 2
```

I've [attached](https://github.com/user-attachments/files/16233042/ip6_input-2028c7.zip) the two files ( ip6_input-2028c7.c and ip6_input-2028c7.sh in a zip file ) mentioned in error log. I've searched and replaced some paths and hostname in the files like

> /path/to/private/key

> /home/user/path/to/linux/src

> hostname

I've compiled Linux 6.10 with march set to x86-64-v4 successfully

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy8etFy46iz99NobihcEpJs-SIXjh3PZv_JJDXJ7HzflQujls0GgQ4gJ5mnPwWSbeEkk2T3nJNK2TI03b9umqZBTY3hGwlwFuXnUb74Qlu7VfrMcEmtMg9f1qp8PruMyGQHaA0gEVN1wwWXG3TFZfuEWuOemaByE5GlELsaVUojo2qwvAYUkQIlmKBnoNqgiExHUbyI4ln3ecclAzTTbLtn15TUQok8I6tQUoySUYE0MJBWPHt2E7tFf7biGZGYZI5lROYhAqap2YJBj1uQPcKIkJpqto3SxS-5A51FhHT9pxqNR1NEZYnGoyQeYo3SCyTBRmTJm93Yf41XXDatHbEhXaVVjewWenZGtZoBshpgSHW_BQRaK42cdWtkABwEbryKnsceThI7BbmNyMR4xobW4K18BOysMMQ6jvv_7idZtkZHZLnmMiLL0cgZiq_HWUSWG8YisnwqxqtxhhuGheOJN7KNyDLJRsko2Y84-eCSibaEiCxZRM79_3HAmlsTkaWxYrUDZpUebaN0liRpHKUzpKECDW7qjS2jdBals44qSuduArumux-S2yi96H6pBjR1JN5RI1IY_gtW9rmBiExRlJ-v7hsUpQt0yoDM0WomhGK-9yCQuib6psx84YDOjAFtuZIoIpPVSqIonSO75QZH6YUDEJHCO-AEVZQLKHvvvr26mN1dINOua24RRet2gzQ0Slvn1FtrG-PkkaWbAG637XrEVN27b_-FG63-BuYdzpgWnD29Y_aG967gPR2tKXuwmjJwyjYaGq0YGANl732u2Y2kxijG_QLTrUSGad7YHvKdpewBlW3dOGS-KR6hW602mtaI6k1bg7QONjpxJ7_0EMaW6g3YKF30znTwJIQrLi1stJOMqUH4p3f9KF208kGqR4kfqZZcbrBqvLWPBHwjlYbSd9T8F3XdeI9mQNcNxD15IKE1UGKm6prK0oGCwfiqpkwr3Gio-BOuaROlC-fczlWw95XFRrZJgnBltkpb_Mi2VCNctdIHzhL3v6XyIhx293x7edE9GKs5s5gKTn0cwrVrNNA91PXToYV0T2kp1WP3SHdPCFescp5ggTkFo3Sx1lSybcf977ZusKVrAQbhepwhXFHBNxILpZyLLZKOUxGnxaR7rBqswWIucddk3LxjP8qZJEoXhWt94A3W9AkbsG2DcBg7O05uWn4p6VRhtSpBROniAbQEgfBPp5MD4qIr1dDBpeZZsq1WUrUGt_KRy_KIXoNtlJ8eeLKgJRXYblv5gHDNZck1MIs73TEz_YwhXFet9JZxWrXaGciP6pkgXG-pLkFiI5w9qBAIVw21bOvk4sNokFY_O4ONIzJPxh3eEgRYwLIVAjfK-bDGbAvswSB8Q5xPeOP106O0m23lJrmymu84FZi2VuEd1Zj7uLL4BVrtHcMNZYKa7WB-Ea4cCWZUCOwdV8PGAffPm0Yj3Dgnqjzew3Tv1fBTPvbAvNtVAp4w1Zo-u540cEm1A10J52sDOE45hH96M_1sZQnVcC3WjeCM26PVSmCCanq6Zvd0PFii3QRhF7IHrT0aZwLlukznPJXSNbXYAGs1t89do9V8o2mz3dNoWgOmZanB9E39D6wq3FD2ACWuoV6DRvhnzY1bgUPMZtAcAOg4CxfQNLZb6tyKxFnRCfEh7edO0O7n3jOcvyP8k1EzsFCv7dF0VAi71ardbAdGcEkP9vnSwIrSrx3LnZ_uZewBgmxrzJRbjaY3_pPV1E-ac5UOWR_71q0zpHV-yJ3XB51MSXPa1Rv_6CGvNGKpJH5oNJe2CgisbiXr4vQLEjdY8xL8cgitZxXulKKm77Fu8Qi14YyKDiaVFqvWutnVVG7gGF06hfxicFsMYweP6C3l6RyXkjtoVAx6XxrThebeLyoOovR4ORX8F-ier5sJLHjNbd9gtryyWMKGWr4DvKOihdcC4cD2DXV-Zp17bhDelI9UVzhHWCpjSy4ZwpduM_Kx1-dox7TrN10upwAJfrftyT40qKUN_yDbkPpVFr8btYcT0vl8weUTPiEHjfv5GG3fG_HAlKz45n3CPWufNxpHv1it_nPx_dvF1WqF8GI-X_24u_z2dfXt5nZ1Pb_58e1-2Lq8-Hb__f8jvPjP-Y_Lq8Xq-maxvLy6iNJFlM8jQk6OB7tx13wccD67u_g2uz6OOJwhTimvbxYnhANuq9ULqodalStHhDBD-GcTkTm-vl5EZB6AGh0PLWpUuuxCCaVxyenGOR1nBmH11jHnzY7-_JOMXH4MqnJHpYZqAxpRi0CWSFWo4qI_AZER8n9zVQLqvcPlNr4z7Tu_t9JlhKihxp2JJss-oqJb13BNJd2Adom3kqhWZSvcWXPyJkAy6fPcbPSC9f8rxmgx--py-sXsK7qUxuq2E3YHok-8Okn7uO6GRVnsJGi2WzGlwbV4CSgiaYzipziO40kVl-tsTSAfx4OTiXk23cOtC44-9b7v8vfiSKTp40oZq4HWERn7M6C0_rDjDh19Ci74uvu8uvrremTUyJ2YI3IeP6W5l3o4GTpYyQmsdUWr12B9b-Ud30gq_qCyFKBNd875uGTHOJBMAsk0pzmwj7LLPHXALh2yS-I8phC_zo45XuOOEaMQ2iML2dACsuxdNtMMsixgk79Ak8ZIU27gI5jSENM4ZJYWGUsRXbuz43vMSJaxNGA2CZiRkpTj-HgG7nLx7nn1Fzk4gYV6xYRiD12LVI-H-e-lG80isixh3W4Odwjdp-BrY8v-SgDv0gNx35Qk7tkLHjEWpbPcyc2PkIsh5Dwn8Tgphod6tgW32hezr3eLb6qE3mVnZem7LsoNfNJdKy8jsNs0BJFk8eTj7Dz18UaGpEkcsivXk3E61GkfZRazr5d37iDlWl14_ApyJsuLmtvF7OsntfJSAhjJCQw6LifvwuhaZ0KcU8PZuXMLE8SpQ2T2OZoPVZ8A6TAEIMkJyCIj5F2QupU38pqyLZewxxOAfNH3OZQORIAyCEBFkgONP8puvPbUAbsgEOVxDBkbOv0JercFDvR-VeF_pin1kgNoQXDLGCsgHzrN8tah2e_H_yugxl5mAGocgirjCcs-AOraJwqhY_RNnwLk5QWAJidWmrKEDQAJ2FD23O_5R2iXdXN04H8Py0sNYAXBdFqRiiRVf1fuxbjIcu4OyrK8aa3LQ0kx6F4c88ILueES-kRkQPIH0BL0Hbgjw03TnaqPgSAg7QPaO1T3_hrxHaIrKjevkQzihNVcbr5DFTbv7To7YdgbYda753DIpbS6NXwH36GaS3trwyvjXdWvxSUXcOc3zyi9cCwO-2wr-X-1sGpORroEr3nU3MJqn-YNBpVQ0VbYVXcJ9c7A9KKX-VKluZKmrV2uPHvTl_wozJomcKgk9_4SOFSwMVJCy3Ka_05o5yM-i7zXVBrhU_3uYn7oabO7-7mSFp5-u4G8gbPwMIY4SbDjFlUxrUg6xHnrjiezu_sQxR3UtPektVLi-P0pPLmXFsAJdl5KEzphyRDOUjvlD_7Xrc0nYK2F3-36r8snsecfAAh2VTpdr2k5CddmdzK-9NcsDAII-1VRvI3485NWeQwByDS00hiSpAyiVQfniHWnupumENoLXT7t-ST2sgNw-y06z_NySgmMSZEhxpJVTXkYu2da02cXedK5fzvQB6jZfokGbWSOdoqXr2AcvF3pLJaSIth0SH4CieZr-nsWk3xNAxbBRkrH1SSZ5J-aRuaHBDwnp2c9J-ZonrmmZvsdmNqBft4v-sOxk1YgngNz7s_cK-1N6qyF-vduzqAf3h4zDyRAWpxoP6V0_Ent3ZCAZxghx-4IMx06can5bh8YO0-lL9b8vHtbFbr1yUBH8Nb2-BvSWRDfpl3z53T2Kg11Dq87nM7ThH1W5z_V2ryt8J9qfcWNfWuzr6kQf_l3MF1KNT9sow3lbtf1Vycft1G_n_57S03DhCy8gaHjMi1Y9haqxeA5CH2vxLy3LPx_aKnPhX_mVQ9sQ07CGYN1H_73MXaPbUu7dGYWKnevlOgDypuH0RchcQrrINAf7pZ6GGVZrXPkAPyWD63WQRQ8vVtKp6wo3r_ByVkRHL9O75bSaZkxtFq5YStjqbarF9BeZ1xmoSeOT9SEOMlRx_K3iq7j5Kjo3ktQ_9Zq1s0XqvrsAPXv3fvyCPTI7RbBE3fzUwJKUn_d1hpAeIesQgYA8cG2PhSD9u9nuqKgvo6mLzqYob7qYF9RcKxj6ettNNAS9e-pZ6hRhj91XT5NEALKBdcvyhtCLaVymfgMHe_LUW18z96u_-J_UL_T14_M7u9n8z_Q_R8XaHlzdXXz8_LbV7S8vLq4Q_c3vvn8x1f0_eL25vv9oWrj9rX6j8K4dfBmDciBQAPyZTFQImoPLD-iP1nauhleumMSk4JN9i8H_hUPs_3sRPwPTUdNHyDKz7O-HujQi6L8vDOdicjymj5AxQWM1i0XLpqSLPMo33iPEuULdOGLv5JATPpJMVmRn4g5MCbvMP5JueVuoSqNWllxyc0WSvS3WpvRaDQKRpN_DusNPC85fgZP8hqeiCy3qvYvIY077C4barfOo9Tg_V93E70HHKWzZJr6mRq9jvRUyGAkyXwp22pl2jXugJ1wOC3C64JNV0sZ5efUWsq2UHbVbL-pCXP64I66K8EiS4fBfSdjl3xl5LU184s3bknbLSD7qPzrt6648OUK7crKXi46xCWi6Bdv_Gjk2DkEXEkoXV9XwCjUZoR6vYy_B3LRQ5ZIQyMo81GoBuTmw_j2rTJW0tpFeg-vgyb4A5zWW55MY6P5jroT8fIBnl-h_ZgDnIzbo3lllvrXxeWgFLPbwXw5FDLgy_meijEeZ3iXIdP6woOqFaKH96U8S8tpOqVf4CyZkCROi8k4-7I9i1mRlxXJ4mJK03JCcqjKcUazvCymUOXsCz8jMcniSZIncTIl2ajK8jyb5NP1NM0zUqRRFkNNuRi5_Gek9OaLLxM8mxZFEX8RdA3C-LJeQvrN2626L_rMFxeu242JslhwY82Rg-VWwFlQS9tX4DrHGdTp-nzY1x6e1NCKQVVwYKWucuxLq8XZP69_7HTbnZH_DgAA__9k27aU">