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

    <tr>
        <th>Summary</th>
        <td>
            clang-14: /builddir/build/BUILD/llvm-project-14.0.6.src/llvm/lib/IR/Constants.cpp:2327: static llvm::Constant *llvm::ConstantExpr::get(unsigned int, llvm::Constant *, llvm::Constant *, unsigned int, llvm::Type *): Assertion `C1->getType() == C2->getType() && "Operand types in binary constant expression should match"' failed.
        </td>
    </tr>

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

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

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

<pre>
    Compiling the attached test case (reduced from ImageMagick 7.1.0-47) with clang 14.0.6 using
`clang -fopenmp -O3 -mllvm -polly -mllvm -polly-invariant-load-hoisting -c dds.c -o dds.o`
results in
```
$ /usr/bin/clang -fopenmp -O3 -mllvm -polly -mllvm -polly-invariant-load-hoisting -c dds.c -o dds.o
clang: /builddir/build/BUILD/llvm-project-14.0.6.src/llvm/lib/IR/Constants.cpp:2327: static llvm::Constant *llvm::ConstantExpr::get(unsigned int, llvm::Constant *, llvm::Constant *, unsigned int, llvm::Type *): Assertion `C1->getType() == C2->getType() && "Operand types in binary constant expression should match"' 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: /usr/bin/clang -fopenmp -O3 -mllvm -polly -mllvm -polly-invariant-load-hoisting -c dds.c -o dds.o
1.      <eof> parser at end of file
2.      Optimizer
 #0 0x00007f70d4c7f801 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/lib64/libLLVM-14.so+0x3d9e801)
 #1 0x00007f70d4c7fb9b (/lib64/libLLVM-14.so+0x3d9eb9b)
 #2 0x00007f70d4c7e46a llvm::sys::RunSignalHandlers() (/lib64/libLLVM-14.so+0x3d9d46a)
 #3 0x00007f70d4c7e74b llvm::sys::CleanupOnSignal(unsigned long) (/lib64/libLLVM-14.so+0x3d9d74b)
 #4 0x00007f70d4b67867 (/lib64/libLLVM-14.so+0x3c86867)
 #5 0x00007f70d4b6755c (/lib64/libLLVM-14.so+0x3c8655c)
 #6 0x00007f70d0af52a0 (/lib64/libc.so.6+0x382a0)
 #7 0x00007f70d0b44ffc (/lib64/libc.so.6+0x87ffc)
 #8 0x00007f70d0af51f2 raise (/lib64/libc.so.6+0x381f2)
 #9 0x00007f70d0adf472 abort (/lib64/libc.so.6+0x22472)
#10 0x00007f70d0adf395 (/lib64/libc.so.6+0x22395)
#11 0x00007f70d0aedf12 (/lib64/libc.so.6+0x30f12)
#12 0x00007f70d4de7cf5 llvm::ConstantExpr::get(unsigned int, llvm::Constant*, llvm::Constant*, unsigned int, llvm::Type*) (/lib64/libLLVM-14.so+0x3f06cf5)
#13 0x00007f70d4eb6993 (/lib64/libLLVM-14.so+0x3fd5993)
#14 0x00007f70d8aa8b09 polly::IslNodeBuilder::preloadInvariantLoad(polly::MemoryAccess const&, isl_set*) (/lib64/libLLVM-14.so+0x7bc7b09)
#15 0x00007f70d8aa7dae polly::IslNodeBuilder::preloadInvariantEquivClass(polly::InvariantEquivClassTy&) (/lib64/libLLVM-14.so+0x7bc6dae)
#16 0x00007f70d8aaa5eb polly::IslNodeBuilder::preloadInvariantLoads() (/lib64/libLLVM-14.so+0x7bc95eb)
#17 0x00007f70d89e1aaf (/lib64/libLLVM-14.so+0x7b00aaf)
#18 0x00007f70d89e0867 polly::CodeGenerationPass::run(polly::Scop&, llvm::AnalysisManager<polly::Scop, polly::ScopStandardAnalysisResults&>&, polly::ScopStandardAnalysisResults&, polly::SPMUpdater&) (/lib64/libLLVM-14.so+0x7aff867)
#19 0x00007f70d89d38ab (/lib64/libLLVM-14.so+0x7af28ab)
#20 0x00007f70d8a5c644 llvm::PassManager<polly::Scop, llvm::AnalysisManager<polly::Scop, polly::ScopStandardAnalysisResults&>, polly::ScopStandardAnalysisResults&, polly::SPMUpdater&>::run(polly::Scop&, llvm::AnalysisManager<polly::Scop, polly::ScopStandardAnalysisResults&>&, polly::ScopStandardAnalysisResults&, polly::SPMUpdater&) (/lib64/libLLVM-14.so+0x7b7b644)
#21 0x00007f70d89d6bc9 (/lib64/libLLVM-14.so+0x7af5bc9)
#22 0x00007f70d4f482b4 llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function> >::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/lib64/libLLVM-14.so+0x40672b4)
#23 0x00007f70d76a11bf (/lib64/libLLVM-14.so+0x67c01bf)
#24 0x00007f70d4f4e4ab llvm::ModuleToFunctionPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/lib64/libLLVM-14.so+0x406d4ab)
#25 0x00007f70d76a3fdf (/lib64/libLLVM-14.so+0x67c2fdf)
#26 0x00007f70d4f44d80 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module> >::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/lib64/libLLVM-14.so+0x4063d80)
#27 0x00007f70dbeef71f (/lib64/libclang-cpp.so.14+0x28a671f)
#28 0x00007f70dbee5cdc 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> >) (/lib64/libclang-cpp.so.14+0x289ccdc)
#29 0x00007f70dc2e5108 (/lib64/libclang-cpp.so.14+0x2c9c108)
#30 0x00007f70dac16f95 clang::ParseAST(clang::Sema&, bool, bool) (/lib64/libclang-cpp.so.14+0x15cdf95)
#31 0x00007f70dccf431f clang::ASTFrontendAction::ExecuteAction() (/lib64/libclang-cpp.so.14+0x36ab31f)
#32 0x00007f70dc2de623 clang::CodeGenAction::ExecuteAction() (/lib64/libclang-cpp.so.14+0x2c95623)
#33 0x00007f70dccf40eb clang::FrontendAction::Execute() (/lib64/libclang-cpp.so.14+0x36ab0eb)
#34 0x00007f70dcc3964b clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/lib64/libclang-cpp.so.14+0x35f064b)
#35 0x00007f70dcd691e2 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/lib64/libclang-cpp.so.14+0x37201e2)
#36 0x0000000000219332 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/usr/bin/clang+0x219332)
#37 0x00000000002157bd (/usr/bin/clang+0x2157bd)
#38 0x00007f70dc8419b4 (/lib64/libclang-cpp.so.14+0x31f89b4)
#39 0x00007f70d4b67bfa llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/lib64/libLLVM-14.so+0x3c86bfa)
#40 0x00007f70dc841885 clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, bool*) const (/lib64/libclang-cpp.so.14+0x31f8885)
#41 0x00007f70dc7f37b9 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&) const (/lib64/libclang-cpp.so.14+0x31aa7b9)
#42 0x00007f70dc7f3c6a clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*> >&) const (/lib64/libclang-cpp.so.14+0x31aac6a)
#43 0x00007f70dc83d6b9 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*> >&) (/lib64/libclang-cpp.so.14+0x31f46b9)
#44 0x0000000000214b85 main (/usr/bin/clang+0x214b85)
#45 0x00007f70d0ae018a (/lib64/libc.so.6+0x2318a)
#46 0x00007f70d0ae0245 __libc_start_main (/lib64/libc.so.6+0x23245)
#47 0x0000000000211f21 _start (/usr/bin/clang+0x211f21)
clang-14: error: clang frontend command failed with exit code 134 (use -v to see invocation)
OpenMandriva 14.0.6-1 clang version 14.0.6 (/builddir/build/BUILD/llvm-project-14.0.6.src/clang 0bfcab5b7fa0dc91c17abf22cff2daec15820197)
Target: x86_64-pc-linux-gnu
```

