[PATCH] D85632: [Attributor] Implement AAPotentialValues
Shinji Okumura via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Aug 11 04:22:52 PDT 2020
okura added inline comments.
================
Comment at: llvm/lib/Transforms/IPO/AttributorAttributes.cpp:7426
+ if (MaybeTrue & MaybeFalse)
+ break;
+ }
----------------
jdoerfert wrote:
> You can indicate a pessimistic fixpoint here. It's an `i1` which can be true and false :)
If I indicate a pessimistic fixpoint, the state becomes invalid. If not, the state becomes {0,1}. I think this difference makes the deduction weaker. For example, the expected value simplification is not achieved in the case `@potential_test3` in potential.ll.
I think I should handle known (the worst) state for values that have a very small bit width.
In the following example, the returned value's state becomes an invalid state with current implementation. But it should be {0,1}, I think.
```
define i32 @foo(i1 %c) {
%ret = zext i1 %c to i32
ret i32 %ret
}
```
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D85632/new/
https://reviews.llvm.org/D85632
More information about the llvm-commits
mailing list