diff options
author | Vitaly Buka <vitalybuka@google.com> | 2020-05-26 22:05:41 -0700 |
---|---|---|
committer | Vitaly Buka <vitalybuka@google.com> | 2020-05-26 23:22:36 -0700 |
commit | d0f1f5adfa574ece80d566f400ebb689ae822a16 (patch) | |
tree | ef7125543b8f43c10caadd3c7f732132bdec7182 /llvm/lib/Analysis/StackSafetyAnalysis.cpp | |
parent | 6bbaa62d26b6061c93eb62c82048c14014ab7bd7 (diff) | |
download | llvm-d0f1f5adfa574ece80d566f400ebb689ae822a16.zip llvm-d0f1f5adfa574ece80d566f400ebb689ae822a16.tar.gz llvm-d0f1f5adfa574ece80d566f400ebb689ae822a16.tar.bz2 |
[StackSafety] Use getSignedRange for offsets
Diffstat (limited to 'llvm/lib/Analysis/StackSafetyAnalysis.cpp')
-rw-r--r-- | llvm/lib/Analysis/StackSafetyAnalysis.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/llvm/lib/Analysis/StackSafetyAnalysis.cpp b/llvm/lib/Analysis/StackSafetyAnalysis.cpp index 10b9f14..f72197e 100644 --- a/llvm/lib/Analysis/StackSafetyAnalysis.cpp +++ b/llvm/lib/Analysis/StackSafetyAnalysis.cpp @@ -226,10 +226,10 @@ ConstantRange StackSafetyLocalAnalysis::offsetFrom(Value *Addr, Value *Base) { AllocaOffsetRewriter Rewriter(SE, Base); const SCEV *Expr = Rewriter.visit(SE.getSCEV(Addr)); - ConstantRange Offset = SE.getUnsignedRange(Expr).zextOrTrunc(PointerSize); - if (Offset.isEmptySet()) + ConstantRange Offset = SE.getSignedRange(Expr); + if (Offset.isEmptySet() || Offset.isFullSet() || Offset.isSignWrappedSet()) return UnknownRange; - return Offset; + return Offset.sextOrTrunc(PointerSize); } ConstantRange |