[llvm] DAG: Preserve range metadata when load is narrowed (PR #128144)

Daniel Thornburgh via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 26 14:00:10 PST 2025


mysterymath wrote:

This has been causing a build failure on the Fuchsia toolchain clang build. I've verified that reverting this PR allows clang to once again build successfully, so I'm issuing a revert.

```
[1526/5272](61) Building CXX object lib/Transforms/Vectorize/CMakeFiles/LLVMVectorize.dir/LoopVectorize.cpp.o
FAILED: lib/Transforms/Vectorize/CMakeFiles/LLVMVectorize.dir/LoopVectorize.cpp.o 
/b/s/w/ir/x/w/llvm_build/./bin/clang++ --sysroot=/b/s/w/ir/x/w/cipd/linux -DGTEST_HAS_RTTI=0 -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/b/s/w/ir/x/w/llvm_build/tools/clang/stage2-bins/lib/Transforms/Vectorize -I/b/s/w/ir/x/w/llvm-llvm-project/llvm/lib/Transforms/Vectorize -I/b/s/w/ir/x/w/cipd/model/tensorflow/include -I/b/s/w/ir/x/w/llvm_build/tools/clang/stage2-bins/include -I/b/s/w/ir/x/w/llvm-llvm-project/llvm/include -isystem /b/s/w/ir/x/w/zlib_install_target/include -isystem /b/s/w/ir/x/w/zstd_install/include -stdlib=libc++ -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -flto=full -ffat-lto-objects -ffile-prefix-map=/b/s/w/ir/x/w/llvm_build/tools/clang/stage2-bins=../../../../llvm-llvm-project -ffile-prefix-map=/b/s/w/ir/x/w/llvm-llvm-project/= -no-canonical-prefixes -O3 -DNDEBUG -std=c++17 -fvisibility=default  -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -MD -MT lib/Transforms/Vectorize/CMakeFiles/LLVMVectorize.dir/LoopVectorize.cpp.o -MF lib/Transforms/Vectorize/CMakeFiles/LLVMVectorize.dir/LoopVectorize.cpp.o.d -o lib/Transforms/Vectorize/CMakeFiles/LLVMVectorize.dir/LoopVectorize.cpp.o -c /b/s/w/ir/x/w/llvm-llvm-project/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
clang++: llvm/lib/IR/ConstantRange.cpp:875: ConstantRange llvm::ConstantRange::truncate(uint32_t) const: Assertion `getBitWidth() > DstTySize && "Not a value truncation"' 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: /b/s/w/ir/x/w/llvm_build/./bin/clang++ --sysroot=/b/s/w/ir/x/w/cipd/linux -DGTEST_HAS_RTTI=0 -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/b/s/w/ir/x/w/llvm_build/tools/clang/stage2-bins/lib/Transforms/Vectorize -I/b/s/w/ir/x/w/llvm-llvm-project/llvm/lib/Transforms/Vectorize -I/b/s/w/ir/x/w/cipd/model/tensorflow/include -I/b/s/w/ir/x/w/llvm_build/tools/clang/stage2-bins/include -I/b/s/w/ir/x/w/llvm-llvm-project/llvm/include -isystem /b/s/w/ir/x/w/zlib_install_target/include -isystem /b/s/w/ir/x/w/zstd_install/include -stdlib=libc++ -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -flto=full -ffat-lto-objects -ffile-prefix-map=/b/s/w/ir/x/w/llvm_build/tools/clang/stage2-bins=../../../../llvm-llvm-project -ffile-prefix-map=/b/s/w/ir/x/w/llvm-llvm-project/= -no-canonical-prefixes -O3 -DNDEBUG -std=c++17 -fvisibility=default -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -MD -MT lib/Transforms/Vectorize/CMakeFiles/LLVMVectorize.dir/LoopVectorize.cpp.o -MF lib/Transforms/Vectorize/CMakeFiles/LLVMVectorize.dir/LoopVectorize.cpp.o.d -o lib/Transforms/Vectorize/CMakeFiles/LLVMVectorize.dir/LoopVectorize.cpp.o -c /b/s/w/ir/x/w/llvm-llvm-project/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
1.	<eof> parser at end of file
2.	Code generation
3.	Running pass 'Function Pass Manager' on module '/b/s/w/ir/x/w/llvm-llvm-project/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp'.
4.	Running pass 'X86 DAG->DAG Instruction Selection' on function '@_ZN4llvm17VPReplicateRecipe7executeERNS_16VPTransformStateE'
#0 0x000055ef1dc8fcd8 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/b/s/w/ir/x/w/llvm_build/./bin/clang+++0x442fcd8)
clang++: error: clang frontend command failed with exit code 134 (use -v to see invocation)
Fuchsia clang version 21.0.0git (https://llvm.googlesource.com/llvm-project 900220d444257633cc7d1be1475d4da1be58e0ed)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /b/s/w/ir/x/w/llvm_build/./bin
Build config: +assertions
clang++: note: diagnostic msg: 
********************
```


https://github.com/llvm/llvm-project/pull/128144


More information about the llvm-commits mailing list