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

    <tr>
        <th>Summary</th>
        <td>
            Clang crash: Assertion `!verifyFunction(*L->getHeader()->getParent(), &dbgs())' failed.
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

    <tr>
      <th>Reporter</th>
      <td>
          shao-hua-li
      </td>
    </tr>
</table>

<pre>
    For the following code, clang at -O3 fails on the assertion trunk. `opt-bisect-limit` to `LoopVectorizePass`.
I think the first few lines of messages are crucial **"Instruction does not dominate all uses!"**

Compiler explorer: https://godbolt.org/z/T86G397nM

```console
% cat a.c
int a;
char b, c;
static int d = -720791665;
int g(int h) {
  int e = h;
  char *f = &b;
  do
    f++;
  while (e /= 10);
  a = f - &b;
  return a;
}
void j() {
  int i;
  for (; i < 6; i++)
 d = 0;
  for (; c; c = g(d - 3574175626) + c)
    ;
}
int main() {}
%
% clang-tk -O3 a.c
Instruction does not dominate all uses!
  %f.0.i = phi ptr [ @b, %for.inc3 ]
  %3 = getelementptr inbounds i8, ptr %f.0.i, i64 1
Instruction does not dominate all uses!
 %f.0.i = phi ptr [ @b, %for.inc3 ]
  %9 = getelementptr inbounds i8, ptr %f.0.i, i64 1
