[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