Compiling the attached test case (reduced from ImageMagick 7.1.0-47) with clang …14.0.6 using
```shell
clang -fopenmp -O3 -mllvm -polly -mllvm -polly-invariant-load-hoisting -c dds.c -o dds.o
```
results in
```console
$ /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)