Issue |
133154
|
Summary |
Signed integer overflow in Constraint Elimination pass
|
Labels |
new issue
|
Assignees |
|
Reporter |
aeubanks
|
```
$ cat /tmp/a.ll
define double @f() {
entry:
%0 = shl nuw i64 4503599627370496, 11
%cmp3.not.1.i.i856 = icmp eq i64 %0, 0
br i1 %cmp3.not.1.i.i856, label %if.end23.sink.split.i894, label %lor.lhs.false.i858
lor.lhs.false.i858: ; preds = %entry
br label %if.end23.sink.split.i894
if.end23.sink.split.i894: ; preds = %lor.lhs.false.i858, %entry
ret double 0.000000e+00
}
# opt built with ubsan
$ opt -p constraint-elimination -disable-output /tmp/a.ll
../../llvm/lib/Transforms/Scalar/ConstraintElimination.cpp:700:11: runtime error: signed integer overflow: -9223372036854775808 * -1 cannot be represented in type 'int64_t' (aka 'long')
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ../../llvm/lib/Transforms/Scalar/ConstraintElimination.cpp:700:11
```
@fhahn
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs