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

    <tr>
        <th>Summary</th>
        <td>
            clang crashed when build pdclib for taget bpf
        </td>
    </tr>

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

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

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

<pre>
    /usr/bin/clang-21 -I/root/pdclib/build/configured_include -I/root/pdclib/include -I/root/pdclib/platform/bpf/include -target bpf -mllvm -bpf-stack-size=1024 -Os -mcpu=v4 -D__BPF__ -g -std=c11 -D_PDCLIB_STATIC_DEFINE -Wall -Wextra -pedantic -Wno-unused-parameter -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Wmissing-declarations -Wredundant-decls -Winline -Wno-long-long -Wuninitialized -fno-builtin -fvisibility=hidden -D_STDC_PREDEF_H -nostdlib -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes -Wdeclaration-after-statement -MD -MT CMakeFiles/pdclibs.dir/functions/_PDCLIB/_PDCLIB_print.c.o -MF CMakeFiles/pdclibs.dir/functions/_PDCLIB/_PDCLIB_print.c.o.d -o CMakeFiles/pdclibs.dir/functions/_PDCLIB/_PDCLIB_print.c.o -c /root/pdclib/functions/_PDCLIB/_PDCLIB_print.c
fatal error: error in backend: Cannot select: 0x5617016191f0: i32,ch = vaarg 0x56170145efb0, 0x561701619500, SrcValue:ch<0x561701567120>, TargetConstant:i32<4>, functions/_PDCLIB/_PDCLIB_print.c:81:21
  0x561701619500: i64 = add nuw 0x561701619b90, Constant:i64<64>, functions/_PDCLIB/_PDCLIB_print.c:81:21
 0x561701619b90: i64,ch = CopyFromReg 0x56170145efb0, Register:i64 %93, functions/_PDCLIB/_PDCLIB_print.c:81:21
      0x5617016199d0: i64 = Register %93
    0x5617016198f0: i64 = Constant<64>
  0x561701618e00: i32 = TargetConstant<4>
