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

    <tr>
        <th>Summary</th>
        <td>
            Assertion failure compiling polly/lib/External/isl/isl_dim_map.c
        </td>
    </tr>

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

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

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

<pre>
    Between 20230608 and 20230613, `polly/lib/External/isl/isl_dim_map.c` compilation in a 2-stage build on Solaris/sparcv9 started to fail with
```
FAILED: tools/polly/lib/External/CMakeFiles/PollyISL.dir/isl/isl_dim_map.c.o
[...]
Assertion failed: isa<To>(Val) && "cast<Ty>() argument of incompatible type!", file /vol/llvm/src/llvm-project/dist/llvm/include/llvm/Support/Casting.h, line 578, function cast
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: /var/llvm/dist-sparcv9-release-stage2-A-flang/./bin/clang -D_DEBUG -D_FILE_OFFSET_BITS=64 -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D_LIBCPP_ENABLE_ASSERTIONS -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/var/llvm/dist-sparcv9-release-stage2-A-flang/tools/clang/stage2-bins/tools/polly/lib/External -I/vol/llvm/src/llvm-project/dist/polly/lib/External -I/vol/llvm/src/llvm-project/dist/polly/lib/External/isl -I/vol/llvm/src/llvm-project/dist/polly/lib/External/isl/include -I/vol/llvm/src/llvm-project/dist/polly/lib/External/isl/imath -I/var/llvm/dist-sparcv9-release-stage2-A-flang/tools/clang/stage2-bins/tools/polly/lib/External/isl -I/var/llvm/dist-sparcv9-release-stage2-A-flang/tools/clang/stage2-bins/tools/polly/include -I/vol/llvm/src/llvm-project/dist/polly/lib/External/pet/include -I/var/llvm/dist-sparcv9-release-stage2-A-flang/tools/clang/stage2-bins/tools/polly/lib/External/isl/include -I/vol/llvm/src/llvm-project/dist/polly/include -I/var/llvm/dist-sparcv9-release-stage2-A-flang/tools/clang/stage2-bins/include -I/vol/llvm/src/llvm-project/dist/llvm/include -I/vol/llvm/src/llvm-project/dist/llvm/include/llvm/Support/Solaris -fPIC -fno-semantic-interposition -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -UNDEBUG -w -std=gnu99 -MD -MT tools/polly/lib/External/CMakeFiles/PollyISL.dir/isl/isl_dim_map.c.o -MF tools/polly/lib/External/CMakeFiles/PollyISL.dir/isl/isl_dim_map.c.o.d -o tools/polly/lib/External/CMakeFiles/PollyISL.dir/isl/isl_dim
1.      <eof> parser at end of file
2.      Optimizer
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  clang-17  0x0000000107aaf070 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 28
1  clang-17 0x0000000107aaf470 PrintStackTraceSignalHandler(void*) + 12
2  clang-17 0x0000000107aada8c llvm::sys::RunSignalHandlers() + 48
3  clang-17 0x0000000107aae684 llvm::sys::CleanupOnSignal(unsigned long) + 168
4 clang-17  0x0000000107a166e4 CrashRecoverySignalHandler(int) + 284
5 libc.so.1 0xffffffff7eec5450 __sighndlr + 12
6  libc.so.1 0xffffffff7eeb7cf8 call_user_handler + 1024
7  libc.so.1 0xffffffff7eeb80e8 sigacthandler + 208
8  libc.so.1 0xffffffff7eeca510 __lwp_sigqueue + 8
9  libc.so.1 0xffffffff7ede4afc abort + 180
10 libc.so.1 0xffffffff7ede59a4 _assert_c99 + 100
11 clang-17 0x00000001092fd038 llvm::LoopVectorizationPlanner::tryToBuildVPlanWithVPRecipes(llvm::VFRange&, llvm::SmallPtrSetImpl<llvm::Instruction*>&) + 1159612 clang-17 0x00000001092fd5f0 llvm::LoopVectorizationPlanner::buildVPlansWithVPRecipes(llvm::ElementCount, llvm::ElementCount) + 732
13 clang-17  0x0000000109313468 llvm::LoopVectorizationPlanner::plan(llvm::ElementCount, unsigned int) + 2024
14 clang-17  0x0000000109314048 llvm::LoopVectorizePass::processLoop(llvm::Loop*) + 2292
15 clang-17 0x0000000109317514 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*) + 760
16 clang-17  0x0000000109318094 llvm::LoopVectorizePass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) + 1028
17 clang-17 0x0000000108f1c8a4 llvm::detail::PassModel<llvm::Function, llvm::LoopVectorizePass, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) + 16
18 clang-17 0x0000000105103f08 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>&) + 328
19 clang-17 0x0000000107496b68 llvm::ModuleToFunctionPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) + 1104
20 clang-17 0x00000001050e44d0 llvm::detail::PassModel<llvm::Module, llvm::ModuleToFunctionPassAdaptor, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) + 16
21 clang-17  0x0000000107494ef8 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) + 564
22 clang-17 0x0000000107d12680 (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>>&) + 5644
23 clang-17 0x0000000107d16c2c 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>>) + 7992
24 clang-17 0x0000000108d2bf2c clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) + 1772
25 clang-17  0x000000010a1a6d1c clang::ParseAST(clang::Sema&, bool, bool) + 908
26 clang-17  0x0000000108552458 clang::ASTFrontendAction::ExecuteAction() + 116
27 clang-17 0x0000000108d2c208 clang::CodeGenAction::ExecuteAction() + 100
28 clang-17 0x0000000108554394 clang::FrontendAction::Execute() + 200
29 clang-17 0x00000001084e17e8 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 888
30 clang-17  0x00000001086323f0 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 1312
31 clang-17  0x0000000104cded7c cc1_main(llvm::ArrayRef<char const*>, char const*, void*) + 4700
32 clang-17  0x0000000104cd9d1c ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) + 636
33 clang-17  0x0000000104cd9f88 int llvm::function_ref<int (llvm::SmallVectorImpl<char const*>&)>::callback_fn<clang_main(int, char**, llvm::ToolContext const&)::'lambda'(llvm::SmallVectorImpl<char const*>&)>(long, llvm::SmallVectorImpl<char const*>&) + 8
34 clang-17 0x000000010836d6d4 void llvm::function_ref<void ()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const::'lambda'()>(long) + 20
35 clang-17 0x0000000107a1683c llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) + 184
36 clang-17  0x0000000108370200 clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const + 340
37 clang-17  0x0000000108339838 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const + 164
38 clang-17 0x000000010833a14c clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const + 256
39 clang-17  0x0000000108342464 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) + 172
40 clang-17  0x0000000104cdbf60 clang_main(int, char**, llvm::ToolContext const&) + 7512
41 clang-17  0x0000000104cea92c main + 28
42 clang-17  0x0000000104cd4284 _start + 100
clang: error: clang frontend command failed with exit code 134 (use -v to see invocation)
clang version 17.0.0
Target: sparcv9-sun-solaris2.11
Thread model: posix
InstalledDir: /var/llvm/dist-sparcv9-release-stage2-A-flang/./bin
```
[isl_dim_map-e8e270.sh.txt](https://github.com/llvm/llvm-project/files/11735661/isl_dim_map-e8e270.sh.txt)
[isl_dim_map-e8e270.c.txt](https://github.com/llvm/llvm-project/files/11735669/isl_dim_map-e8e270.c.txt)

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzkWltzo7qW_jXkRYULBMbwkAfHl71zKumkYnfnzLy4ZLGwNS0ktiSS-Pz6KXGxsQO90727z56pk0olBknr8mlprU-yiNZsJwCunfGNM55fkdLspbpWUpn91Vamh-sbMK8AAmEPB17kxYiItHnwAwfPkBN5heT84OAlZ1sHLxdvBpQg3MFLppu_m5Tlm5wUI-pEHqIyLxgnhkmBmEAEYVcbsgO0LRlPkRRoJTlRTDt4qQui6EuCtCHKQIqMRBlhHL0ys3e8ueNNnchrfqvH5fT2bjF3gikyUnIrYtC82T35CkvGwfZ6tL1uV3ejlKl-00eyUTi-GY1GznheP061BlX5Yg2D1KpmmjjBbC2dYOHg-IvVliAHRw6OkIMxJdrY9kPdbhuJ2pU5CINkhpiwCBHDthyQORTgYN_B2KKdMQ7IwcsXac3j_CW3GCnaPLiFkv8D1Dh4mTJtTl2YoLxM4fRiVRaFVLbHjGjDxG60t_I5E4DGk7jSVQpa-VWZW_n6eLeYrhZIl9ucGUTQttwhBVaQnZi9MYV2gqmDlw5e7pjZl9sRlflJ64WNTOuyAr-KqsZGZPaAqCJ6j7aEfjWKULDmFAoKJSloDSnSslT1azuSaC0pIzY-VCmQpooVZlSbvDKEfkVpmRfWsuqVN0KPSu4UyY-wW7MrXIk6WWshdJsAdBVwIBrqSMXu1M04ETsHL0cOXm6ZcPCS2jfInW_mi5vPv9kPy9u7xeZhuVwt1pub2_XKCeZRaBt-u7u9mf3zn5vparV4Wt8-fFpVbz993qwePj_NFvbJdnl83Cw-TW_uFhc9N6v1fLaZPXxaraef1pv76ezpodOwfHi6n75_fXd7f3t6e_tj_rbLijbPTYctE7rT2r_oGqUfDd5fKKRe3D9R1GmR_WShOTH7v2WyziD61ap_MnYFmHdC_w70_rJnv9aFH7PtvKb8pcF9Bakp_sjNHm9nyM2EdDXkRBhGXSYMqEJqVhUm9xmUksoJ5ikx4BqWQ-ddKXYlUSmkLnkhjJMt48wcXAGvyH0mnNuub0YR5D4L6Zai1JC6BVEkBwMKuc-vihkLqWJip5H7nDOtmdi5GQOeukwwwwhn_wKlkVtAWllYC-NS7Ko_yH2mDr5x8E0Su3VVdyul1iWG3GeWF5xRZtyMcG72Spa7vR0kX0BB6upXZujeTSEjJTfIfa6tcakUL6B0DULONAeS2vdMpCAMadChhqRuTg5bcEuha4AhRW6WMrITUhtGtUsllwq5WVvuXQ3VfzsBKTGk8_wQIHf-qalun9sPr8jVJnWC-U6USYLc-zly79e_gH4h9375C8SOUuTKnyi3Jhn-CFU_TjADmTnBAhVEaVCIGAQitTzPkrm6M246PxSG5TaiLrlLxXdlaZA-5FvJkSA5aOTgGIQuFaCDLNGevACqFl3dycqx_PogS4Uep-vfkVRIg6kIFogXpqSoKOcLUZbG3919ud-s_uv-5uHu9r8XTxs7xNJ1I1EhmagoHjMOTk5ECqEqr7j-BCHvzat_fG9CSOZNvMoY2zmY6oOuPzwqJkzl17omdvGpkyKvG6mNApJXXHmGmDA1c75BOG5w7ei8UBlOPHQhf8V2gvDfiUg5KAfHL5KlDp62Qn3c4D8oNCUx7fPjqRRnsnXD463UsDE1GJQKURz2SZ1xIKIsHhrZDo5LUe3QUmSzydHsqNEQDuHvRxGEaGZZ9BNUyeRwCcUZtmEtb4w429KRliMfeW9Z8zMBoONw7KHNRrPdXqRcnaEXoaFh2wnNYkQJ55tSg9rsa-31aA83WifD42MPYqTZjlDTHYu9BoB4cCglY99azF8La_UfJZRQjW1GJkMjUwhJRhHZ2l1NZWjcbC19b3DIOCEh2pBqK7ihSTNNXjvQ7w2EBGepF8SdQLiTsvgC1EjF_lUl8UdOhABVtxp1WMsbu0f-Yt8_M7P_8vgElBU2J3UW0pflExE7aBbR6f0qJ5w_GrUCc5sX3Almp7ZboY0qq0xvF4jdmEbHePPHSeTjQSfGmfdhJ7ZH-_WwAwsONjPNZGmDtOvCeUtt3iRoAtEP-tdDEvhBGH0c6IIT8U17jquyu4iO8ewPLMsk8EMvHDIDHolu0kCzz7WtZ2bUL47ZC-OkdXzcPzeBPxn74Z8rVKWoAqKrbNnwgfdRRAknavEiednbbnXciky-a1gTtQOzVkToTKq8t89c5kwQI9VawfsAvuGSfl0q-KMEQQ-1gGmfkju2VUT195hbMplCesOMfqdhqnWZF9avGaH79xZY56bUzo6VfU8E2dlsetGrqeNVZD1BTtTXRc6M6en5qKSlAasyz7v2NoHdHmr50WBExV7ysQn-2OROBeEHzXTrWTdFHAedJwfvWJonvVEYZz6NSdfIFAxhvAGAaH0vU-D9qt6Bf-7cBZagQb1AWjsB-sdcs7-_GrOoQSzuRWzse0HmxT8Bsarvt8z6UYT-nwIfHGM16edmYRJtzyrFvUxLDmvZyrOITlNSGKn6ra0HfJetzZCLmus15QR7_UHiQRim3ncFSWvb7IMO_qxZPjk4NMc_C7VmYWF_gBmHSQhZ_IEV0gfV_wkXx1EbF_2EbJL6OIo9uzkkQopDLktd7xeLasOVNJQmZ2aqNeRbfvgdeNFyn6dSdKvXIyuAM2E3avURUl2HCf0KIp0ec0h1AGBbSsH-KGFTmHNH7NauqM5TNu0GrzOoOd7YpMDBwJ8MbPJP9BG1ayn5Q2mK0tiN-0d1Xow6KTxOQDsDwdAMRBRT1AHMot2AVks-x3N-Oo9ZiF0Fd-Vfp8vvQFJQKyCK7h-K-kCGSqHN-64zmcJvIP6kV02U_qTTHRG7vi4dNlgdSD1B1pdVGu71rcjp7kCMKjV7gSfIZsI8XszlS9ZwGTspq4M2kDeF6N8ffA09S1r-jcN-5pPibXYeCI3_Myl0mbdrrt6UV8S4_lr0s2AXETJdrWdSGHgz3Ww3mbQGjPvzHfFJlPpnFjwSpWG6Wp_LX0FOmrndSslP_2tNSbvhxgNMNB6PcTiO0bnJS2VtPk53vRTegJYG2giITwWvzd0DNDLFFHtxT6B_SHq7F8f9lCsej8MgCbvSv2F8RzA-Cu5nFHEI_gQuzM4LxkHZLTcRFPotH7bkFABx3B41eQPTEgU4yLyzVFTrORnxIil5r_OdkZ1Ts6A9-QkGymxIU0gnFFHqb3LCzuvgVClysAkjmNE9UW1emTar-fwdnqGLM7tw0iIe4EHtiQ361tOZv65COb44Cam3Es1JyHtTLnevUvJmCXZSYW1TFDSxGwycQFiTsjhGTJiOyPbIfaMqNGzjj1iZHCkHJZxvCf26yYTtbC1p8Wf1yYUVUIF5uW3u965udPCEk3ybEgdPfthAHNdHmO8OpD4wvntwFwzk2iBKozSsomUY4qq1Xr3fAq2pDIq9tCl6NvNnMs-JSC8TQW9gH6uLrIonOafhp5p53EwdB2w29O3N9-uHLdGMburvfBpwzjrbFxujCDO6bb4QRzi3y9tuVo7ttsv0lOGrlVVD3jfbF9PXZr1mMvoPnibEj-Kge3B-dhTdVrKWcK5IBvxwhuW3561NRO25dTBUlYKJh72z9PcfN6n1vjdsJ2wyhFSQxEE8iNTpytZlFangOysdFwNthyF--Y2u0zM60nXGb3dAwUAtDwLih_R7ffmH3OphR_4ht3dMmyEW_C6RHSerIEzVyf17fO_uct4jgMdtvUmGpjPEYRQOqZt3Pp_xgR4iMATdvxGClu02rCMcIDshTbdZ1DT-tbpX8_txy3PCQZ4DJMEUWV1n31KGw9QkxHGINtV9xnNm2uKCmgsM01oEyhr2h2iDUH3PsPpKGMEbs4angPwgtBmy1IDcF2Qk0gCIddhd0lGD2tsD_mTkjRoD6h2hVdxeK9GlcHV9HQOPfL_ptldAUpTXp0tTVEjN3uqmiixyDumcqb9-o67veqczvul8fe9CDHjijfR-ZN6MM547OP7uW4hZ852-70-CcRT55zcELlS0KPbbQX-eGUm_GfTMiqv0OkiTICFXcO1HcRRFYex7V_vreBKSaIxD8IiXUohD3w-CJPBCP0kwwdkVu24v8fqh53nj0Xg8DtMQ0wnO8HaMMyf0ICeMj6yZI6l2V9VtzesowHFyxckWuK6uDWMs4BVVjQ7Gznh-pa4r17blTjuhx5k2-iTFMMPh-vzSbKmguRTMxA59z3Xiq1Lx6x-_d1o5878BAAD__-Dc-S0">