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

    <tr>
        <th>Summary</th>
        <td>
            clang -Os crash at llvm/lib/Transforms/Vectorize/VPlanValue.h:188: llvm::Value* llvm::VPValue::getLiveInIRValue(): Assertion `!getDef() && "VPValue is not a live-in; it is defined by a VPDef inside a VPlan"' failed.
        </td>
    </tr>

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

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

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

<pre>
    Hi, this crash may be related to [issue 55334](https://github.com/llvm/llvm-project/issues/55334), but I guess they are not the same.

Please consider the following code:
```
#include <stdint.h>
uint8_t a[8];
int64_t b;
static uint32_t *c, *d;
const uint32_t *e(uint32_t *, int8_t, uint16_t);
int8_t f() {
  uint32_t *g[] = {&c, &c};
  for (b = 6; b >= 3; b--) {
    uint32_t h = e(0, b, h);
    d = e(*c, b, h);
  }
}
const uint32_t *e(uint32_t *i, int8_t, uint16_t) {
  a[3]--;
  return i;
}
void j() { f(); }
```
To reproduce in my machine:
```
$clang -w -Os -c small.c
clang: /home/tuhaoxin/compilers/llvm-project/llvm/lib/Transforms/Vectorize/VPlanValue.h:188: llvm::Value* llvm::VPValue::getLiveInIRValue(): Assertion `!getDef() && "VPValue is not a live-in; it is defined by a VPDef inside a VPlan"' failed.
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0.      Program arguments: clang -w -Os -c small.c
1.      <eof> parser at end of file
2.      Optimizer
 #0 0x000055b300d3a464 PrintStackTraceSignalHandler(void*) Signals.cpp:0:0
 #1 0x000055b300d381ec llvm::sys::CleanupOnSignal(unsigned long) (/home/tuhaoxin/compilers/llvm-project/build/bin/clang-14+0x3cd61ec)
 #2 0x000055b300c676a8 CrashRecoverySignalHandler(int) CrashRecoveryContext.cpp:0:0
 #3 0x00007f317b3743c0 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x143c0)
 #4 0x00007f317ae1103b raise /build/glibc-sMfBJT/glibc-2.31/signal/../sysdeps/unix/sysv/linux/raise.c:51:1
 #5 0x00007f317adf0859 abort /build/glibc-sMfBJT/glibc-2.31/stdlib/abort.c:81:7
 #6 0x00007f317adf0729 get_sysdep_segment_value /build/glibc-sMfBJT/glibc-2.31/intl/loadmsgcat.c:509:8
 #7 0x00007f317adf0729 _nl_load_domain /build/glibc-sMfBJT/glibc-2.31/intl/loadmsgcat.c:970:34
 #8 0x00007f317ae02006 (/lib/x86_64-linux-gnu/libc.so.6+0x34006)
 #9 0x000055b300f88ddf llvm::VPTransformState::get(llvm::VPValue*, unsigned int) (/home/tuhaoxin/compilers/llvm-project/build/bin/clang-14+0x3f26ddf)
#10 0x000055b300f92f13 llvm::InnerLoopVectorizer::clearReductionWrapFlags(llvm::RecurrenceDescriptor const&, llvm::VPTransformState&) (.part.0) LoopVectorize.cpp:0:0
#11 0x000055b300fb3807 llvm::InnerLoopVectorizer::fixReduction(llvm::VPReductionPHIRecipe*, llvm::VPTransformState&) (/home/tuhaoxin/compilers/llvm-project/build/bin/clang-14+0x3f51807)
#12 0x000055b300fb497b llvm::InnerLoopVectorizer::fixCrossIterationPHIs(llvm::VPTransformState&) (/home/tuhaoxin/compilers/llvm-project/build/bin/clang-14+0x3f5297b)
#13 0x000055b300fb4aa7 llvm::InnerLoopVectorizer::fixVectorizedLoop(llvm::VPTransformState&, llvm::VPlan&) (/home/tuhaoxin/compilers/llvm-project/build/bin/clang-14+0x3f52aa7)
#14 0x000055b300fb55a6 llvm::LoopVectorizationPlanner::executePlan(llvm::ElementCount, unsigned int, llvm::VPlan&, llvm::InnerLoopVectorizer&, llvm::DominatorTree*) (/home/tuhaoxin/compilers/llvm-project/build/bin/clang-14+0x3f535a6)
#15 0x000055b300fc42e6 llvm::LoopVectorizePass::processLoop(llvm::Loop*) (/home/tuhaoxin/compilers/llvm-project/build/bin/clang-14+0x3f622e6)
#16 0x000055b300fc4c30 llvm::LoopVectorizePass::runImpl(llvm::Function&, llvm::ScalarEvolution&, llvm::LoopInfo&, llvm::TargetTransformInfo&, llvm::DominatorTree&, llvm::BlockFrequencyInfo&, llvm::TargetLibraryInfo*, llvm::DemandedBits&, llvm::AAResults&, llvm::AssumptionCache&, std::function<llvm::LoopAccessInfo const& (llvm::Loop&)>&, llvm::OptimizationRemarkEmitter&, llvm::ProfileSummaryInfo*) (/home/tuhaoxin/compilers/llvm-project/build/bin/clang-14+0x3f62c30)
#17 0x000055b300fc54f7 llvm::LoopVectorizePass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/home/tuhaoxin/compilers/llvm-project/build/bin/clang-14+0x3f634f7)
#18 0x000055b301ff4866 llvm::detail::PassModel<llvm::Function, llvm::LoopVectorizePass, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/home/tuhaoxin/compilers/llvm-project/build/bin/clang-14+0x4f92866)
#19 0x000055b3003e53fa llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/home/tuhaoxin/compilers/llvm-project/build/bin/clang-14+0x33833fa)
#20 0x000055b2fe5fa9e6 llvm::detail::PassModel<llvm::Function, llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/home/tuhaoxin/compilers/llvm-project/build/bin/clang-14+0x15989e6)
#21 0x000055b3003e3f36 llvm::ModuleToFunctionPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/home/tuhaoxin/compilers/llvm-project/build/bin/clang-14+0x3381f36)
#22 0x000055b2fe5fb3e6 llvm::detail::PassModel<llvm::Module, llvm::ModuleToFunctionPassAdaptor, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/home/tuhaoxin/compilers/llvm-project/build/bin/clang-14+0x15993e6)
#23 0x000055b3003e1e8f llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/home/tuhaoxin/compilers/llvm-project/build/bin/clang-14+0x337fe8f)
#24 0x000055b3010f30cf (anonymous namespace)::EmitAssemblyHelper::RunOptimizationPipeline(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>>&) (.constprop.0) BackendUtil.cpp:0:0
#25 0x000055b3010f5498 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>>) (/home/tuhaoxin/compilers/llvm-project/build/bin/clang-14+0x4093498)
#26 0x000055b301f8d4eb clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) (/home/tuhaoxin/compilers/llvm-project/build/bin/clang-14+0x4f2b4eb)
#27 0x000055b302d0a4f9 clang::ParseAST(clang::Sema&, bool, bool) (/home/tuhaoxin/compilers/llvm-project/build/bin/clang-14+0x5ca84f9)
#28 0x000055b301f8bf78 clang::CodeGenAction::ExecuteAction() (/home/tuhaoxin/compilers/llvm-project/build/bin/clang-14+0x4f29f78)
#29 0x000055b30185c7e9 clang::FrontendAction::Execute() (/home/tuhaoxin/compilers/llvm-project/build/bin/clang-14+0x47fa7e9)
#30 0x000055b3017e6f2e clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/home/tuhaoxin/compilers/llvm-project/build/bin/clang-14+0x4784f2e)
#31 0x000055b3019348b3 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/home/tuhaoxin/compilers/llvm-project/build/bin/clang-14+0x48d28b3)
#32 0x000055b2fe2d9971 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/home/tuhaoxin/compilers/llvm-project/build/bin/clang-14+0x1277971)
#33 0x000055b2fe2d5cb8 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&) driver.cpp:0:0
#34 0x000055b30165b949 void llvm::function_ref<void ()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const::'lambda'()>(long) Job.cpp:0:0
#35 0x000055b300c6782c llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/home/tuhaoxin/compilers/llvm-project/build/bin/clang-14+0x3c0582c)
#36 0x000055b30165c05f clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const (.part.0) Job.cpp:0:0
#37 0x000055b301626fbb clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&) const (/home/tuhaoxin/compilers/llvm-project/build/bin/clang-14+0x45c4fbb)
#38 0x000055b301627ac9 clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) const (/home/tuhaoxin/compilers/llvm-project/build/bin/clang-14+0x45c5ac9)
#39 0x000055b301631a99 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) (/home/tuhaoxin/compilers/llvm-project/build/bin/clang-14+0x45cfa99)
#40 0x000055b2fe2295ca main (/home/tuhaoxin/compilers/llvm-project/build/bin/clang-14+0x11c75ca)
#41 0x00007f317adf20b3 __libc_start_main /build/glibc-sMfBJT/glibc-2.31/csu/../csu/libc-start.c:342:3
#42 0x000055b2fe2d582e _start (/home/tuhaoxin/compilers/llvm-project/build/bin/clang-14+0x127382e)
clang-14: error: clang frontend command failed with exit code 134 (use -v to see invocation)
clang version 15.0.0 (https://github.com/llvm/llvm-project.git d2be4f95494e642b72852cc33e69a47016fe4a23)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/tuhaoxin/compilers/llvm-project/build/bin
********************
```