In function: _PDCLIB_print
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-21 -I/root/pdclib/build/configured_include -I/root/pdclib/include -I/root/pdclib/platform/bpf/include -target bpf -mllvm -bpf-stack-size=1024 -Os -mcpu=v4 -D__BPF__ -g -std=c11 -D_PDCLIB_STATIC_DEFINE -Wall -Wextra -pedantic -Wno-unused-parameter -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Wmissing-declarations -Wredundant-decls -Winline -Wno-long-long -Wuninitialized -fno-builtin -fvisibility=hidden -D_STDC_PREDEF_H -nostdlib -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes -Wdeclaration-after-statement -MD -MT CMakeFiles/pdclibs.dir/functions/_PDCLIB/_PDCLIB_print.c.o -MF CMakeFiles/pdclibs.dir/functions/_PDCLIB/_PDCLIB_print.c.o.d -o CMakeFiles/pdclibs.dir/functions/_PDCLIB/_PDCLIB_print.c.o -c /root/pdclib/functions/_PDCLIB/_PDCLIB_print.c
1.      <eof> parser at end of file
2.      Code generation
3.      Running pass 'Function Pass Manager' on module '/root/pdclib/functions/_PDCLIB/_PDCLIB_print.c'.
4. Running pass 'BPF DAG->DAG Pattern Instruction Selection' on function '@_PDCLIB_print'
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
0  libLLVM.so.21.0 0x00007f83834dc21a llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 58
1  libLLVM.so.21.0      0x00007f83834d9db4 llvm::sys::RunSignalHandlers() + 84
2  libLLVM.so.21.0      0x00007f8383419c3e
3  libLLVM.so.21.0 0x00007f8383419bff
4  libLLVM.so.21.0      0x00007f83834d684b llvm::sys::Process::Exit(int, bool) + 43
5  clang-21 0x00005616d8c8d3da
6  libLLVM.so.21.0      0x00007f838342b56d llvm::report_fatal_error(llvm::Twine const&, bool) + 269
7  libLLVM.so.21.0 0x00007f8383df9427
8  libLLVM.so.21.0      0x00007f8383df8a18 llvm::SelectionDAGISel::SelectCodeCommon(llvm::SDNode*, unsigned char const*, unsigned int) + 16952
9  libLLVM.so.21.0      0x00007f8385ea887c
10 libLLVM.so.21.0      0x00007f8383defabc llvm::SelectionDAGISel::DoInstructionSelection() + 380
11 libLLVM.so.21.0 0x00007f8383def1fc llvm::SelectionDAGISel::CodeGenAndEmitDAG() + 1452
12 libLLVM.so.21.0      0x00007f8383dee985 llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) + 5781
13 libLLVM.so.21.0      0x00007f8383dec9e9 llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) + 361
14 libLLVM.so.21.0      0x00007f8383deadbd llvm::SelectionDAGISelLegacy::runOnMachineFunction(llvm::MachineFunction&) + 173
15 libLLVM.so.21.0      0x00007f83838f70e5 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) + 757
16 libLLVM.so.21.0      0x00007f838363d09e llvm::FPPassManager::runOnFunction(llvm::Function&) + 638
17 libLLVM.so.21.0 0x00007f8383642e8c llvm::FPPassManager::runOnModule(llvm::Module&) + 44
18 libLLVM.so.21.0      0x00007f838363d830 llvm::legacy::PassManagerImpl::run(llvm::Module&) + 1168
19 libclang-cpp.so.21.0 0x00007f8389e45ea0 clang::emitBackendOutput(clang::CompilerInstance&, clang::CodeGenOptions&, 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*) + 7696
20 libclang-cpp.so.21.0 0x00007f838a142dce clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) + 1854
21 libclang-cpp.so.21.0 0x00007f8388cd5339 clang::ParseAST(clang::Sema&, bool, bool) + 633
22 libclang-cpp.so.21.0 0x00007f838a92348f clang::FrontendAction::Execute() + 47
23 libclang-cpp.so.21.0 0x00007f838a897804 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 948
24 libclang-cpp.so.21.0 0x00007f838a9a8dde clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 702
25 clang-21 0x00005616d8c8cf7f cc1_main(llvm::ArrayRef<char const*>, char const*, void*) + 5967
26 clang-21             0x00005616d8c89d65
27 libclang-cpp.so.21.0 0x00007f838a57129d
28 libLLVM.so.21.0 0x00007f8383419be0 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) + 144
29 libclang-cpp.so.21.0 0x00007f838a570d21 clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const + 369
30 libclang-cpp.so.21.0 0x00007f838a536b92 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const + 498
31 libclang-cpp.so.21.0 0x00007f838a536d5e clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const + 142
32 libclang-cpp.so.21.0 0x00007f838a55235d clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) + 365
33 clang-21             0x00005616d8c89837 clang_main(int, char**, llvm::ToolContext const&) + 6503
34 clang-21             0x00005616d8c9756a main + 106
35 libc.so.6            0x00007f837ea60ca8
36 libc.so.6 0x00007f837ea60d65 __libc_start_main + 133
37 clang-21 0x00005616d8c87a01 _start + 33
clang-21: error: clang frontend command failed with exit code 70 (use -v to see invocation)
Debian clang version 21.0.0 (++20250322080030+20b5728b7b1c-1~exp1)
Target: bpf
Thread model: posix
InstalledDir: /usr/lib/llvm-21/bin
clang-21: note: diagnostic msg:
********************

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

