[PATCH] D86018: [Attributor] fix AAValueConstantRange and IntegerRangeState implementation

Shinji Okumura via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat Aug 15 08:58:02 PDT 2020


okura created this revision.
Herald added subscribers: llvm-commits, kuter, uenoku, hiraditya.
Herald added a reviewer: uenoku.
Herald added a reviewer: jdoerfert.
Herald added a reviewer: homerdin.
Herald added a project: LLVM.
okura requested review of this revision.
Herald added a reviewer: sstefan1.
Herald added a reviewer: baziotis.
Herald added a subscriber: bbn.

The current deduction of `AAValueConstantRange` is (maybe mistakenly) too conservative.
The following are the revised points:

1. `unionKnown` in `IntegerRangeState` ... I think we should not take union with a given range for assumed range.
2. `AAValueConstantRangeFloating::initialize`
  - Although we handle `CallBase` case in `updateImpl`, we give up in `initialize` in the case.
  - Propagate known states for cast instructions.


https://reviews.llvm.org/D86018

Files:
  llvm/include/llvm/Transforms/IPO/Attributor.h
  llvm/lib/Transforms/IPO/AttributorAttributes.cpp
  llvm/test/Transforms/Attributor/potential.ll
  llvm/test/Transforms/Attributor/range.ll
  llvm/test/Transforms/Attributor/willreturn.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D86018.285845.patch
Type: text/x-patch
Size: 10126 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200815/56394e31/attachment.bin>


More information about the llvm-commits mailing list