clang-17: /zdata/shaoli/compilers/ccbuilder-repos/llvm-project/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:10572: bool llvm::LoopVectorizePass::processLoop(llvm::Loop*): Assertion `!verifyFunction(*L->getHeader()->getParent(), &dbgs())' 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: /zdata/shaoli/compilers/ccbuilder-compilers/clang-assertion/bin/clang-17 -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -dumpdir a- -disable-free -clear-ast-before-backend -main-file-name reduced.c -mrelocation-model pic -pic-level 2 -pic-is-pie -mframe-pointer=none -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -fcoverage-compilation-dir=/zdata/shaoli/realsmith/work70/work/wrong -resource-dir /zdata/shaoli/compilers/ccbuilder-compilers/clang-assertion/lib/clang/17 -internal-isystem /zdata/shaoli/compilers/ccbuilder-compilers/clang-assertion/lib/clang/17/include -internal-isystem /usr/local/include -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/11/../../../../x86_64-linux-gnu/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -O3 -fdebug-compilation-dir=/zdata/shaoli/realsmith/work70/work/wrong -ferror-limit 19 -fgnuc-version=4.2.1 -fcolor-diagnostics -vectorize-loops -vectorize-slp -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /tmp/reduced-dceabd.o -x c reduced.c
1.      <eof> parser at end of file
2.      Optimizer
 #0 0x000055c9bd30327f llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/zdata/shaoli/compilers/ccbuilder-compilers/clang-assertion/bin/clang-17+0x3b4627f)
 #1 0x000055c9bd3009d4 SignalHandler(int) Signals.cpp:0:0
 #2 0x00007f6683ea4420 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x14420)
 #3 0x00007f66838f500b raise (/lib/x86_64-linux-gnu/libc.so.6+0x4300b)
 #4 0x00007f66838d4859 abort (/lib/x86_64-linux-gnu/libc.so.6+0x22859)
 #5 0x00007f66838d4729 (/lib/x86_64-linux-gnu/libc.so.6+0x22729)
 #6 0x00007f66838e5fd6 (/lib/x86_64-linux-gnu/libc.so.6+0x33fd6)
 #7 0x000055c9be9e651d llvm::LoopVectorizePass::processLoop(llvm::Loop*) (/zdata/shaoli/compilers/ccbuilder-compilers/clang-assertion/bin/clang-17+0x522951d)
 #8 0x000055c9be9e680d llvm::LoopVectorizePass::runImpl(llvm::Function&, llvm::ScalarEvolution&, llvm::LoopInfo&, llvm::TargetTransformInfo&, llvm::DominatorTree&, llvm::BlockFrequencyInfo*, llvm::TargetLibraryInfo*, llvm::DemandedBits&, llvm::AssumptionCache&, llvm::LoopAccessInfoManager&, llvm::OptimizationRemarkEmitter&, llvm::ProfileSummaryInfo*) (/zdata/shaoli/compilers/ccbuilder-compilers/clang-assertion/bin/clang-17+0x522980d)
 #9 0x000055c9be9e7a50 llvm::LoopVectorizePass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/zdata/shaoli/compilers/ccbuilder-compilers/clang-assertion/bin/clang-17+0x522aa50)
#10 0x000055c9be5f56c6 llvm::detail::PassModel<llvm::Function, llvm::LoopVectorizePass, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/zdata/shaoli/compilers/ccbuilder-compilers/clang-assertion/bin/clang-17+0x4e386c6)
#11 0x000055c9babc619d 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>&) (/zdata/shaoli/compilers/ccbuilder-compilers/clang-assertion/bin/clang-17+0x140919d)
#12 0x000055c9bccb7acd llvm::ModuleToFunctionPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/zdata/shaoli/compilers/ccbuilder-compilers/clang-assertion/bin/clang-17+0x34faacd)
#13 0x000055c9baba9876 llvm::detail::PassModel<llvm::Module, llvm::ModuleToFunctionPassAdaptor, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/zdata/shaoli/compilers/ccbuilder-compilers/clang-assertion/bin/clang-17+0x13ec876)
#14 0x000055c9bccb5a4d llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/zdata/shaoli/compilers/ccbuilder-compilers/clang-assertion/bin/clang-17+0x34f8a4d)
#15 0x000055c9bd583c4e (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>>&) BackendUtil.cpp:0:0
#16 0x000055c9bd586ca9 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>>) (/zdata/shaoli/compilers/ccbuilder-compilers/clang-assertion/bin/clang-17+0x3dc9ca9)
#17 0x000055c9be593f72 clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) (/zdata/shaoli/compilers/ccbuilder-compilers/clang-assertion/bin/clang-17+0x4dd6f72)
#18 0x000055c9bf7101e9 clang::ParseAST(clang::Sema&, bool, bool) (/zdata/shaoli/compilers/ccbuilder-compilers/clang-assertion/bin/clang-17+0x5f531e9)
#19 0x000055c9be592578 clang::CodeGenAction::ExecuteAction() (/zdata/shaoli/compilers/ccbuilder-compilers/clang-assertion/bin/clang-17+0x4dd5578)
#20 0x000055c9bdde2d79 clang::FrontendAction::Execute() (/zdata/shaoli/compilers/ccbuilder-compilers/clang-assertion/bin/clang-17+0x4625d79)
#21 0x000055c9bdd67c86 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/zdata/shaoli/compilers/ccbuilder-compilers/clang-assertion/bin/clang-17+0x45aac86)
#22 0x000055c9bdec5326 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/zdata/shaoli/compilers/ccbuilder-compilers/clang-assertion/bin/clang-17+0x4708326)
#23 0x000055c9ba81e0f4 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/zdata/shaoli/compilers/ccbuilder-compilers/clang-assertion/bin/clang-17+0x10610f4)
#24 0x000055c9ba819e1a ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) driver.cpp:0:0
#25 0x000055c9ba81b3ec clang_main(int, char**, llvm::ToolContext const&) (/zdata/shaoli/compilers/ccbuilder-compilers/clang-assertion/bin/clang-17+0x105e3ec)
#26 0x000055c9ba730165 main (/zdata/shaoli/compilers/ccbuilder-compilers/clang-assertion/bin/clang-17+0xf73165)
#27 0x00007f66838d6083 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24083)
#28 0x000055c9ba814bfe _start (/zdata/shaoli/compilers/ccbuilder-compilers/clang-assertion/bin/clang-17+0x1057bfe)
clang-tk: error: unable to execute command: Aborted
clang-tk: error: clang frontend command failed due to signal (use -v to see invocation)
clang version 17.0.0 (https://github.com/llvm/llvm-project.git 53d405762219d798286b99c297098a14643440fe)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /zdata/shaoli/compilers/ccbuilder-compilers
clang-tk: note: diagnostic msg: 
********************

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

********************
%
% clang-tk -v
clang version 17.0.0 (https://github.com/llvm/llvm-project.git 53d405762219d798286b99c297098a14643440fe)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /zdata/shaoli/compilers/ccbuilder-compilers
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/10
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/11
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/8
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/9
Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/11
Candidate multilib: .;@m64
Selected multilib: .;@m64
%
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsOl1z46iyv0Z5oeSS0PdDHhw7nknVzJ3UJHvOowtBy2aDQAdQPvbX3wLJjuV4ZzOzSereU1vlxDI0_d1Ng5oYwzcS4DzILoJseUZ6u1X63GyJCrc9CQU_qxV7Ol8pjewWUKOEUA9cbhBVDAK8QFQQuUHEovBbghrChUFKelhiDGjL3S_dy7sZCvJIdTasuQFqQ8FbboM8Qla5mS9Kdf8CapXmf8A1MSbIo1kQLYNofoXslsu7gQGujUUNPCDBJRikGtSCMWQDBhENiOqeciJQgOf-g6-ksbqnng-mwCCpLGKq5ZJYQEQI1BswAY4DjMdFnujwf6HajgvQCB47oTToIJmjrbWdCZJ5gFcBXm0Uq5WwM6U3AV79EeDVbZl_SqpCfj3EFOTR8KFKGiVgHMUZosQiMqPDAJcWkSC5GH7RLdGo9mrejxlLLKfIATIUJEsUFjgqqjjPsz2Mm9wEuHTf2wBXKCjGGeQXgl-43cMj5CkFeN74mQDn9cEkU7snhJoAX7jP8-zDlgtAAS7dv5VbHkcBrg4giEfaoPAYsQbba3kgcFAsh4d7xRn6PcDlCe75AYZGObbLILlAHAXJAuX-cWQSVyPcoKno9ELq_3kIpzSGQpRkRRoXWY5zTx87oD0yhNBLhh1jLeHygOXdVICzA2u7eAntnY-Xvdlf76UjCwHOmlk0457rbstRZzUKsgsUpJF3GAeg9IxLmqAgWx6sSwZJwYKAFqR1K7msVS-ZQbx0iz2ykYL7zfMUxb_G6d9gtPpbjA6KjgsXsS4wGbEkwCuX2gQP8IqOoW3cM617LhjoUEOn3IgQ923YafU7UDv-dF-8dvGtiTSN0q0D3OesAK8mOWxGuy5I5nGUFdjxUCslkMeTzINk_jLf-eFOKwrGuNkAl1Nwn54qh2u-T60up-D4HjRvnla99HbxLjj_EgbJ5QbsZyAM9OCW49A10SDtMDSYIGf1xuwGqgAXPpUDGzPw9ZfL-c0lMn3dcosIqvsNcprS1mXvo3zI7bavZ1S1B3qbapMb0zsfWSEiGeKSip6BT-9UE7NFNaF3VhPqN5hOw6gUYMioXg_DbiUxRlFOLDCke4kM1byzI8s3ltA7xPrWGWEYcvtJda3VRpMWEb3pnVOZn_OPyaj3sP02F-BV7eJ_tfM8FFIao9Bq3glAj2W-ztOwl3dSPchQcNk_hhvZoxBabkNV_45Cxy7jGpEQhYwbUgsIGw2AQiqA6JAYG9bQKA2h0xFIhkKXdMKGCwglaQFpYD0FNqMobDUIRYnjLWwVA4E6TlHYcRoKuAeB8PCDm7DjgMK20aSFsFNcWrfTLaWSgMKmJXYbgtZSobBpupAq6axjg2SpJAobqULtgpLLTehgUdi6Tc6nCaVDIjgxYFDY9PKBSxZaJ5cJkiVGoSV6AzakXe8UFOYpCm0vwQ9sQIJ2HDOo-80GtJvichMkyw2rUdhQdQ-abGC0yiAp4471UxbVQIRpud0GePWg9F0RjQ_uSyu5QaGGwcMcljfziiFr-PEAr5xfeAVLIkJunoyF9t1IuWAbw-sk0d5ot0pRIl4J6glsKA3wavTovSc7inGAV7PZy38nYF9Sg0f3QF9SHUFP4Pnx6p8n4bflsPEe93Zu1YDWSg8lL4orFDYb2dPwHrRxdkuW6QzPYu_RQumQcbKRylhODQrvd5tEKJTqJgNGdChsCGPa8A0Kl-v1p8Vi_Xn-r8v18t_z7yu8Xqyu1vObr0GyjFGonLS27TzPPkuEjAKp2Uyh8BHR59wx5MvY5csgWYBqguQSdUQb0K7Ud3lHNcglnQESO8hvneUt_wP0fudPIhQ9RlEUZRmtapZECS6agz3QPI273rXm0vqMfTuk_YOdT5OHtTJWA2kDV44tXA04VGXl--TtAF9Ej0md5rhonqu-ACfxkThRxVJ0wzeSiM9EMuG32ZG7YdiMVUDk__aI8IioaPK8TICkKY7Qeq3BWKVhre0o3BBtJ2JH8LqzWw2EzYyaRZ7j2GGZ8JtMyJRNFkU10oQbeAV-6jDnHnOaRK5WO8CcTjGztMwqRGr1Ks4PMGNcZtUEc3aMudib-tU4CzzFmU9xQtaw_OdwJknD8gnO4tAXoII8i9lblHfv7NYZxlUWs4ko5bEoZfQKUXQvr9pOTMR4rkB9oD5P3FAiiL68V6I_Oe9oXMlGvZi49fXBvuI-CbMcTh9K32qAF7MXQtG7lYb_9CDp04BgforIF15rok9DLKElkgG74Na8oDA3pm87J9eC0O1LDpxwc-rs7nB_JZJsXKY4ghrTp99tvkNL9N1ly609AXmtlUu9N33bHvL7Ea5TRlPXqY5cpyBZ9CrXeZ3bzCURT4abnc6SxYlFyWWwO6a_s_iEZM8J1u0Hk_0NsibLaX7APgNLuBiNRoz56orw00K8cJip2o7sDwb0PbBBPWB-TWnu8__WGikkZU7ziTUm2zOpaR5X7A2s4WF_JPKvav8fox4ZNU6jKq7YxKj40KiU1gWhh0b9qlgv4FbtWHXGmjPSWaVPK2JY8FNqGJd8kBKStCGETpWQTD2bVGXxc3lmJ_Xilap7K9d8Vt2fOeb_eXvECdCymGaa9MgpM5KyV2SMU1b4L9dekjYlSafenE2OUVmZ0NQfSIhU8qlVvUGStGA6fxKsBq5dLTQ3BtpaPH0G0cEY3t97eVg4XfMOBJfuBDlcggwl4HBXNt-na2PZMNNL_p8e1p2d6sidObsHzS2sdyfPg0UMGtILu2YgwMJfLBxTff4asrdKiW-97Xq74oOfvIbm0apnghUaBf_NcvHyIOpMkR-ZIqekQgeac2ofkQwkpopdPl9UXMqN13u-fyk4gAzXzzdANN1-80WyQf528CXoQjH4BPIvoIZi_S-AvhC5OQVycCKxmsvNd2hOJcWx_v-RCz0vuZJW94bfw3doFtJeHxn1vhmrXmedG3_rNG7-H--F7x7tjFaUVJNonx6UsyppCnxCswslTd_uwnq4TvHHvuH-7TfJj3xvfnO7UNLCo_2YgpOxvCnwRLTJwbkp4iiGSfRcE21gfnM7ZfwGWjK6Y62UeP5-9xNMkyUxTK1THVkHZ0V5IiZHvx9ywiPQ3sL8-V3TB-g-y4rykHE8vVpkgFkx0f1KO-fYR-wh5x_Dc44zVkyUjaf3hywvaJlPlT0QuZLGEknhtL7_XMgPiYOMEFpOyiE8qdEZ0CzBE7lGCZ7Fux9fS02leSH-R9xqpEVUJngqz7TcLmOImhRRGq_HF_wHhZbW5MltIsnCd1CMe818zPDTMbxA94qzDxErjvI4atKJWOmRWBXEBO1ss4hvfRI6EO6mJUIM9xD-pu-UjMfXdUqJMSsf7LsVYprfgz5Zg-DsiK06ATp4z07f_kp90Oaur-c1RN9bwxkkQCcanpRTpEiiOM98V8g789IUSZxnE1aKo3v0PCoTtF4LXtO1sUTb9QFfr71ZT6MymVApj2yX1g2gAf_7q7-oG9hzs-urCZI58m_b3EMvSS0AWYVgcHNEVdsSyXwTRa20BfaD5UNvWzMm2d3asTUCsd5jNv5Fj5O2N4DCez8GgPhBljvkEY1v_VBczKJZ5Bb-XAPFbMMtyhKWRlmRYxxXrKhKXOZ1VVFcFVFVkjjN0yRNowP9DGWzk-rPGhFGOP9WCbXDFcIcdcrwx-fWHyIEsCXXv9o18ULZUrnidY6e33mi1mw8-tHL_sbnoP9ubGGZ397OF5_R7edLtPr25cu3f1_9zye0uvpyeYNuv_nhi98-oe-X19--3-4bR65PtaCUxuWYP21D2QNoQL4LAxgido_ylSo4fl_bxEkcx7sXtH8Pidn-gjXeyianW-Lu_4mTwzhZqd6lHSIZZ8QC-rRYID4gJ2NV-_rOjOgdcMZvj7N8e5SjZW9AAHVh-BYiL_actb2w3K1K5mgWJBdBGrV5ekTyR0DPsbBrET5j5wmrkoqcwXmcl3kVxbiIzrbnjEYNRFWSpllEYqggyqsqY6xkWdHgqjrj5zjCSZTHeVSkcRzNmoSlSQ55XiRRmrAqSCNoCRczFykzpTdnvhnvPE-SNDoTpAZhfDM4xhIekJ8MMA6y5Zk-99FV9xsTpJHgxppnLJZbAecLH7i-ie9j2xTPei3Of70P0Uv_vwEAAP__p_SgFw">