- User Since
- May 17 2021, 1:21 PM (123 w, 4 d)
Jun 6 2023
Can you rebase it to latest and restart buildbot? I see no reason it should fail with an OOM.
May 31 2023
That's correct. I will patch a fix for the crash after this. Yes the bufferization will crash for above example too.
May 29 2023
I think I do. I will push it. Thanks a lot for reviewing this!
Do dead-code elimination
Add op type constraint over SelectOp operands
May 23 2023
Remove irrelevant docs
Rename type to ScalarConditionOrMatchingShape
This test contains tensor<i1> and I am not sure if I should edit the CHECKs or remove the test altogether (as it will not check anything about linalg.generic, the reason why it was placed there).
Mar 28 2023
Mar 27 2023
Mar 22 2023
Hi, I came across this due to changes in Static Analyzer. One of the changes is not related to the Github issue mentioned above. Maybe we can drop that file?
Jan 24 2023
Jan 4 2023
Re-introduce bitwidth comparison
Dec 18 2022
Dec 17 2022
Remove redundant branches
Dec 15 2022
Dec 14 2022
Dec 9 2022
Assert over non-empty ranges and add fixme for not handled cases
Dec 6 2022
Add more tests for complete coverage
Nov 25 2022
Fix test cases
Nov 8 2022
Sep 29 2022
Fix casting to bigger/unsigned type and add tests with multiple ranges in RangeSet
Jul 18 2022
Rebase and fix comments
Considering @ASDenysPetrov 's example of LHS = [1, 2] U [8, 9] and RHS = [5, 6], I constructed a test case as following:
Remove filling gaps and convert, use castTo, and add tests for short-ushort,
Jul 15 2022
The coverage showing unreachability of VisitBinaryOperator<BO_NE> for concrete integer cases.
Add concrete tests for same and different types
Jul 11 2022
I was busy with other stuff. I will take a look at it now.
Apr 10 2022
Apr 7 2022
Fix comments and rebase
Apr 6 2022
@steakhal apologies for holding onto this for so long. I managed to fix previously untestable test cases. The issue was that I was building expressions as (u1 != u2) != 0 and the solver was canonicalizing this to an equivalent BO_EQ expression. That's why, it wasn't reaching VisitBinaryOperator<BO_NE>(). So I changed all tests as following: (u1 != u2) (removing the latter != 0 part. Also, I utilized the getConcreteValue() for checking of single APSInt in the RangeSets.
Fix test cases to make them reachable via VisiBinaryOperator<BO_NE> and using getConcreteValue()
Mar 2 2022
Buildbots are happy. I think we can land this. @steakhal do you mind landing it?
Mar 1 2022
I rebased to see if it satisfies the buildbot.
Feb 28 2022
This patch fixes #53967.
Nov 29 2021
Closing this as this is mistakenly a duplicate of existing differential D112621.
I have made few changes:
Fix comparison between different types and add a test to check it
Oct 27 2021
@steakhal @martong This patch solves the comparison between different types by bypassing the RangeSets first to VisitBinaryOperator which coarses/converts, and then only it checks for any True/False ranges via comparison. This is similar to what happens with BO_Rem, BO_And etc. as well.
Oct 23 2021
Gentle ping! I think landing it will make collecting analyzer information easier (in terms of faster build) as more (appropriate) cmake options can be passed via cmdline.
Based on the information from debugger, the logs show RangeSets [0, 255] and [INT_MIN, 0] from different types are causing the failure.
I tried producing a compact test case. The essential part is the comparison between different types, as in this case unsigned int and int. In other binary operators (BO_And, BO_Rem, etc.), this gets handled by coarsing RangeSets to Ranges and converting those Ranges to resulting type for comparison. This is missing in BO_NE. I suppose, this may be the reason behind the signedness mismatch.
Oct 22 2021
I have received a failed build on clang-ppc64be-linux (https://lab.llvm.org/buildbot/#/builders/52/builds/11704). Although, I haven't verified the commit. Is there something wrong with this commit? Is the function VisitBinaryOperator<BO_NE> reachable?
Oct 1 2021
I'll take a look at this over the weekend.
Sep 30 2021
Sep 29 2021
Apply mentioned edits in testcases
Sep 28 2021
The pre-merge checks fail due to the patch being unable to get applied. The troubleshooting suggest to update the patch via arc diff `git merge-base HEAD origin` --update D106102 and it would include all local changes into that patch. Shouldn't I avoid including all local changes, as some local changes are still WIP?
Move method to a specialized template for VisitBinaryOperator
Sep 25 2021
@vsavchenko should we land this?
Upgrade cmake to 3.21.3
Sep 24 2021
I haven't tried specializing that VisitBinaryOperator method which converts Ranges from RangeSets (as @vsavchenko mentioned). Should this case for NE stay here in the switch or move?
Aug 3 2021
I have updated the proof for Add: https://gist.github.com/weirdsmiley/ad6a9dbf3370e96d29f9e90068931d25