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

    <tr>
        <th>Summary</th>
        <td>
            Assertion `getActiveBits() <= 64 && "Too many bits for uint64_t"' failed.
        </td>
    </tr>

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

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

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

<pre>
    To reproduce run the test below with -passes=loop-vectorize
```
; ModuleID = './reduced.ll'
source_filename = "./reduced.ll"
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32-ni:1-p2:32:8:8:32-ni:2"
target triple = "aarch64-none-linux-gnu"

define double @wombat() gc "statepoint-example" {
bb:
  br label %bb2

bb1: ; preds = %bb2
  ret double 0.000000e+00

bb2: ; preds = %bb2, %bb
  %phi = phi i64 [ 0, %bb ], [ %add, %bb2 ]
  %phi3 = phi i65 [ 0, %bb ], [ %add5, %bb2 ]
 %phi4 = phi i64 [ 0, %bb ], [ %trunc, %bb2 ]
  %trunc = trunc i65 %phi3 to i64
  store i64 0, ptr addrspace(1) null, align 8
  %add = add i64 %phi, 1
  %icmp = icmp ugt i64 %add, 0
  %add5 = add i65 %phi3, -1
  br i1 %icmp, label %bb2, label %bb1
}
```
Reproducer: https://godbolt.org/z/cjEcv8b4Y

Stack dump:
```
0.      Program arguments: /opt/compiler-explorer/clang-assertions-trunk/bin/opt -o /app/output.s -S -passes=loop-vectorize <source>
1.      Running pass "function(loop-vectorize<no-interleave-forced-only;no-vectorize-forced-only;>)" on module "<source>"
2.      Running pass "loop-vectorize<no-interleave-forced-only;no-vectorize-forced-only;>" on function "wombat"
 #0 0x00000000051b3748 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/opt/compiler-explorer/clang-assertions-trunk/bin/opt+0x51b3748)
 #1 0x00000000051b113c SignalHandler(int) Signals.cpp:0:0
 #2 0x000071a06ec42520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
 #3 0x000071a06ec969fc pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x969fc)
 #4 0x000071a06ec42476 gsignal (/lib/x86_64-linux-gnu/libc.so.6+0x42476)
 #5 0x000071a06ec287f3 abort (/lib/x86_64-linux-gnu/libc.so.6+0x287f3)
 #6 0x000071a06ec2871b (/lib/x86_64-linux-gnu/libc.so.6+0x2871b)
 #7 0x000071a06ec39e96 (/lib/x86_64-linux-gnu/libc.so.6+0x39e96)
 #8 0x0000000000b2d8a9 (/opt/compiler-explorer/clang-assertions-trunk/bin/opt+0xb2d8a9)
 #9 0x0000000004308ae6 (anonymous namespace)::UnrollState::unrollBlock(llvm::VPBlockBase*) VPlanUnroll.cpp:0:0
