Issue |
141583
|
Summary |
[LoongArch] Assertion failure `llvm::isUIntN(BitWidth, val) && "Value is not an N-bit unsigned value"`
|
Labels |
crash,
backend:loongarch
|
Assignees |
heiher
|
Reporter |
heiher
|
### Reproduce case
```llvm
;; The `const` is a negative integer.
define i32 @pat9(i32 %a) {
%and = and i32 %a, 65535 ; 0x0000ffff
%or = or i32 %and, -2110521344 ; 0x82340000
ret i32 %or
}
```
### Run
```sh
llc --mtriple=loongarch32 --mattr=+32s,+d -o - test.ll
```
### Assertion failure and backtrace
```
llc: llvm/include/llvm/ADT/APInt.h:128: llvm::APInt::APInt(unsigned int, uint64_t, bool, bool): Assertion `llvm::isUIntN(BitWidth, val) && "Value is not an N-bit unsigned value"' failed.
#4 0x00007fffefa27b11 in llvm::APInt::APInt (this=0x7fffffff9b98, numBits=32, val=18446744073709519412, isSigned=false, implicitTrunc=false)
at /home/hev/git/llvm/llvm/include/llvm/ADT/APInt.h:127
#5 0x00007ffff10b4e84 in llvm::SelectionDAG::getConstant (this=0x555555684f50, Val=18446744073709519412, DL=..., VT=..., isT=false, isO=false)
at /home/hev/git/llvm/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:1660
#6 0x00007ffff5dc31ae in performORCombine (N=0x5555556c2068, DAG=..., DCI=..., Subtarget=...) at /home/hev/git/llvm/llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp:4413
#7 0x00007ffff5dc1550 in llvm::LoongArchTargetLowering::PerformDAGCombine (this=0x7fffe7d4e328, N=0x5555556c2068, DCI=...)
at /home/hev/git/llvm/llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp:5301
#8 0x00007ffff0d0a34b in (anonymous namespace)::DAGCombiner::combine (this=0x7fffffffacd0, N=0x5555556c2068)
at /home/hev/git/llvm/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp:2048
#9 0x00007ffff0d098be in (anonymous namespace)::DAGCombiner::Run (this=0x7fffffffacd0, AtLevel=llvm::AfterLegalizeDAG)
at /home/hev/git/llvm/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp:1802
#10 0x00007ffff0d0915b in llvm::SelectionDAG::Combine (this=0x555555684f50, Level=llvm::AfterLegalizeDAG, BatchAA=0x555555695bf0, OptLevel=llvm::CodeGenOptLevel::Default)
at /home/hev/git/llvm/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp:29578
#11 0x00007ffff1154ad4 in llvm::SelectionDAGISel::CodeGenAndEmitDAG (this=0x555555695ba0) at /home/hev/git/llvm/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:1094
#12 0x00007ffff115360f in llvm::SelectionDAGISel::SelectBasicBlock (this=0x555555695ba0, Begin=..., End=..., HadTailCall=@0x7fffffffbc8f: false)
at /home/hev/git/llvm/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:873
#13 0x00007ffff11531d6 in llvm::SelectionDAGISel::SelectAllBasicBlocks (this=0x555555695ba0, Fn=...)
at /home/hev/git/llvm/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:1898
#14 0x00007ffff11502e2 in llvm::SelectionDAGISel::runOnMachineFunction (this=0x555555695ba0, mf=...)
at /home/hev/git/llvm/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:611
#15 0x00007ffff5d9ca45 in llvm::LoongArchDAGToDAGISel::runOnMachineFunction (this=0x555555695ba0, MF=...)
at /home/hev/git/llvm/llvm/lib/Target/LoongArch/LoongArchISelDAGToDAG.h:34
#16 0x00007ffff114f0c0 in llvm::SelectionDAGISelLegacy::runOnMachineFunction (this=0x55555568ab10, MF=...)
at /home/hev/git/llvm/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:372
...
```
### LLVM version
```
LLVM version 21.0.0git ((https://github.com/llvm/llvm-project b7f5950bb3b97eac979925a3bbf015530c26962e)
```
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs