vitalybuka marked an inline comment as done. vitalybuka added inline comments.
================ Comment at: llvm/lib/Analysis/ValueTracking.cpp:3222 + if (auto *CE = dyn_cast<ConstantExpr>(C)) { + if (CE->getOpcode() == Instruction::IntToPtr) { ---------------- @pcc BTW, your original patch just gave up on size mismatch Something like: ``` if (auto *CE = dyn_cast<ConstantExpr>(C)) { if (CE->getOpcode() == Instruction::IntToPtr && cast<IntegerType>(CE->getOperand(0)->getType())->getBitWidth() == DL.getPointerSizeInBits( cast<PointerType>(CE->getType())->getAddressSpace())) { return isBytewiseValue(CE->getOperand(0), DL); } return nullptr; } ``` Both versions affect binary size about the same. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63967/new/ https://reviews.llvm.org/D63967 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits