You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Unit test: Transforms/InstCombine/getelementptr.ll
Summary: just because 2 pointers have the same integer value it doesn't mean they are the same pointer. While %gep is in bounds, %c2 may refer to another object with an OOB pointer.
define * @test45(* %c1, * %c2) {
%0:
%ptrtoint1 = ptrtoint * %c1 to i64
%ptrtoint2 = ptrtoint * %c2 to i64
%sub = sub i64 %ptrtoint2, %ptrtoint1
%shr = sdiv i64 %sub, 7
%gep = gep inbounds * %c1, 7 x i64 %shr
ret * %gep
}
=>
define * @test45(* %c1, * %c2) {
%0:
%gep = bitcast * %c2 to *
ret * %gep
}
Transformation doesn't verify!
ERROR: Value mismatch
Extended Description
Unit test: Transforms/InstCombine/getelementptr.ll
Summary: just because 2 pointers have the same integer value it doesn't mean they are the same pointer. While %gep is in bounds, %c2 may refer to another object with an OOB pointer.
define * @test45(* %c1, * %c2) {
%0:
%ptrtoint1 = ptrtoint * %c1 to i64
%ptrtoint2 = ptrtoint * %c2 to i64
%sub = sub i64 %ptrtoint2, %ptrtoint1
%shr = sdiv i64 %sub, 7
%gep = gep inbounds * %c1, 7 x i64 %shr
ret * %gep
}
=>
define * @test45(* %c1, * %c2) {
%0:
%gep = bitcast * %c2 to *
ret * %gep
}
Transformation doesn't verify!
ERROR: Value mismatch
Example:
Source:
i64 %ptrtoint1 = #x72907442c8000040 (8255225947142225984)
i64 %ptrtoint2 = #x72822042c800003f (8251192938491543615)
i64 %sub = #xfff1abffffffffff (18442711065058869247, -4033008650682369)
i64 %shr = #xfffdf40000000000 (18446167929616596992, -576144092954624)
Target:
Source value: pointer(non-local, block_id=1, offset=7786759226918961216)
Target value: pointer(non-local, block_id=0, offset=8251192938491543615)
https://web.ist.utl.pt/nuno.lopes/alive2/index.php?hash=2009353267698970&test=Transforms%2FInstCombine%2Fgetelementptr.ll
The text was updated successfully, but these errors were encountered: