[PATCH] D86018: [Attributor] fix AAValueConstantRange and IntegerRangeState implementation
Johannes Doerfert via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Aug 19 14:24:14 PDT 2020
jdoerfert added inline comments.
================
Comment at: llvm/include/llvm/Transforms/IPO/Attributor.h:1956
Known = Known.unionWith(R);
- Assumed = Assumed.unionWith(Known);
}
----------------
uenoku wrote:
> okura wrote:
> > jdoerfert wrote:
> > > This looks dangerous as we might end up with a known range that is not subsumed in the assumed range.
> > I'm not sure why a known range should be subsumed in the assumed range. Isn't it the other way around? For example, a known range and assumed range are initialized with full and empty respectively, and the assumed range is subsumed in the known range.
> > The following is another example. Let us assume the two returned values have the same state <full / [0,1)>. I think a clamped state for the returned position should be <full / [0,1)>. However, the clamped state is <full / full> with the current implementation.
> > ```
> > i32 @foo(){
> > ...
> > ret i32 %bar
> > ...
> > ret i32 %baz
> > }
> I think @okura is correct. I don't remember but it looks I mistakenly implemented ;)
I'll trust you then. Make it a standalone commit though please.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D86018/new/
https://reviews.llvm.org/D86018
More information about the llvm-commits
mailing list