********************
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzsWsly4ziTfhr6gqCDBLgefKC1VPkPu-2w9bdj5qIAiaSEKQrgAKDK7sM8-wRASqK8SV3dM6d2VFTRYAL55YIvE0RRrflKAFx58bUXTy9oZ9ZSXVVr2anXi1Ky1ysPzzutPDwvufDwvGqoWPk4RP6Nh-dKSuPhecuqhpdWpuMNs1JS1HzVKWBLLqqmY_Cx_Jcv24aaWqqNXbetx9KGqhUYVLY18jdNs90gv2xrXxta_fA1_wM8Mg0DHCH_XiN_U7WdR6bbCPnT5fL6Yb5cIn-FfG2YR6ZVGNrxh-nk9uZ6-bQoFjeT5XQ2v_lthvxn2jTIf4YXoyjyW2BUGF4h_1lIvxOdBua3VNENGFDIf9ZryuRP5D-3kgsDyqeKmzXynyuqjU8bvhLIf_6puAFfG8XFSiP_ecO15mLlM6gaqqjhUthhBawTVqF7YUe4aLiAXnsjxcr9hfznTnDBDacN_wMY8mshfRsIwwXy6y3XvOQNN68ema45YyCsvU-L6WT58DibzubL78gXUhvW8HIEp1XSSPPaglUtQBtgPrwYUA6dhV-ZY6GRAT6trf3aUAMbEAb5d1Pk3y3Q5I7-gDlvQO9DrS8ZtwlWd6Jyxnt4PsTj8LRsFRfmsrqUyL-b_w3LXDLky78FToU-SN6zZntBUVNDGwRKSeWRon9AXKCSVj9AMDs2oUJIgzQ0UBk7ELzESZgGYRLmYR3YEU6whyfVGnlkiraUqtVeKIqhLgMPT8bT4sCNPKnqd9p04JGiWntkspOIkzTEgUdmVmjhNttECm2osPqtMjKJhtfnGUqKLPRIgUMvKNBbJNaAJHLYKWNIdD_HEmXusI4BJJFHJslfQPBm-R7AwYMT2b7Oldw8wkd-fIQV1wZUjwR5OM7Jr3rC_ozA5OzIGztNg45-wkg8q4_EDy4anHPs6wyCXbI48beBnQxzbsTeFCt-ZIAXFA-3s-JphnRXbrhBFJXdCilopTLISLQ2ptUeKTw89_B8xc26Ky8raUncEvXwj-WN_7LZjOdc687tPkQFQzuKN2tAlaJ67TaCUbQC6-JWQatkBVoDQ1p2qh-2M6nWsuLUAEOqE0hXirfm0guKJ1sVEOs2rYUVFMFl7_YHJVeKbhBVq85SlEWN_ql2_1S7f6rd_1m1C4e955EJyNojM9RSpUEhahAIhmSNat6AFxR4kJxIBmgFAnpPe0FBhjePnRBcrFBLtUYeTucDBvRgB-6ooCtQHk6RFGgjWdeAlfpl8Di1ZBJdvtN7_TBH0-Kb75HZtPiGHqixWYNuhDaq6xE9udJt4fdwdhodoCg4ZlicHpEW-snNWnYG6ddNKRsk6Aas3gyE7hSgV9mhNd0CcrzaC_E_wDURr7JT6KFYfEdSIQ3G0SqILVdSuDzdUoW8JLi9_f1u-fQfd9f3tzf_OXtc2ileElg-d3vbPnDj4XxgUIQaXtpJl1pe4vAyQMFLEARBWmckIxGrcEgdHitPCv2q-4cHa6AzbdEzenYQUvTnUmqjgG48nFhWd87IkYevUZzZ5HmvdqifY905K6OPdD924omvBG2-U8EaUNrD2W75LLIZd87yYV4Rm57khAvCvKxrmy9nYU6yqPzYX67W9b_MXmwIMueVCSqlbHbwI9saxAjtq1W_epyECcuqjBFGvaBIzoGCyzhhIyh9YV-6LnXZd6njoC1-WoqubAsxBG2MCye5FxTp165idR65lM_OwMfqjIbZCN9-Z02LbzdP0IxHLXVM5GZjt90I89P0N8nAw4WF2wl3AGaoWlO1M-T4zSgNwySPsRcU-WmoMdAsSx3nBWfYBTUtq5N2TeWIVUaksk9kkgVWY_i1x6EO69PKrPu-gSgEm224mRbfRnrCyPkhxOeYBnkWnxmyommuqebVdSOrH_oobHt6P2TbwA1pZnvpkJyDpcohP4lFdeJe3NFqzQXs1B5hefduD4YkDkt0DhbKSvYFlltY0er1LyMKU8sOYXwaUVanAYwj9WZRW1dHcD7E8QGANLa7O0xOA0gIC3IYAZg_WJ27Uv7nVSfE1Y30y-2QRBiy6gytd66JOHb7MLTXGNlKYhnqDFszEoy0NqNwj_TfbNpDVn6tOwwTZ25utfe1oGrbj2zOIYqBBn3B6FeDDTfX_TeH-860nS01o9cTuWl5A-rGHRYrGNj-SMLRxX07tFLu_Si73QHgEerj4Z0RxZvVBijFENHxlBthVKf5Fh6hngjzYJRHJofX23pIUtvnPr1qA5vhO4E7Adk3neD_3cGyfTPTdiCtO64sd33IaJKl6K4xSwYNGDgxkcwGne9NsuftbmM702K_Q5I8sQ1IcDJwNIwwq-CrZd1g3-MsFBW6cX3zvwV_E9HiaTGRwsDLmEvDLHatUHgSSVaxmJB8jOTBtvLF0-JYzxNs6FFvcNwjJMTSE8anTc8xibJ6rHCurAH7LBm6JKg6A6NaFVn6weS0gixPsyBCX2X9WMUuN7PPER0cm0d2a-LoDDNpxthRhAd9BzBbWdH3ut9v0UOCBbZa4_izDrGq0xpVVbjcUH5MMoVS9NXuWjI57pCG9H7bNW0lZyPFcZ447ycHzeOfYxQ5S2IrnJ52UpyGOGdW-D3Vvu3DYcyyE0X1-hEquQX1usv__fmA1tC8Htm_O6ktlfOBNQ_1ueU8sOuG3KY5zbs0TgOGw3FwmeLb3a6dTELbr1LB3ubyhwHZU5N0nEubI1I6EO6ejPYTlsvq5SUM-19K23At-w80Q5iPhO3A0ijKjd69frMcbRqbkVKN3luR4rDZXUa4RBnaJHsyIGcQXkySMsefeszlPH23_XduPNogbyZagaOjy3mixZuDzsGoKLd7nJzmTmsUi-HPGvUvWerPLfqXLG-5NkcWjbJhQ5vmd6iMHDqKQ_a0lNvADefKc50whPgTV4SRJRxyBqvHMSYx-0ztdPR8RIMf8N9nLvx_dMXuDGBpjJCzOC8jaS-3496dcrcNi2ETjU7cUjYDb707CSVxYIspic7QnKdxQpHV2QcssB0IcaeEygYqeT_TBiwFmgQVdYmejITfSLAkRsulfb3UhiqzPChy9X5n9PtSlNIgRP2k3plWfCe7vyGzD24Q1UPFRdUQlpryBpj7aobghVsvMUBpYGm704D8LTISaQDER4XU0tEUSk7FsO4WlLanTZuwl0HP-dcevsYBjgOCcZAFAQncQBmnOCvTMqz88H_gpQ375frrFYu0bGv7-1oBZWgjmTtnolZq_uKuW7ShTQNsytXRFUT_ddJ91sPhcCVx7AshbSdaIMbpSkhteIU2etV_pNslzy_9CYrDRU-xWBST72jxfYbm97e39883v31D85vb2RNa3Lvh639_Q4-zh_vHRa_64aNbmkzbNP30pmYvoAC5agIMUdOvd5bJ1m9m0779cuvTICNZ6b4-_x3r6PWficFfC8MFuyIsJzm9gKswjVIckCQnF-urjJE0zDJSRjmkJc3LGEeQUobTmsU4jC_4lcvTOIyCBIeEXOYESEpCynDMsigrvSiADeXNpU2vS6lWF-4e7iokeRYHFw0todHuf4Vg3PMgxl48vVBXLh_LbqW9KGi4NvqwhOGmgat-_7jLO7sP1yCQuyhD_Qd3VEuFDB1utC461Vz9-p3hAHd7hf83AAD__5COkmI">