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
Consider "i64 and (i64 ptrtoint (i64 (i64)* @cons to i64), i64 -8)"[1].
(Where @cons is a global function with an alignment >= 8 specified)
Such expressions aren't simplified by "opt -std-compile-opts", even though the relevant bits of the ptrtoint result are guaranteed to be zero because of above-mentioned alignment and similar optimizations are performed if the pointer is replaced by an integer.
[1]: That expression was shortened for readability, and not actually tested in this form. The actual expression was "i64 inttoptr (i64 and (i64 or (i64 ptrtoint (i64 (i64)* @cons to i64), i64 1), i64 -8) to i64 (i64)*)".
The text was updated successfully, but these errors were encountered:
However, the given testcase isn't yet simplified because it uses a constant expression
instead of instructions, so it would need to be simplified by the constant folder.
Extended Description
Consider "i64 and (i64 ptrtoint (i64 (i64)* @cons to i64), i64 -8)"[1].
(Where @cons is a global function with an alignment >= 8 specified)
Such expressions aren't simplified by "opt -std-compile-opts", even though the relevant bits of the ptrtoint result are guaranteed to be zero because of above-mentioned alignment and similar optimizations are performed if the pointer is replaced by an integer.
[1]: That expression was shortened for readability, and not actually tested in this form. The actual expression was "i64 inttoptr (i64 and (i64 or (i64 ptrtoint (i64 (i64)* @cons to i64), i64 1), i64 -8) to i64 (i64)*)".
The text was updated successfully, but these errors were encountered: