[llvm] [InstCombine] fold `sub(zext(ptrtoint), zext(ptrtoint))` (PR #115369)

Nikita Popov via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 13 14:23:27 PST 2024


================
@@ -2631,6 +2631,18 @@ Instruction *InstCombinerImpl::visitSub(BinaryOperator &I) {
                                                /* IsNUW */ false))
       return replaceInstUsesWith(I, Res);
 
+  if (match(Op0, m_ZExt(m_PtrToInt(m_Value(LHSOp)))) &&
+      match(Op1, m_PtrToInt(m_Value(RHSOp))) && isa<GlobalValue>(RHSOp)) {
----------------
nikic wrote:

Hm, it's probably fairly tricky to do that conversion, so using m_ZExtOrSelf here would be fine for now.

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


More information about the llvm-commits mailing list