#10 0x000000000430788c (anonymous namespace)::UnrollState::unrollBlock(llvm::VPBlockBase*) VPlanUnroll.cpp:0:0
#11 0x0000000004309060 llvm::VPlanTransforms::unrollByUF(llvm::VPlan&, unsigned int, llvm::LLVMContext&) (/opt/compiler-explorer/clang-assertions-trunk/bin/opt+0x4309060)
#12 0x0000000004176b76 llvm::LoopVectorizationPlanner::executePlan(llvm::ElementCount, unsigned int, llvm::VPlan&, llvm::InnerLoopVectorizer&, llvm::DominatorTree*, bool, llvm::DenseMap<llvm::SCEV const*, llvm::Value*, llvm::DenseMapInfo<llvm::SCEV const*, void>, llvm::detail::DenseMapPair<llvm::SCEV const*, llvm::Value*>> const*) (/opt/compiler-explorer/clang-assertions-trunk/bin/opt+0x4176b76)
#13 0x000000000418cb6f llvm::LoopVectorizePass::processLoop(llvm::Loop*) (/opt/compiler-explorer/clang-assertions-trunk/bin/opt+0x418cb6f)
#14 0x000000000418ebd9 llvm::LoopVectorizePass::runImpl(llvm::Function&) (/opt/compiler-explorer/clang-assertions-trunk/bin/opt+0x418ebd9)
#15 0x000000000418f213 llvm::LoopVectorizePass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/opt/compiler-explorer/clang-assertions-trunk/bin/opt+0x418f213)
#16 0x0000000002fcba8e llvm::detail::PassModel<llvm::Function, llvm::LoopVectorizePass, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/opt/compiler-explorer/clang-assertions-trunk/bin/opt+0x2fcba8e)
#17 0x0000000004fb2700 llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/opt/compiler-explorer/clang-assertions-trunk/bin/opt+0x4fb2700)
#18 0x0000000000e33a9e llvm::detail::PassModel<llvm::Function, llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/opt/compiler-explorer/clang-assertions-trunk/bin/opt+0xe33a9e)
#19 0x0000000004fb101b llvm::ModuleToFunctionPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/opt/compiler-explorer/clang-assertions-trunk/bin/opt+0x4fb101b)
#20 0x0000000000e3312e llvm::detail::PassModel<llvm::Module, llvm::ModuleToFunctionPassAdaptor, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/opt/compiler-explorer/clang-assertions-trunk/bin/opt+0xe3312e)
#21 0x0000000004fb0a20 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/opt/compiler-explorer/clang-assertions-trunk/bin/opt+0x4fb0a20)
#22 0x0000000000910a1a llvm::runPassPipeline(llvm::StringRef, llvm::Module&, llvm::TargetMachine*, llvm::TargetLibraryInfoImpl*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::StringRef, llvm::ArrayRef<llvm::PassPlugin>, llvm::ArrayRef<std::function<void (llvm::PassBuilder&)>>, llvm::opt_tool::OutputKind, llvm::opt_tool::VerifierKind, bool, bool, bool, bool, bool, bool, bool) (/opt/compiler-explorer/clang-assertions-trunk/bin/opt+0x910a1a)
#23 0x0000000000903099 optMain (/opt/compiler-explorer/clang-assertions-trunk/bin/opt+0x903099)
#24 0x000071a06ec29d90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#25 0x000071a06ec29e40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#26 0x00000000008fa97e _start (/opt/compiler-explorer/clang-assertions-trunk/bin/opt+0x8fa97e)
Program terminated with signal: SIGSEGV
Compiler returned: 139
```

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzcWd9v46gW_mvoC3KEwfGPhzw4abN3dKe61bRb6T5V2CYpOwQswJ1m__orwKl_tJ2d7mZ1VzPqJDac853vHD4wwdQYvpeMrcByDZaXF7Szj0qv7qg9UkkvVVdZc1Gp5ri6U1CzVqumqxnUnYT2kUHLjIUVE-ob_MbtI4xaagwzgFwKpdroidVWaf47A6gEKer_UAnIGl6rphPs0yUE5BICnC0A3mrm0JuFEABnAJVGdbpmDzsumKQH1pviuSkGqLRU75mFDbVU0KPq7MmYRQdASha1OEOAlAT7D3cbT2_dVZr4j4jngJR56OJxCkjpP9zdi0mMnUGM80iS4BvdurutJDiS3PVFLT7FGAH6PjyhbTVvxUt-lOr6MU0iqSSLBJfdc7SXXXAAqGzYjksGG9VVzidB39ShohbgHOAC7msHYSy1rFVc2og900MrGMAYgmwNUFlVgDgcCCsNBa2YgAAvq6qHrypXGOjGqNWsMT2r3gBC7cocYqMF8v8YwGuETu74XXe8CVceB-Bl-8h9t_vmaQLBcg3RixUEy0t_s1y7Bto0L13Y9w0oZASz_EOY5WucAJP8OBurO1m_zcd3eaRw5Sn1NK1y0N7SWKWZD-SDtFZD2jTatLRmAOexG0zZOX1vIBV8L2F-ikCbxuO7b8_UozvD-GTC60PrbfxFt7cnw76MaIS1HIG9UHVGUXySCY9PoK59IprpvfMA2eVswn85rRzaaePR2tY4DeItwNu9aiol7ELpPcDb3wHe1r9d1U95lfw3KOrW0vorbLpDG3Q7BkYLgIobrfaaHiDV--7ApDVegHirWuvQ1KHlgumIPbdCaaZdm6ByH7m1SluupIncSH0FeFtxGRxhpBwEbVt339m2swsDo9t3lzgIyCasV4BcAVTGjtmXTkou99D5uGm562TtAgKczxZIspEq4tIyLRh9YtFO6Zo1kZLiCMhaqsF01uWi4cLNbiXhwS-qLtKEjV858FuEzsrCUzil6NBPCxMOU4wgiJ7R6d8yrkiW5FCIJ7dCA1KaowkXN5pL64f9TofZMBhp-u1BGasZPQCcOvVxad1c8evfXxpzt4o997RcTQPpeEY6jkkNb_leUvEvKhvhwPOeQ2g2i7p1WkX-f0DBPUoWU5SyOsFLjHrKglcAb5_z9CFNxsu966gXRi1ST8y7DLTIFLBIi10NW_uoGW0evnIhPobu_Qf0ZE43yVK4Nz69j9JOsnQAXk6BcZ7tCKSV0vZjsN5xgE1fwcbVhwHjagDMpoCkYEX6MUDvMgDmYxmhCjc5PZtmA9oQqxjHSgjKKfPkqVTyeFCdgW471T9pijCvfpVaCXHr9g2hofMNa6Hqr5MJeH_j29bUMIBLp_r7G0Fl8J8p300fNCOT5Xn9fyMTz8gUKEVwDCeovNNUmp3SBzOJffx1OwstqOyXoE76bXQT1qLNCPHz5_vrjZKWPVtve7Yx78mHQXep4UlqcZZWWTomolR736_e1AE7-tI_kN3--JnVnWUhpVGSV4K5J-pGdSGx9xMdl2No_eRCjEO7FGc2l-rAJbVK32kWRnEDK6XEzIpJw65pC8hmaLzdXN3DWklje78RHyo69qr1hPJJ7tT3kZ4Ub_xTbezeMEu5mELdUK4_TIpcAXI1MjqfLMLAD7IgU1nkdZXu3pEFu6Gm13yrVc2Mcb0TPYSG8xL2lAbCyYwwq5rijwnrTn46tGJCdvuy2zrrxAuUBsLLGeEdjskPEX6f7FgzpaTiaLi5ppLu2VRqL05OqGdO0qUxJJmOk8S7uqI5e2diuByvVcPE21Sny-Or4vyp3N3fP7-ofdmGomYT5ewqnKHx08gX8nsEf-Ja9dUYajXdPzFCaHEOAf5tNf6JxyYUfxiaYibjGMXViGM46btTJz6u5GVDW6v029kGhw_l2rv8DSp0ybykitFchTH-mApPuW1-sEB_ogLvieifU9ZQt6Gq8UxAiOIfWQffquXPUqK-CkONJtt7VMSIxnREUXdeNje8ZYLL6ZHJrdVc7r-w3Vuye5XsnT-Svqb1o8cp3-r9zCtN9dHtosOua26llPiPPzTbcvEGyF_qfiedUmt6dK3j0fE1Ed2ey9dr8mBvbBPaXs7nyMbt_-GkjA5r3XHR9L9hirdWetXaB-t-vPi7kMW_uWy-Z3XPNN9xpk92px8_H_s-m_SCtgblkanyEEFFAVVrrymXZ4vpUYeYs_MnXDTFB4_LvMsAOD93KliC4MOD83kwlmr7cBjS-eEQLBmFmGyRUb6jRcZgAD9XmQJoCHk69bZM-9_PrAnv4MIhHSAlvP30y-3VL_cAlZs-JNTMdloyJ3cYk2J2mn7RrEhTkIJesFWcEZJgTBC5eFxVNK6WOc6bJWqWaVxlxS6lDap2FUlIvqwu-AojnMQYLeM8jhOyYCxL45pQRKq0SGgGEsQOlIuFmwQLpfcX3JiOreI4z5fowr9BMP4tJMaSfYO-F2AMlpcXeuWcoqrbG5AgwY01A4zlVrBVeaocBCnaM1vWlj-xNbemfy0GyAaQS-jfgaQApxBgfKcUPFB5hBW3Bu6Uhh2XNk0e_JE1zuCOcsGaxUWnxWr20oLbx65a1OrgVOHmdfiKWq1-Y7UbZp-BAXjbp_i0wv8LAAD__31b4X0">