Closed
Description
Describe the bug
Seems it's actually a compiler assert:
# RUN: at line 1
/__w/llvm/llvm/toolchain/bin//clang++ -Werror -Xsycl-target-backend=amdgcn-amd-amdhsa --offload-arch=gfx1031 -fsycl -fsycl-targets=amdgcn-amd-amdhsa /__w/llvm/llvm/llvm/sycl/test-e2e/Reduction/reduction_span.cpp -o /__w/llvm/llvm/build-e2e/Reduction/Output/reduction_span.cpp.tmp.out
# executed command: /__w/llvm/llvm/toolchain/bin//clang++ -Werror -Xsycl-target-backend=amdgcn-amd-amdhsa --offload-arch=gfx1031 -fsycl -fsycl-targets=amdgcn-amd-amdhsa /__w/llvm/llvm/llvm/sycl/test-e2e/Reduction/reduction_span.cpp -o /__w/llvm/llvm/build-e2e/Reduction/Output/reduction_span.cpp.tmp.out
# .---command stderr------------
# | clang-20: /__w/llvm/llvm/src/llvm/lib/Analysis/ValueTracking.cpp:313: bool llvm::isKnownNonEqual(const llvm::Value*, const llvm::Value*, const llvm::DataLayout&, llvm::AssumptionCache*, const llvm::Instruction*, const llvm::DominatorTree*, bool): Assertion `V1->getType() == V2->getType() && "Testing equality of non-equal types!"' failed.
# | PLEASE submit a bug report to https://github.com/intel/llvm/issues and include the crash backtrace, preprocessed source, and associated run script.
# | Stack dump:
# | 0. Program arguments: /__w/llvm/llvm/toolchain/bin/clang-20 -cc1 -triple amdgcn-amd-amdhsa -aux-triple x86_64-unknown-linux-gnu -fsycl-is-device -fdeclare-spirv-builtins -Wno-sycl-strict -O2 -fsycl-int-header=/tmp/lit-tmp-ehlp3ejn/reduction_span-header-6f8cc6.h -fsycl-int-footer=/tmp/lit-tmp-ehlp3ejn/reduction_span-footer-9dafbc.h -sycl-std=2020 -fsycl-unique-prefix=uid7e50bb1aa80219d0 -D__SYCL_TARGET_AMD_GPU_GFX1031__ -D__SYCL_ANY_DEVICE_HAS_ext_intel_device_id__=1 -D__SYCL_ANY_DEVICE_HAS_ext_intel_max_mem_bandwidth__=1 -D__SYCL_ANY_DEVICE_HAS_ext_intel_memory_bus_width__=1 -D__SYCL_ANY_DEVICE_HAS_ext_intel_memory_clock_rate__=1 -D__SYCL_ANY_DEVICE_HAS_ext_intel_pci_address__=1 -D__SYCL_ANY_DEVICE_HAS_fp64__=1 -D__SYCL_ANY_DEVICE_HAS_gpu__=1 -D__SYCL_ANY_DEVICE_HAS_online_compiler__=1 -D__SYCL_ANY_DEVICE_HAS_online_linker__=1 -D__SYCL_ANY_DEVICE_HAS_queue_profiling__=1 -D__SYCL_ANY_DEVICE_HAS_usm_atomic_host_allocations__=1 -D__SYCL_ANY_DEVICE_HAS_usm_atomic_shared_allocations__=1 -D__SYCL_ANY_DEVICE_HAS_usm_device_allocations__=1 -D__SYCL_ANY_DEVICE_HAS_usm_host_allocations__=1 -D__SYCL_ANY_DEVICE_HAS_usm_shared_allocations__=1 -D__SYCL_ANY_DEVICE_HAS_usm_system_allocations__=1 -D__SYCL_ALL_DEVICES_HAVE_ext_intel_device_id__=1 -D__SYCL_ALL_DEVICES_HAVE_ext_intel_max_mem_bandwidth__=1 -D__SYCL_ALL_DEVICES_HAVE_ext_intel_memory_bus_width__=1 -D__SYCL_ALL_DEVICES_HAVE_ext_intel_memory_clock_rate__=1 -D__SYCL_ALL_DEVICES_HAVE_ext_intel_pci_address__=1 -D__SYCL_ALL_DEVICES_HAVE_fp64__=1 -D__SYCL_ALL_DEVICES_HAVE_gpu__=1 -D__SYCL_ALL_DEVICES_HAVE_online_compiler__=1 -D__SYCL_ALL_DEVICES_HAVE_online_linker__=1 -D__SYCL_ALL_DEVICES_HAVE_queue_profiling__=1 -D__SYCL_ALL_DEVICES_HAVE_usm_atomic_host_allocations__=1 -D__SYCL_ALL_DEVICES_HAVE_usm_atomic_shared_allocations__=1 -D__SYCL_ALL_DEVICES_HAVE_usm_device_allocations__=1 -D__SYCL_ALL_DEVICES_HAVE_usm_host_allocations__=1 -D__SYCL_ALL_DEVICES_HAVE_usm_shared_allocations__=1 -D__SYCL_ALL_DEVICES_HAVE_usm_system_allocations__=1 -Werror=atomic-alignment -emit-llvm-bc -emit-llvm-uselists -dumpdir /__w/llvm/llvm/build-e2e/Reduction/Output/reduction_span.cpp.tmp.out- -disable-free -clear-ast-before-backend -main-file-name reduction_span.cpp -fsycl-use-main-file-name -full-main-file-name /__w/llvm/llvm/llvm/sycl/test-e2e/Reduction/reduction_span.cpp -mrelocation-model pic -pic-level 2 -fhalf-no-semantic-interposition -mframe-pointer=all -ffp-contract=on -fno-rounding-math -mconstructor-aliases -aux-target-cpu x86-64 -fcuda-is-device -mllvm -amdgpu-internalize-symbols -fcuda-allow-variadic-functions -fapply-global-visibility-to-externs -internal-isystem /__w/llvm/llvm/toolchain/bin/../include/sycl -internal-isystem /__w/llvm/llvm/toolchain/bin/../include/sycl/stl_wrappers -internal-isystem /__w/llvm/llvm/toolchain/bin/../include -mlink-builtin-bitcode /__w/llvm/llvm/toolchain/lib/clang/20/../../clc/remangled-l64-signed_char.libspirv-amdgcn-amd-amdhsa.bc -mlink-builtin-bitcode /opt/rocm/amdgcn/bitcode/hip.bc -mlink-builtin-bitcode /opt/rocm/amdgcn/bitcode/ocml.bc -mlink-builtin-bitcode /opt/rocm/amdgcn/bitcode/ockl.bc -mlink-builtin-bitcode /opt/rocm/amdgcn/bitcode/oclc_daz_opt_off.bc -mlink-builtin-bitcode /opt/rocm/amdgcn/bitcode/oclc_unsafe_math_off.bc -mlink-builtin-bitcode /opt/rocm/amdgcn/bitcode/oclc_finite_only_off.bc -mlink-builtin-bitcode /opt/rocm/amdgcn/bitcode/oclc_correctly_rounded_sqrt_off.bc -mlink-builtin-bitcode /opt/rocm/amdgcn/bitcode/oclc_wavefrontsize64_off.bc -mlink-builtin-bitcode /opt/rocm/amdgcn/bitcode/oclc_isa_version_1031.bc -mlink-builtin-bitcode /opt/rocm/amdgcn/bitcode/oclc_abi_version_400.bc -target-cpu gfx1031 -debugger-tuning=gdb -fdebug-compilation-dir=/__w/llvm/llvm/build-e2e/Reduction -resource-dir /__w/llvm/llvm/toolchain/lib/clang/20 -internal-isystem /__w/llvm/llvm/toolchain/bin/../include/sycl -internal-isystem /__w/llvm/llvm/toolchain/bin/../include/sycl/stl_wrappers -internal-isystem /__w/llvm/llvm/toolchain/bin/../include -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11 -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/11/../../../../include/x86_64-linux-gnu/c++/11 -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/backward -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11 -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/11/../../../../include/x86_64-linux-gnu/c++/11 -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/backward -internal-isystem /__w/llvm/llvm/toolchain/lib/clang/20/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 -internal-isystem /__w/llvm/llvm/toolchain/lib/clang/20/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 -Werror -std=c++17 -fdeprecated-macro -ferror-limit 19 -fgpu-rdc -fgnuc-version=4.2.1 -fskip-odr-check-in-gmf -fcxx-exceptions -fexceptions -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /tmp/lit-tmp-ehlp3ejn/reduction_span-gfx1031-496b7b.bc -x c++ /__w/llvm/llvm/llvm/sycl/test-e2e/Reduction/reduction_span.cpp
# | 1. <eof> parser at end of file
# | 2. Optimizer
# | 3. Running pass "require<globals-aa>,function(invalidate<aa>),require<profile-summary>,cgscc(devirt<4>(inline,function-attrs<skip-non-recursive-function-attrs>,openmp-opt-cgscc,function(amdgpu-promote-kernel-arguments,infer-address-spaces,amdgpu-lower-kernel-attributes,amdgpu-promote-alloca-to-vector),function<eager-inv;no-rerun>(sroa<modify-cfg>,early-cse<memssa>,speculative-execution<only-if-divergent-target>,jump-threading,correlated-propagation,simplifycfg<bonus-inst-threshold=1;no-forward-switch-cond;switch-range-to-icmp;no-switch-to-lookup;keep-loops;no-hoist-common-insts;no-sink-common-insts;speculate-blocks;simplify-cond-branch;no-speculate-unpredictables>,instcombine<max-iterations=1;no-use-loop-info;no-verify-fixpoint>,aggressive-instcombine,libcalls-shrinkwrap,amdgpu-usenative,amdgpu-simplifylib,tailcallelim,simplifycfg<bonus-inst-threshold=1;no-forward-switch-cond;switch-range-to-icmp;no-switch-to-lookup;keep-loops;no-hoist-common-insts;no-sink-common-insts;speculate-blocks;simplify-cond-branch;no-speculate-unpredictables>,reassociate,constraint-elimination,loop-mssa(loop-instsimplify,loop-simplifycfg,licm<no-allowspeculation>,loop-rotate<header-duplication;no-prepare-for-lto>,licm<allowspeculation>,simple-loop-unswitch<no-nontrivial;trivial>),simplifycfg<bonus-inst-threshold=1;no-forward-switch-cond;switch-range-to-icmp;no-switch-to-lookup;keep-loops;no-hoist-common-insts;no-sink-common-insts;speculate-blocks;simplify-cond-branch;no-speculate-unpredictables>,instcombine<max-iterations=1;no-use-loop-info;no-verify-fixpoint>,loop(loop-idiom,indvars,simple-loop-unswitch<no-nontrivial;trivial>,loop-deletion,loop-unroll-full),sroa<modify-cfg>,vector-combine,mldst-motion<no-split-footer-bb>,gvn<>,sccp,bdce,instcombine<max-iterations=1;no-use-loop-info;no-verify-fixpoint>,amdgpu-usenative,amdgpu-simplifylib,jump-threading,correlated-propagation,adce,memcpyopt,dse,move-auto-init,loop-mssa(licm<allowspeculation>),coro-elide,simplifycfg<bonus-inst-threshold=1;no-forward-switch-cond;switch-range-to-icmp;no-switch-to-lookup;keep-loops;hoist-common-insts;sink-common-insts;speculate-blocks;simplify-cond-branch;no-speculate-unpredictables>,instcombine<max-iterations=1;no-use-loop-info;no-verify-fixpoint>,amdgpu-usenative,amdgpu-simplifylib),function-attrs,function(require<should-not-run-function-passes>),coro-split)),function(invalidate<should-not-run-function-passes>),cgscc(devirt<4>())" on module "/__w/llvm/llvm/llvm/sycl/test-e2e/Reduction/reduction_span.cpp"
# | 4. Running pass "cgscc(devirt<4>(inline,function-attrs<skip-non-recursive-function-attrs>,openmp-opt-cgscc,function(amdgpu-promote-kernel-arguments,infer-address-spaces,amdgpu-lower-kernel-attributes,amdgpu-promote-alloca-to-vector),function<eager-inv;no-rerun>(sroa<modify-cfg>,early-cse<memssa>,speculative-execution<only-if-divergent-target>,jump-threading,correlated-propagation,simplifycfg<bonus-inst-threshold=1;no-forward-switch-cond;switch-range-to-icmp;no-switch-to-lookup;keep-loops;no-hoist-common-insts;no-sink-common-insts;speculate-blocks;simplify-cond-branch;no-speculate-unpredictables>,instcombine<max-iterations=1;no-use-loop-info;no-verify-fixpoint>,aggressive-instcombine,libcalls-shrinkwrap,amdgpu-usenative,amdgpu-simplifylib,tailcallelim,simplifycfg<bonus-inst-threshold=1;no-forward-switch-cond;switch-range-to-icmp;no-switch-to-lookup;keep-loops;no-hoist-common-insts;no-sink-common-insts;speculate-blocks;simplify-cond-branch;no-speculate-unpredictables>,reassociate,constraint-elimination,loop-mssa(loop-instsimplify,loop-simplifycfg,licm<no-allowspeculation>,loop-rotate<header-duplication;no-prepare-for-lto>,licm<allowspeculation>,simple-loop-unswitch<no-nontrivial;trivial>),simplifycfg<bonus-inst-threshold=1;no-forward-switch-cond;switch-range-to-icmp;no-switch-to-lookup;keep-loops;no-hoist-common-insts;no-sink-common-insts;speculate-blocks;simplify-cond-branch;no-speculate-unpredictables>,instcombine<max-iterations=1;no-use-loop-info;no-verify-fixpoint>,loop(loop-idiom,indvars,simple-loop-unswitch<no-nontrivial;trivial>,loop-deletion,loop-unroll-full),sroa<modify-cfg>,vector-combine,mldst-motion<no-split-footer-bb>,gvn<>,sccp,bdce,instcombine<max-iterations=1;no-use-loop-info;no-verify-fixpoint>,amdgpu-usenative,amdgpu-simplifylib,jump-threading,correlated-propagation,adce,memcpyopt,dse,move-auto-init,loop-mssa(licm<allowspeculation>),coro-elide,simplifycfg<bonus-inst-threshold=1;no-forward-switch-cond;switch-range-to-icmp;no-switch-to-lookup;keep-loops;hoist-common-insts;sink-common-insts;speculate-blocks;simplify-cond-branch;no-speculate-unpredictables>,instcombine<max-iterations=1;no-use-loop-info;no-verify-fixpoint>,amdgpu-usenative,amdgpu-simplifylib),function-attrs,function(require<should-not-run-function-passes>),coro-split))" on module "/__w/llvm/llvm/llvm/sycl/test-e2e/Reduction/reduction_span.cpp"
# | 5. Running pass "dse" on function "_ZZZN4sycl3_V16detail16NDRangeReductionILNS1_9reduction8strategyE5EE3runINS1_9auto_nameELi1ENS0_3ext6oneapi12experimental10propertiesISt5tupleIJEEEEZ4testILm16EiSt6bit_orIiENS0_8nd_rangeILi1EEEL15submission_mode0EEvNS0_5queueET2_T0_SN_EUlT_RSN_E_NS1_14reduction_implIiSH_Li1ELm16ELb1EPiEEEEvRNS0_7handlerERSt10shared_ptrINS1_10queue_implEENSI_IXT0_EEERT1_RT3_RSM_ENKUlSO_E_clINS0_8accessorIiLi1ELNS0_6access4modeE1026ELNS19_6targetE2014ELNS19_11placeholderE0ENS9_22accessor_property_listIJEEEEEEEDaSO_ENKUlNS0_7nd_itemILi1EEEE_clES1H_"
# | 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-20 0x00005575f742a270 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 240
# | 1 clang-20 0x00005575f742768f llvm::sys::RunSignalHandlers() + 47
# | 2 clang-20 0x00005575f74277e5
# | 3 libc.so.6 0x00007fd31f607520
# | 4 libc.so.6 0x00007fd31f65b9fc pthread_kill + 300
# | 5 libc.so.6 0x00007fd31f607476 raise + 22
# | 6 libc.so.6 0x00007fd31f5ed7f3 abort + 211
# | 7 libc.so.6 0x00007fd31f5ed71b
# | 8 libc.so.6 0x00007fd31f5fee96
# | 9 clang-20 0x00005575f652eb96
# | 10 clang-20 0x00005575f628f72d llvm::BasicAAResult::aliasGEP(llvm::GEPOperator const*, llvm::LocationSize, llvm::Value const*, llvm::LocationSize, llvm::Value const*, llvm::Value const*, llvm::AAQueryInfo&) + 8781
# | 11 clang-20 0x00005575f628fb07 llvm::BasicAAResult::aliasCheckRecursive(llvm::Value const*, llvm::LocationSize, llvm::Value const*, llvm::LocationSize, llvm::AAQueryInfo&, llvm::Value const*, llvm::Value const*) + 279
# | 12 clang-20 0x00005575f6292910 llvm::BasicAAResult::aliasCheck(llvm::Value const*, llvm::LocationSize, llvm::Value const*, llvm::LocationSize, llvm::AAQueryInfo&, llvm::Instruction const*) + 1744
# | 13 clang-20 0x00005575f6292f59 llvm::BasicAAResult::alias(llvm::MemoryLocation const&, llvm::MemoryLocation const&, llvm::AAQueryInfo&, llvm::Instruction const*) + 169
# | 14 clang-20 0x00005575f62719a1 llvm::AAResults::alias(llvm::MemoryLocation const&, llvm::MemoryLocation const&, llvm::AAQueryInfo&, llvm::Instruction const*) + 497
# | 15 clang-20 0x00005575f6273cea llvm::AAResults::getModRefInfo(llvm::Instruction const*, std::optional<llvm::MemoryLocation> const&, llvm::AAQueryInfo&) + 602
# | 16 clang-20 0x00005575fb6648db
# | 17 clang-20 0x00005575fb66d38e
# | 18 clang-20 0x00005575fb66f767
# | 19 clang-20 0x00005575fb671f08 llvm::DSEPass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) + 616
# | 20 clang-20 0x00005575f893fd86
# | 21 clang-20 0x00005575f6dc8ddf llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) + 431
# | 22 clang-20 0x00005575f56ad2f6
# | 23 clang-20 0x00005575f62e518c llvm::CGSCCToFunctionPassAdaptor::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) + 1740
# | 24 clang-20 0x00005575f576ca66
# | 25 clang-20 0x00005575f62df188 llvm::PassManager<llvm::LazyCallGraph::SCC, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) + 488
# | 26 clang-20 0x00005575f893d6d6
# | 27 clang-20 0x00005575f62e64ed llvm::DevirtSCCRepeatedPass::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) + 509
# | 28 clang-20 0x00005575f893d726
# | 29 clang-20 0x00005575f62e0e9b llvm::ModuleToPostOrderCGSCCPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) + 3179
# | 30 clang-20 0x00005575f893d686
# | 31 clang-20 0x00005575f6dc5bbd llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) + 1421
# | 32 clang-20 0x00005575f8bc361a llvm::ModuleInlinerWrapperPass::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) + 1146
# | 33 clang-20 0x00005575f893ce56
# | 34 clang-20 0x00005575f6dc5bbd llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) + 1421
# | 35 clang-20 0x00005575f76e5e56
# | 36 clang-20 0x00005575f76ea866 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>>, clang::BackendConsumer*) + 3718
# | 37 clang-20 0x00005575f7d77128 clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) + 1704
# | 38 clang-20 0x00005575f9ae9b4d clang::ParseAST(clang::Sema&, bool, bool) + 1293
# | 39 clang-20 0x00005575f7d78ebe clang::CodeGenAction::ExecuteAction() + 862
# | 40 clang-20 0x00005575f80796f9 clang::FrontendAction::Execute() + 201
# | 41 clang-20 0x00005575f7ff56c5 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 1173
# | 42 clang-20 0x00005575f8153db3 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 611
# | 43 clang-20 0x00005575f5665197 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) + 6791
# | 44 clang-20 0x00005575f565dc1a
# | 45 clang-20 0x00005575f5660ff3 clang_main(int, char**, llvm::ToolContext const&) + 4531
# | 46 clang-20 0x00005575f557a08b main + 107
# | 47 libc.so.6 0x00007fd31f5eed90
# | 48 libc.so.6 0x00007fd31f5eee40 __libc_start_main + 128
# | 49 clang-20 0x00005575f565d345 _start + 37
# | clang++: error: unable to execute command: Aborted (core dumped)
# | clang++: error: clang frontend command failed due to signal (use -v to see invocation)
# | clang version 20.0.0git (https://github.com/intel/llvm a689b8d64b8539e8f7f704d5d38698b733daf227)
# | Target: x86_64-unknown-linux-gnu
# | Thread model: posix
# | InstalledDir: /__w/llvm/llvm/toolchain/bin
# | Build config: +assertions
# | clang++: note: diagnostic msg: Error generating preprocessed source(s).
# `-----------------------------
# error: command failed with exit status: 1
--
https://github.com/intel/llvm/actions/runs/10607955308/job/29429516450
To reproduce
No response
Environment
No response
Additional context
No response