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

    <tr>
        <th>Summary</th>
        <td>
            Crash with -flto when using msan target
        </td>
    </tr>

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

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

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

<pre>
    Build cmd:
> virglrenderer-0.8.2-r164: x86_64-cros-linux-gnu-clang  -o src/libvirglrenderer.so.1.7.5 src/libvirglrenderer.so.1.7.5.p/virglrenderer.c.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -shared -fPIC -Wl,--start-group -Wl,-soname,libvirglrenderer.so.1 -lstdc++ -fsanitize=memory,fuzzer-no-link -fsanitize-memory-track-origins -Os -pipe -march=x86-64 -msse3 -g -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -ffunction-sections -fdata-sections -fsanitize=fuzzer-no-link -fsanitize=memory -fsanitize-memory-track-origins -flto -Wl,-O2 -Wl,--as-needed -Xcompiler -fsanitize=memory,fuzzer-no-link -Wl,--allow-shlib-undefined -Wl,--gc-sections -Wl,--icf=all -fsanitize=memory src/gallium/libgallium.a src/mesa/libmesa.a src/libvirgl.a -lm -pthread /build/betty/usr/lib64/libepoxy.so /build/betty/usr/lib64/libdrm.so /build/betty/usr/lib64/libpercetto.so /build/betty/usr/lib/../lib64/libgbm.so /build/betty/usr/lib64/libvulkan.so -Wl,--end-group