[dds.c.txt](https://github.com/llvm/llvm-project/files/9440406/dds.c.txt)

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJztWt1z4jgS_2vIiwrKlr8feGBI5jZXySU1ye4rJUsyaMfYXsnOJPfXX8uyg-WYQFI783JLUWDk1q8_1d2SSUv2slyX-0rkotiiescRqWtCd5yhmqsaUaI4muFYctZQGMxkuUfXe7Llt2Qr6HcULdyFM_ejGU7QD1HvEM0JILn-wlmEqFEAO3MuZ85qFjrm1jwrK17sKzS_89B8n-dPezSvyjx_sX_NRfFEpCBFPc9Lwua7UqhaSzmniDG1oGhethclQBsekqsmrxUSxSvP7m1-Yh90-dooCZ8pEOGvP02klmGLPvNWmmvaiJwxIftL-P7y-_XNJXxrDvNKln9yWs-N5RZK0u6O_hIpfF5_g491WagaBABmVQXQ2MOR5gCDtaConeCt4N0TAu_V29Gr50qakS2vwb9NocS2AAeLAn6uj-C8f-c4xuNLxQ1VomVdKcVlLcoCgWvW7nzmXYEUmggk0YE08y7hjdZ44hYO4Q1f-K7ikhQQp3BTuxyBR4l8QbQXi4OOXCnNR-3KJmdoT2q6g6kzHKGMiJyzhXHU_c3V6uEKqSbdixoRlDZbJHlVyhrVJdrVdaW0JvgrvLcQ5U26oOV-4KCBB-GnUKrhCi6QFlAUNG8Yb1cXlUTtUEro91oSyrWZQEiYSUFSMJ0qG2mG9UyiVEkFqeGGbEALKkVVdyI_wDL9jliz11FghpwFal_3stxKskdEbps9h1jpQvDXBb7bSTLz1rzMwImoIhKcDtkFcVCszFAG5jfEuCO-q2qxF__l0gyDxJ6DnGcHXlEWOcynURY77iCu1IsyF_cSYq61yKMxa3wgkuTHplS15GTfBs_axKcOpdisrdA33zc3f9zq9afKGf7iPHss4cBPB-2rQO5YoDRJzwICOgsIj4C4H5Ipzb41xQOsKpL_BgGRc6le18FJngwgLZ7emGfkp1M81zknRVPddZyH6SEvIaGdyR7QLfa-xT4NoziMTgPROAQ6CygYAwUBPQsI6CygcAjkkCzAxHkLRAFiERqQGCgsiMiCSH0_yyZkGUDEEVBYEPFYCjfDSBJhKu87sgCdBZTYQCzzI4xIqrPYe0AYA90rkA5yZwzkJcEJCKCwIFwbgrPMxe-r4wCFBWEvEcYjmgUT5efjpexoJTurkJk6djreMicEgS2N7AXI0zBJvDOAWAB0FpC1lGJC4tRJUJupjZzXKv9PyfgX3WjwzjpQZ3Tuvu4z-Q38AN6DWbd8X8qXFdW1yJTRPmGqfKN4fabmUUojkMcSOBgJHDHCPyrw1V-NeFrnUBRtsScIHl9ayc-SNQRRLFnDkawk4OlnjHtuqgYZEmBhyWCllTjhLiHZGUCOA3QWUDwCcnTSHSizBk3-xQtopXRDdq-Na6pmU9hWfqBl1YXDYT2soDy8KKFuSQFbArDF-s2MNRoNQZkuGJGsn_vNNO0a27vqOJw_ZUR8f_t7xaBhkuf6n2TZsLxokyW2yZgXk9M1HoAw0A2BsGMHUkBD3x8YTxv7XcP9VDv_XUYGrP-rgEkjuOVbfnZHARPCgj4nYAKgs4Dsipf5MU6PB8xh_GtTUL16T5l6YgZ05iMPTsGedOIk8pkW9Z0wAj0tQ1iFMgqJ66an018YUQfoLCB_ZFHuk2HLe1uyJuePZS-1tvCKkaou5bRNzIQPWaSb8hF7MH-USYKRPaAnOMseGOgsoHBkD5_FzhkR1qv9YZ2PR9evsaQH-lkGsAprynkWuROWbHfHc1pVuj91fdPjxiQEYgstHqEFlFHUn_rA-2ov6i-wK4U9711TV43uTwe3LwXZFrA3FVRdFVtR9OYYkPzGCTQZD5xIutMbZOjKrNZsQNqV8hNUj0RCn3yC6AaupkgOvnioYcu9_cYze7j36moE2Blh9ZqnVM3MnaYQfzV8U9W2r_WuvfohRc03_d59MInxjEBC3zCe85qfmNhF4VTATPs5oeBGy89WS0AxD1wnPhONJhSIh2j2qQahbpjB9mpgrHt9VrJ6eLSD5YHvSeeGtCzzw_eZerkQnJm9S7OPMyjNfA9Ww4AnCPFVlkV9cJ0J62dOm5r33pzucqdk8EKSevYask9CKGY8hPT_Nqz_Fv7gjQDgLf7e2AYOtPsD_u8Y4KOqO3aXb5-IUOoloZ_aquuTeS6v2-0p5dPaH5f1SJqcFC-A_apvi2dVHcrCxOXYym5GkIOUTyUlb4V6o8WRbeSkWBF2gKslVl_DzAu7iY4hSt3Nngi7xqykJC86R3lruiOyT2WrrgG2x2DgqRTMku7NiamJopalJVM0kimIUnYCQ5NYGFYxobHvJql_ppXcLE7sFso-DNKHZGk2PGBc64Pob5yWT1y-rHXUPNez1xNHknHokIemzLoOaSNbc2pLGdmSY7l14vwNRBjK6DtjjePYSoRMiqd-h71euxBIe-jrx0tw0t-HQVPHSG4NHspXXx0G1WWzoc_Prmt-pEQJqkuJfpJl4sgi1gObWhKhj9nN7REcyXO9LnRL2d83LFeHHN7GXBuK53scjGVZ007mUeZFaXLUmu2aJG8yWm9iawGPJmqCY43DO6SrLh19SEtCQAlLSzzWkobko1r-u0zVcRXh7o3Qzz6nG589-PMPTsGf1_tKR9WroysitI-7U8NzrdJHw2eMQ0N7Qdm1LPZgK3o0BC4H11Ymn0jhx4z6a41z7srww1HM-KPs7KeQZ3S1OJGiNZ0FZFVEh3DHjcn7B-MeUFgQ4RgCA-pmo6dBliGy3gwEOwYKcyzQcflxM-wiA3dCRU35CmXsCYb0VohL2W6Cuwf6WddZgGuMi8zzU_PMnz8LvVwYR67XlqxGcTR_0s9OFedIDBqDjtNdxQvY4mnfk-7PAnO3YwXR0D607f5DYOT_1ONzg-ekGSVpkEYZgUWRuNSNSJphTLMMM8KpG8TQZCSHQ0CzRdK6P8fhJvTnFZ3nomie59uimf5ngfkMvrQPQxc11NIARIs__ORYPxXVD44T33dg-wpXB8RevAu-dMPQjdwoSYILtvRY4iXkohZ1zpdDF37WbP_86-Bn_-vgopH58vN_Kwgi3_UudsuYBTiNPdhhRgGD6HZYjBMcZMSLktglyUVOUp6rJQQmxOOFWGIHYyfGbbwHwcLFUZy6XhZ4QZA4kOtg7wPZJ19oxotSbi_kspUhbbYKbuZQFtXhJlGt6XmPT5p6V8plymXZLpeLVuBlK-3_ADyyvpA">