[PATCH] D90610: [Inline] Fix in handling of ptrtoint in InlineCost
Bjorn Pettersson via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Nov 2 09:57:11 PST 2020
bjope added inline comments.
================
Comment at: llvm/lib/Analysis/InlineCost.cpp:1124
+ else {
+ APInt OffsetWithCorrectSize = BaseAndOffset.second.sext(IntegerSize);
+ std::pair<Value *, APInt> BaseAndOffsetWithCorrectSize =
----------------
spatel wrote:
> uabelho wrote:
> > I don't know if sext is what we want to do here, of it that may lead to problems?
> Signed math is what I would expect based on:
> http://llvm.org/docs/LangRef.html#getelementptr-instruction
> "These integers are treated as signed values where relevant."
> ...and we do similar in GEPOperator::accumulateConstantOffset() for example.
>
Not sure exactly how these ConstantOffsetPtrs are used, but doesn't it matter that ptrtoint is defined as doing a zext if the integer size is greater than the size of the pointer (base+offset)?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D90610/new/
https://reviews.llvm.org/D90610
More information about the llvm-commits
mailing list