```
virglrenderer-0.8.2-r164: Stack dump:
virglrenderer-0.8.2-r164: 0.    Program arguments: /usr/bin/ld.lld --pack-dyn-relocs=relr -z now -z relro --no-rosegment --hash-style=gnu -z nostart-stop-gc --sysroot=/build/betty --build-id --eh-frame-hdr -m elf_x86_64 -shared -o src/libvirglrenderer.so.1.7.5 /build/betty/usr/lib/../lib64/crti.o /usr/lib64/clang/15.0.0/lib/linux/clang_rt.crtbegin-x86_64.o -L/build/betty/usr/lib64 -L/usr/bin/../lib64/gcc/x86_64-cros-linux-gnu/10.2.0 -L/usr/bin/../lib64/gcc/x86_64-cros-linux-gnu/10.2.0/../../../../x86_64-cros-linux-gnu/lib/../lib64 -L/build/betty/lib/../lib64 -L/build/betty/usr/lib/../lib64 -L/usr/bin/../lib64/gcc/x86_64-cros-linux-gnu/10.2.0/../../../../x86_64-cros-linux-gnu/lib -L/build/betty/lib -L/build/betty/usr/lib -plugin /usr/bin/../lib64/LLVMgold.so -plugin-opt=mcpu=x86-64 -plugin-opt=O2 -plugin-opt=-function-sections -plugin-opt=-data-sections -plugin-opt=new-pass-manager src/libvirglrenderer.so.1.7.5.p/virglrenderer.c.o --as-needed -O1 --start-group -soname libvirglrenderer.so.1 -lc++ -O2 --as-needed --allow-shlib-undefined --gc-sections --icf=all src/gallium/libgallium.a src/mesa/libmesa.a src/libvirgl.a -lm /build/betty/usr/lib64/libepoxy.so /build/betty/usr/lib64/libdrm.so /build/betty/usr/lib64/libpercetto.so /build/betty/usr/lib/../lib64/libgbm.so /build/betty/usr/lib64/libvulkan.so --end-group /usr/lib64/clang/15.0.0/lib/linux/libclang_rt.builtins-x86_64.a -l:libunwind.a -lpthread -lc /usr/lib64/clang/15.0.0/lib/linux/libclang_rt.builtins-x86_64.a -l:libunwind.a /usr/lib64/clang/15.0.0/lib/linux/clang_rt.crtend-x86_64.o /build/betty/usr/lib/../lib64/crtn.o
virglrenderer-0.8.2-r164: 1.    Running pass 'Function Pass Manager' on module 'ld-temp.o'.
virglrenderer-0.8.2-r164: 2.    Running pass 'Live DEBUG_VALUE analysis' on function '@vrend_renderer_blit'

virglrenderer-0.8.2-r164:  #0 0x000055f4eec394a3 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/usr/bin/ld.lld+0x20ec4a3)
virglrenderer-0.8.2-r164:  #1 0x000055f4eec39904 (/usr/bin/ld.lld+0x20ec904)
virglrenderer-0.8.2-r164:  #2 0x00007eff64b868c0 __restore_rt (/lib64/libc.so.6+0x3d8c0)
virglrenderer-0.8.2-r164:  #3 0x000055f4ee746a65 (/usr/bin/ld.lld+0x1bf9a65)
virglrenderer-0.8.2-r164:  #4 0x000055f4ef84764f (/usr/bin/ld.lld+0x2cfa64f)
virglrenderer-0.8.2-r164:  #5 0x000055f4ef84734c LiveDebugValues::InstrRefBasedLDV::depthFirstVLocAndEmit(unsigned int, llvm::DenseMap<llvm::LexicalScope const*, llvm::DILocation const*, llvm::DenseMapInfo<llvm::LexicalScope const*, void>, llvm::detail::DenseMapPair<llvm::LexicalScope const*, llvm::DILocation const*> > const&, llvm::DenseMap<llvm::LexicalScope const*, llvm::SmallSet<llvm::DebugVariable, 4u, std::__1::less<llvm::DebugVariable> >, llvm::DenseMapInfo<llvm::LexicalScope const*, void>, llvm::detail::DenseMapPair<llvm::LexicalScope const*, llvm::SmallSet<llvm::DebugVariable, 4u, std::__1::less<llvm::DebugVariable> > > > const&, llvm::DenseMap<llvm::LexicalScope const*, llvm::SmallPtrSet<llvm::MachineBasicBlock*, 4u>, llvm::DenseMapInfo<llvm::LexicalScope const*, void>, llvm::detail::DenseMapPair<llvm::LexicalScope const*, llvm::SmallPtrSet<llvm::MachineBasicBlock*, 4u> > >&, llvm::SmallVector<llvm::SmallVector<std::__1::pair<llvm::DebugVariable, LiveDebugValues::DbgValue>, 8u>, 8u>&, std::__1::unique_ptr<std::__1::unique_ptr<LiveDebugValues::ValueIDNum [], std::__1::default_delete<LiveDebugValues::ValueIDNum []> > [], std::__1::default_delete<std::__1::unique_ptr<LiveDebugValues::ValueIDNum [], std::__1::default_delete<LiveDebugValues::ValueIDNum []> > []> >&, std::__1::unique_ptr<std::__1::unique_ptr<LiveDebugValues::ValueIDNum [], std::__1::default_delete<LiveDebugValues::ValueIDNum []> > [], std::__1::default_delete<std::__1::unique_ptr<LiveDebugValues::ValueIDNum [], std::__1::default_delete<LiveDebugValues::ValueIDNum []> > []> >&, llvm::SmallVectorImpl<LiveDebugValues::VLocTracker>&, llvm::MachineFunction&, llvm::DenseMap<llvm::DebugVariable, unsigned int, llvm::DenseMapInfo<llvm::DebugVariable, void>, llvm::detail::DenseMapPair<llvm::DebugVariable, unsigned int> >&, llvm::TargetPassConfig const&) (/usr/bin/ld.lld+0x2cfa34c)
virglrenderer-0.8.2-r164:  #6 0x000055f4ef848201 LiveDebugValues::InstrRefBasedLDV::ExtendRanges(llvm::MachineFunction&, llvm::MachineDominatorTree*, llvm::TargetPassConfig*, unsigned int, unsigned int) (/usr/bin/ld.lld+0x2cfb201)
virglrenderer-0.8.2-r164:  #7 0x000055f4ef697cab llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (/usr/bin/ld.lld+0x2b4acab)
virglrenderer-0.8.2-r164:  #8 0x000055f4ee717c47 llvm::FPPassManager::runOnFunction(llvm::Function&) (/usr/bin/ld.lld+0x1bcac47)
virglrenderer-0.8.2-r164:  #9 0x000055f4ee717a7f llvm::FPPassManager::runOnModule(llvm::Module&) (/usr/bin/ld.lld+0x1bcaa7f)
virglrenderer-0.8.2-r164: #10 0x000055f4ee717668 llvm::legacy::PassManagerImpl::run(llvm::Module&) (/usr/bin/ld.lld+0x1bca668)
virglrenderer-0.8.2-r164: #11 0x000055f4ef61d560 (/usr/bin/ld.lld+0x2ad0560)
virglrenderer-0.8.2-r164: #12 0x000055f4ef61c8ba llvm::lto::backend(llvm::lto::Config const&, std::__1::function<llvm::Expected<std::__1::unique_ptr<llvm::CachedFileStream, std::__1::default_delete<llvm::CachedFileStream> > > (unsigned int)>, unsigned int, llvm::Module&, llvm::ModuleSummaryIndex&) (/usr/bin/ld.lld+0x2acf8ba)
virglrenderer-0.8.2-r164: #13 0x000055f4ef610cf2 llvm::lto::LTO::runRegularLTO(std::__1::function<llvm::Expected<std::__1::unique_ptr<llvm::CachedFileStream, std::__1::default_delete<llvm::CachedFileStream> > > (unsigned int)>) (/usr/bin/ld.lld+0x2ac3cf2)
virglrenderer-0.8.2-r164: #14 0x000055f4ef610308 llvm::lto::LTO::run(std::__1::function<llvm::Expected<std::__1::unique_ptr<llvm::CachedFileStream, std::__1::default_delete<llvm::CachedFileStream> > > (unsigned int)>, std::__1::function<llvm::Expected<std::__1::function<llvm::Expected<std::__1::unique_ptr<llvm::CachedFileStream, std::__1::default_delete<llvm::CachedFileStream> > > (unsigned int)> > (unsigned int, llvm::StringRef)>) (/usr/bin/ld.lld+0x2ac3308)
virglrenderer-0.8.2-r164: #15 0x000055f4eed935b5 lld::elf::BitcodeCompiler::compile() (/usr/bin/ld.lld+0x22465b5)
virglrenderer-0.8.2-r164: #16 0x000055f4eed05731 lld::elf::LinkerDriver::link(llvm::opt::InputArgList&) (/usr/bin/ld.lld+0x21b8731)
virglrenderer-0.8.2-r164: #17 0x000055f4eecf8b6a lld::elf::LinkerDriver::linkerMain(llvm::ArrayRef<char const*>) (/usr/bin/ld.lld+0x21abb6a)
virglrenderer-0.8.2-r164: #18 0x000055f4eecf7296 lld::elf::link(llvm::ArrayRef<char const*>, llvm::raw_ostream&, llvm::raw_ostream&, bool, bool) (/usr/bin/ld.lld+0x21aa296)
virglrenderer-0.8.2-r164: #19 0x000055f4eebe2ec5 (/usr/bin/ld.lld+0x2095ec5)
virglrenderer-0.8.2-r164: #20 0x000055f4eebe2720 main (/usr/bin/ld.lld+0x2095720)
virglrenderer-0.8.2-r164: #21 0x00007eff64b72246 __libc_start_call_main (/lib64/libc.so.6+0x29246)
virglrenderer-0.8.2-r164: #22 0x00007eff64b72302 __libc_start_main@GLIBC_2.2.5 (/lib64/libc.so.6+0x29302)
virglrenderer-0.8.2-r164: #23 0x000055f4eebd6c61 _start (/usr/bin/ld.lld+0x2089c61)
virglrenderer-0.8.2-r164: clang-15: error: unable to execute command: Segmentation fault (core dumped)
virglrenderer-0.8.2-r164: clang-15: error: linker command failed due to signal (use -v to see invocation)
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJztWt1zozgS_2ucFwqKL2P84IckTrZS5dykJrO5e3MJIbBuBOIkkdjz118LsAOYBDKbvdvdu6mMDVKr-9cf6m6BIx4fVlclZbGBs3jmXc7s9cy-nHk3xjMVKRMkj4kgwrSt0HJN4QQ-EBn7MNgGvokFlyajebk307w0MUN5ahgmN6TAM_eW0ajDxJLccqyFNR-btwqY7U5hixvm39nMvTZNJM2ckJjEp5GcmyUQJjR_HfziGKbcIaFHkoe76xOxVEgoMxW8LI5jkucoI3A1CMkwmVQxIL6CP2AmUU4V_UFm3jojGRcHWJiUP36AmQAI2ON7i8isSUwlEP5uckFTmkvD_AL_C1oQw8yQwDtgBTY1Ax_upSSeYabAA7iRPSaFolyvSSo1X2gemwpFjDRDSB5yvBM856U8m0_KHOvlpiT4yCZGCrXvW_q8qcZJ13HVEqZOvvriDnntH5hnBWVETDTmkQNj_AV8Ck46d7eZ4pZOzRjFCfCFdYOa1FGYwjQtszoemxsLNZMZkaie0Ven4WOYwIDJMvCk2gmCYgOmIr2Z9DdRCnS5LaWoF8DOqb5JwfcHiKtJxLHIppIWRGCY42P08GlZ3aVpNFnKc8m-o1xTH20MO6XeTE3qqD8Du_mrbt_LJY8KoseIy6w4pZ_3yG1rZi8fBE8Fygwk0jIjuZJ65gQ3orkGG1sM0pppFjo640NuCsI4BtI1XEDo_TBy_qK_9C3oo-MNEhpJNUe43SG5g2RxYDpkIL_VK-rsIRUvIOKASh6k4FwBSd98MFndm1SjIDszAcjE3MUgOzMIS7Z1Gn1NU-OJ8yOOxUJRixtnXqzSNHw7c8u27NPaKo8fp7dCWbA-IrClzRqmTsCb90OkJmg7oQMoxVq5wdqh4diWa9mfwOK4pvfx1qK-5Ya1nEY17Iv_ik5vqjGCHJIZK8Hr_e3UgbzZPN2nHHaYzgM1vckLvQkyXJStYtaZ08WgM2AOVKcuQa9UdSZz8gJ7W0qooDlKoZj8ZFfRrky6aeg2CHVrYLzVGJy6Aq1cm9Nb1apbp1oV6tOq0f9UEXotPx9OdHB3ynVapILu5ZjrtCWhpgBJ3VBVA8cqD17_vYX9lqStLXJK2R9xAqzNLT5egh1dgr-WeU6h3dc7EKQsbputbDzogft6S8K4AUMZj0tGNBVUQ0WyAqS4C2tckjskaUOfibG-ufr1l-3T5ebXGwNksYOkspF2TCqadubbz5r39ihgGzGq9ESrWXkPATDxbMPe2_BvPk98QrC39JFnMPac6YbFu4QOoL54EDRXVTvzDTpiOE6Er0QCvWyhd4D4gb0dQONkAO3MXQL_cDbUuEBSsfeuTTAIA7ppSJ0-0qXtj0sAoskS3EbCgiRJ4EdhEGLb2IJ5oSMSBCKwEdfarVjnyqCS5sVAPlmW19Fm4QcomL-vjRMlSyCaLMFvS0hCfxH4yYi9cIKAaLKEeV-C52NDR_CaRGX6hFhJmui5yyE8vpLkCkkSb9ZP9WgMp7_dLRVSPW04vszjm0zHb1jmkqa6oFRhdN0KxzXJJblH0E1fvw5uyJ5ixB4xhyMnhtIDiy576-5AAKo2zhsEDeO7POHTmD9zGs-8my6bmChEWZflA6LiM_B6N4b-39wHn2OYxwzK8CNRnXWN-wTVB21N75f6U6q4nt9unfoCjuHynZU14j-0of8D-hu_o-celOiDv0d4B90Y7DSKr-BM-L1ZCTr8GXzxUY2MU5QFA9yeoBnlXSDd8XOfFn3kZ9EwmOHWUX3bWCcsuxfBcACVOf1XSbaFGsbSmR4UW13frf9WQms8v5rN18NyoENHJVPbmDCiyHRmR_t-hPUfXo1OwPzfJ38INcY38V1WsDe5Q7XUbel36MoHuDQJ5NjFT0vBZ9t-vCs5y6NnPH4-f74P5w3zfUMiJUofWq55ntC0VYLGmnNoBaGbm9wKBr1WMHRt5yOt4M1eH-2-wkEP6NpnizHfNfNrntEcQZh8E4ScVZa-HRqCvke79-MWikDJyRZadCwULBcYRW_HqMZaT4gy_5K_qt8yTccmY2gjH4HAyWjD7vHEWWB_0UJ7-6ABHg_Cn4jTiTACUZNxLvs40SKZgPO-OrR3A60ZmoYRxEzCqM-tdh9jEIQtjIykCB_q6xbaOt81iH8DUhA2GanTjVEnngf2SFyh2AaiyRLcngQcRqhtC8Xri0gn8zzu6H2aPEtmQ3Xp-KSkk0Vv9gUUExKPl8TXNdewM0l8Sxl5bB5xTCqD7zBonwv6p91lUx7erjYt958PP5ZZhsThDhywn5QXEE7ABZP95_X8Z-PEHfLf5tuXU_B-JWnJkNBDbvgXc9S4eT2w0GTz-n3zenY4Zt6_nlE_Zzv_iU0wPNNpjJWgeQpt1AcCEWJpciB2Hu2ReOnNo7mhmVXSCUvqiyuqMI_JdfOTh3qw-QFEhWcMlusHwHkyrKALy54vPGcA1obmcBRYC-g_G0z6txadYlK9Zqv70aJUlyLd0ImdsROFIHUy5EX3sTVk2wBNhkzEPaLd6n8pBDpox3vXeIdE-_ngBOwoAvGTsYc97At3GQxgPzPuuxjbYXz-5uC9uYhz9vo9risCuJN17XaSEXEJHnkg79rLORBNleDafQkLGMpQ9Tp6RAxQThbjdN9iLPQeM7Zb_bJiW7393WI4VG9bgoffZ7hLWDhZqtuX6tluV6oWOPPtXzZ3V9db13Kt-Yh44DBZfPd1ShQHOHCMWvCYdcMl0E4SVL2INJ25viZC6AeIl9Co6RO5obhB9gSXSj_dhB4s15vEeKx_cFM_ya_qg0aDuSDVj4KgDv203Do9HIUBc0i5MXCtoOiygVhVQiQxzOdqjBCoI8_Ne4WT4NOvmS7IygkCD4LN8-YX8cqDrL9EF4oqRlbXAsmd8ULVrvkN3MuO5EYp9bvLTKLcUNUR-6IUbLVTqqgOr-4t_KWwpowswKkNr3d3_WUWgv8TajHcUin14wH3dr5Y-v7FbhWg-RKhxF1gJ4TT0jzwvHAJvaYN03jheBcMRYTJVf3w6IKuXNuFbaIzluvqt8jJ0pkvk9D2YttJEgxhRyD8mKUFW1ykF2JVYYjKVMIkg9wvXyfhEKbLLjnyR6XacbH6sQM3HOgLoRcV4lUF998BQQC3">