Reproduce in Goldbolt: https://godbolt.org/z/Gb6Yfj73P

Thanks!
Haoxin

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzlW9ty2zgS_Rr5BWUVCfD64AdFtieeylRcsSdb-6QCQVDihCK1AOnY8_XbDVAUQcuOs7GnZicpWSJx7XP6wgaIZE3-cPa-nNElaTelJkJxvSFb_kAySZSseCtz0jZkFr4rte4kCUPGgll4PqPJpm13esYWM3oJn3XZbrpsLpot3FTV3f7ndKeaP6Ro4daMoOHCDkJTnDbrWnJF1lChQQT5QLiSpG5avCGab-V85p3PvIX9vq4k15KIptZlLpVpVDRV1Xwt6zUU5xIFsh0ir__YW8rKWlRdLsmMLXWbl3U738zYha3u4DZZtYQD0gTxsXe2AsqjACqyoUS3vC0FwR6MQs2MLgQigd98aIQStk4bCZSN77GLnRSvsMaP8DodT40iFdARisks7suJM-4aJAaBAdW5aUKjXhr4jQ84CPCkoDTJTMsIKgheXuAdM3enp5NpRhNtTC_E4Bmt4ddmLCy2zodGe06OtUOprEr2F98mq3ySrbG8qDwGXACQw3RKtp2qSTkUDdPeNWVO_jiwu2cayTgI6ZrRbQMDgknnnZAgENk-gLeITVk_Y3iBqDhY5-lXcvpRk1NB9JZX1Vz04LESOgPMy02zBeSXbbfhzX1ZwyX4066spNKP3WnvZCWQfHmreK1Bw1ts-BkaNKr8E8f6fA3jf-ZVJ9HaF36S4FymLwjMFqYKGB4XXdtCc7OW7YfyTl7VV5_6ppaiBVloLVVbNjVBrNSHludyMFYawQd-aD8ageiCbs1JBcOdAjhguWyxOJcF8JeTDJyffL6GQYBZ9G9zC-LDKDMak4IDE3kfD64_XCxuLojusm2Jo2bdGjXTqBbjlRuboE7PEd-8UWu4J7zOyT4aYAixYS_j4kuruJBoYjujZgFhCSTTTadsMfbkWjeiNKFRdTXRQpW7thfrpoVBSN5td4M9eFCVXqtmrfgWotu628q6ReHIs3bhYzcIVbIpwEvJjiugm_CWSBChKUgBZNiWFFt-3LXlFlSueruHeOcR796Df2GYMc_LGQ-igFwr8B0j5S1CvSnXNa_eAywwMtAd-oQJTimxVXoudojFM3_D2P5k7MSXYmRC-kHbiyUE7LrbfaztaOjWoNo1qrtqwO6NqSTfa_pZV1Y5_tqGSOOpD0-Ud949E3kEsqCNDsJSR1gRxRFPyBJ1_kmK5k6qhykNwBGK5rRZNnUr79vjfLB-irhgfpyxOGDCI6uVkho8Ua5U28O03nqfRKsoOK3Kurs_Xdedrdi1GyV5PtfN3DNYfBzFQRKMp-HS9z2WEcVLeCaOaFnDYOJU_1a8-_V2uKVz5sON7vVwOZ_j3YPO5Q4Z7ury3hbcGWlAMvg1Q4NFskXoY_Q4SBI6kuSFl4Qp4VljkL5Mkja3bJheZpIEJ4kPk0TTSWJQCsSZlZV7peUanWl1ZyLMC-cF3SL-quH5Vq8Ft1OH6GyL5DB3fGzuVV2tsOMqb7Ycwv8PTZnGaESQCQ1zJq56Pep50QsMR6DJRNb8A-jimEzqGH-RJHleOMF-eHRAVGgPUR-mffxIsGnL4MK9m7yyBxc0AhkHEBht3FBWpLTw2QjEVV1L9aFpdsOTT9kKAeFHfZLwtMYH1b8U311WfK0dbODfnVKyFvJc2lgOiZJJScxDbPkcWdjA4J9DfG7RbVPiyPE4WiAcN3oWGUu8-CVwivJ-ADPRz1B-_f4KEJW7vbJeIv2rai_0AY2jPTqBG6Rx9kK4S9VofdVKxXtseoL7r4FEQWIHEptC4vylGhyKcmzwbTiuCk069EYgAYMDMpiADEMejYQZ47PqgQHrPVJ5D37VSivwCONFJTFmL5uubh8Hk-Ngl9-gdtrmvNmWNYfaWyVln868Ol0M2HDoCl26REDlU3TJa0gibXGfZT6yBVvwJqJHFCRzRI-mogvIHr8pOmS_V9td5YgNiUQfniY6uRG84urirqm6o_U4x1VdNI8qbiFnlu3gGEfbTBQ-qX1XNeLLpZL_6SDKPzwzyYcyU1z1LSbR81xuIT2U-bsSkvdp9wU8RXRXHavRGhYDiHgJ68S9bJD79PFgTxdbulQsBFoFSjI8i8gR-zBqhEX8dNp-OWDc8hNIrr5cwDqpPeIrsDLBpcRNt92Oob-F1YFROVYXT6wuDIr4RVb3MotbQKL7oEv9G6_5GsPS8kinnrs3gMsAjQM3GcP1iyJIonF8yGULC9xeKYD2tyaX1XGhHzmOS9NEvxIWjncyt3RI_b-RhJ__G_YDyBCBXId9Nw9mMmQFH9OEjD8n6j-fNcYSBqSMWaOjxJsWMix4Kl_DZt-M7Z_e9P0wTVL36U79iemzgo2VCErrKnnb7EVD5Sxyjuug48Bth--C3Xd5O8v1AZMDmk4sN2Pfabl7lMsXUvVapneg6inD-9vxD0aXsonRsYnR-TIpXhABjrH-D2OLsbgAMhy2nKWW7xXMEwVOy-umftg2nSY130q9M7vTqZUSMzrchN9m1cN7We32K69PXT1O_67LnazwBQVN9u8a4POOiy-yzhdDuB1S0q4uIVFe7VqXE8W_rnZfVdnKlW6V5FunUy4LDvnvCpxI4ibSsx37UB29ZNrbpqk-du2uay9LaxcvmXPS6zCh3awxGTXoamd3bHoufm_L6uh-DQ0n2gmDNCEjMlET_SB2Vpfr85Kv60a3pdAX9dqowmAfNXkveS7VjeRKbD6a5YJ29qBGTZcQqX6R9Tda2QXNNxp9gKtjTUartlaV9foTvtd5HAf7NdLfy6pePZf0Ugbqdrw1cjP5JA9kdoSGJVDabfduad8umHVsZRzz97qcGMri5rZ_y_BGaTHNQFIHirMGo7nHIXceQ7nG904glyvoDSwpe1vJwNUOv68tcih4AhI5Ik_WUUlWxMkRB-mN0Dqo3Yza22XyJtymIIcjqLPk8JNQxNLh9lKhsgd3GUv6NjLGBQcRxjK6Lwn9WEYFlS6ZdqYriA68FvI4n0-DehM7jsEmqHRwODmuDy6bZMwJ0VbiA5y7RvDH0j-C-xZ7IUGSUxDPkd9NV2meprFPhPBX-J7JyWcWSvEHjMhsKTZ8eFWx6Jc_bhkUjF7pvnLWR-MYpHRgsAmMUGQJ2XO_9G9NkBiBucFX3nb3wmwlHsNkLChX5Z1URx_PzE2eojBLg9TAHj2x9httK2WYM7X7swx94ihAFDwDsCpwO25kFHbu3kCWPtgIbgVO_fWohtwduQZfvY4LD4_XYfk6PPxWK3F_7_v2JuO6FPikK1EoQ5LTGAtWreK4OdlXT4YDcGjxuKYb6rHJ4hC8jY1Y6k2XGY0rvs1yCPXxgStA2r-5_7XJjivE3QkXUZzQ8emAY6_Vh9T1hheyenD4fF53b3CEwAtBYMeuo4mJQZOC_NQmMnnr-aQtxC5zNCqy7EnmjL74o6fhnk4nVE86YoOn8txnmi76-DJges04H4oA0DqGlEzoiLlIv5cO4Fo_zQXUfigByxMJ_aOAO6h_x0vUfP8e7qX0jddWb0RiCBw5JLqJVcR8nj5J4vno2kkCjjz9nyL_LyXx1ekrgJ0xfYG7qUtpClk26c-zvGqC4IsYhnbm3udp-2M11IM8bbXCUywQuyCcrL7nYI3QeATGHGWyl7YtjmOO2LCA4vdh-mmaBYFeEjvx62dHLBklqUMlWxCplNlb7U8AFn3KDPZg7cKedCRfy3ZD5H3ZmpPNxIdEBw_QaUlO7_CUo5Z4BvWQyI5nImBsGg9n-uHcm3vkuw9sz6EByWkmYfkVBmkgo4BmMU1CKgRjMkp5EIPvFTLg9JDK2m0HhNYfVerqL3XztR4dWbLtzFE3srW7rguya3R5b6tM6l0B_vPScPQjOun1_gOfo0d6zfen8TngX5oqz5rKIJ_w3JiK_ujpn_D3Sxb9u_gjZtfj0W43vP4CaPojdu8tUHN9kp-xPGUpP2nLtpJn_bHRj_vj-rwle_39bGeBTzpVnf3If0QIQ3qyOQsSv_AyL6V5nqeU5onMYK3uxTKhLPUielLxTFb6zB61PynPqEephwed0iBkwTyIU7gJWJCmuWC5mAWehDBWDYeOT9SZkQFPIkNlBc_nw4nkE67NERi5H5937aZRZ9bY2-7EyHtmhP0vgscr_Q">