[PATCH] D90610: [Inline] Fix in handling of ptrtoint in InlineCost
Sanjay Patel via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Nov 2 12:58:10 PST 2020
spatel added inline comments.
================
Comment at: llvm/lib/Analysis/InlineCost.cpp:1124
+ else {
+ APInt OffsetWithCorrectSize = BaseAndOffset.second.sext(IntegerSize);
+ std::pair<Value *, APInt> BaseAndOffsetWithCorrectSize =
----------------
bjope wrote:
> 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)?
Hmm...yes, I think you're right:
http://llvm.org/docs/LangRef.html#ptrtoint-to-instruction
So disregard my GEP comment. It would be great to manufacture an example of this behavior, but I'm not sure how to do that.
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