User Details
- User Since
- Dec 25 2020, 11:39 PM (117 w, 1 d)
Fri, Mar 24
Thu, Mar 23
Wed, Mar 22
close as commit e2f6ebe8ca15
Address comment
1、delete the repeat ICMP_NE check, as isEquality() already include it
2、use "thwart complexity-based canonicalization" for commuted case
Add "thwart complexity-based canonicalization"
Sun, Mar 19
address commet
1、Add more cases (also update on D146268)
2、update with getScalarSizeInBits and add related vector case
3、use ICmpInst::isEquality(Pred) to replace Pred == ICmpInst::ICMP_EQ
4、I.getPredicate() --> Pred
Add more tests according comment
Sat, Mar 18
ping ?
Thu, Mar 16
1、Precommit the test
2、Add m_OneUse
Tue, Mar 14
Sat, Mar 11
Agree with @spatel , should be redesign in IR level
Thu, Mar 9
Thank for your carefully examine.
Wed, Mar 8
Tue, Mar 7
Fix the runtime issue related to test unittests/ProfileData/ProfileDataTests.
Mon, Mar 6
For the runtime fails of unittests/ProfileData/ProfileDataTests, there is 2 points important
- a) build without -g fall as it transform code (From function _ZN12_GLOBAL__N_152CoverageMappingTest_test_line_coverage_iterator_Test8TestBodyEv)
_ZNK4llvm14iterator_rangeINS_8coverage20LineCoverageIteratorEE3endEv.exit: ; preds = %_ZNK4llvm14iterator_rangeINS_8coverage20LineCoverageIteratorEE5beginEv.exit, %if.then.i.i.i294 %Stats.i.i295 = getelementptr inbounds %"class.llvm::coverage::LineCoverageIterator", ptr %__end1, i64 0, i32 6 %Stats4.i.i296 = getelementptr inbounds %"class.llvm::iterator_range", ptr %ref.tmp32, i64 0, i32 1, i32 6 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %Stats.i.i295, ptr noundef nonnull align 8 dereferenceable(40) %Stats4.i.i296, i64 40, i1 false), !tbaa.struct !339 %Next.i.i299 = getelementptr inbounds %"class.llvm::coverage::LineCoverageIterator", ptr %__begin1, i64 0, i32 2 %Next3.i.i = getelementptr inbounds %"class.llvm::coverage::LineCoverageIterator", ptr %__end1, i64 0, i32 2 %Ended.i.i301 = getelementptr inbounds %"class.llvm::coverage::LineCoverageIterator", ptr %__begin1, i64 0, i32 3 %Ended4.i.i = getelementptr inbounds %"class.llvm::coverage::LineCoverageIterator", ptr %__end1, i64 0, i32 3 %Line.i = getelementptr inbounds %"class.llvm::coverage::LineCoverageIterator", ptr %__begin1, i64 0, i32 6, i32 3 %message_.i320 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar35, i64 0, i32 1 %message_.i386 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar55, i64 0, i32 1 br label %for.cond
Wed, Mar 1
Tue, Feb 28
- Rebase to update test after precommit
- modify some cases's condition to avoid being their BBs optimizing away through the domination
Mon, Feb 27
Sun, Feb 26
rebase to top and fix the missing match
Fri, Feb 24
I will precommit to update the expired check on D144771
Feb 22 2023
hi @arsenm, as the CHECK of these case are not updated with update_llc_test_checks.py, so it is a bit hard to update, do you mind I Precommit the CHECK regenerated with update_llc_test_checks.py for these 4 cases ?
Feb 21 2023
Fix 4 AMDGPU backend failed cases
LLVM :: CodeGen/AMDGPU/branch-relaxation.ll LLVM :: CodeGen/AMDGPU/collapse-endcf.ll LLVM :: CodeGen/AMDGPU/infinite-loop.ll LLVM :: CodeGen/AMDGPU/uniform-cfg.ll
Address comments
- Add return false and its test case urem_with_dominating_condition_false
- Delete some calls in function simplifyBinaryIntrinsic and foldICmpWithDominatingICmp, and update its case affected
- update tile
Feb 20 2023
Yes, Agree your idea, thanks @spatel. I also realize that the cmn directive may not exist on all backends? so this is not appropriate.
hi @vitalybuka, as the issue can't be repoduced locally, do you object to retry again ?
update as precommit test in D144372 according review.
Feb 18 2023
update comment
Feb 17 2023
Address comments:
a) Drop all the attribute noundef on the argument and return value
b) Change all the value type to i8 as Alive2 can run quickly on all tests to verify correctness
c) Update case urem_without_assume
update upstream test case
Feb 16 2023
Add a new case urem_with_dominating_condition
Address comments:
a) Adding a new case urem_without_assume
b) Update the code comment to match the code
c) Rename the FreezeX to FreezeOp0 as the name suggests
Address comments
- use match(Val, m_One()) to replace CVal->isOneValue()
- Drop the attribute noundef of function urem_assume_without_nuw, then it will see freeze
- Add a new negative case urem_assume_with_unexpected_const
use SQ.getWithInstruction(&I) to to change the context instruction
Feb 15 2023
update to use dyn_cast_or_null according comment
Address comments:
a) check the assume with more generate API simplifyICmpInst
b) Add 3 test cases, including some Negative tests
c) Fix the checking and only do this when the return value is isOneValue()
d) Add the logic of frozen
Feb 13 2023
Thanks @mkazantsev for correcting
Feb 10 2023
I add a MR, try to remove the loop guard in loop guard D143705.
Feb 9 2023
Thanks very much for detail idea.
Feb 7 2023
Feb 6 2023
sorry, missing the above review, and I'll fix that.
- Related link https://reviews.llvm.org/D143459