- User Since
- Jul 31 2020, 12:34 PM (164 w, 5 d)
Aug 14 2023
@kmitropoulou will take over with a new revision.
Aug 12 2023
@kmitropoulou noted that the PHI of ops transformation in the test is completely valid. This test might be a nice addition with llvm.assume() intrinsic in the LIT test suite.
Jul 15 2023
Inserting the cloned instruction ValueOp after I at https://github.com/llvm/llvm-project/blob/6954cb54252b50df95eea05c513e739b3ad2c8a0/llvm/lib/Transforms/Scalar/NewGVN.cpp#L2767 incorrectly deduces values in tests involving PHI of ops.
Jul 7 2023
Jul 3 2023
Added a test for an unsized global compare
Jul 2 2023
Fix assertion failure by adding a sized type check.
Sorry, I was occupied with other projects. I can fix this patch.
Jun 19 2023
Jun 13 2023
Thanks for the review!
Restored tests in objectsize_basic.ll
Return unknown() for GV.hasExternalWeakLinkage(). Eliminate last two tests in objectsize_basic.ll
Added more tests as requested.
Jun 12 2023
- Added a LowerConstantIntrinsic test as requested
Jun 10 2023
Jun 6 2023
- Requested changes
Jun 5 2023
Added checks for NullIsUnknownSize and EvalMode to handle interposable cases.
- Compute object size of interposable gv, add test for it.
May 25 2023
- Added !
I only found one place in the code where there may be structural changes in the CFG.
May 24 2023
- Revert back to rev-1
Preserve TargetLibraryAnalysis and AssumptionAnalysis in all cases. If no changes are made by the pass, preserve all analyses. Otherwise preserve the two only.
- Suggested edits
- rebase against main
- Preserve CFGAnalyses if the function was modified (asserting no structural changes). Preserve all analyses otherwise.
May 23 2023
- Right, I believe all analyses are preserved @arsenm
May 22 2023
- Removed the inclusion of 'Instructions.h'
Many thanks for the code review. I will push this patch to main.
- Simplified code
- Made inttoptr_merge() target independent by inserting align 8 to store instructions and support from D75362 as mentioned
May 21 2023
- clang-format and rebase
- Simplified OtherStoreIsMergeable as requested
May 20 2023
- rebase and re-run premerge checks
- Brought back the break statement which was removed accidentally
- OtherStoreIsMergable returns a bool now, instead of a StoreInst *
- Corrected tests
May 19 2023
- Use IRBuilder to create cast
- Eliminate InsertBitcast flag
- Fixed alignment test
- Removed redundant checks
- Eliminated temporary store
- Replaced bitwidth equivalence check with isBitOrNoopPointerCastable()
- Inserted hasSameSpecialState() check
- Added a test with different alignments
- Added ptrtoint test
- Created an AMDGPU-specific test for inttoptr. This test appears to add an iteration to instruction combining until it reaches a fixed point. That is, instcombine will assume that it will run indefinitely when instcombine-infinite-loop-threshold is set to 3 whereas the test passes when I change the threshold value to 4.
May 18 2023
Thanks everyone for feedback to this review. I implemented a different approach in D150900, which is rather safer than this approach. I will abandon this revision as a result.
May 16 2023
May 15 2023
- Simplified test further by eliminating addrspacecast
- Simplified @test7 in memcpy_alloca.ll
May 3 2023
May 2 2023
Internal CI passed.
Apr 30 2023
Apr 24 2023
Apr 18 2023
LGTM. Please wait for a day before committing in case other reviewers have any comments.
Apr 12 2023
- Applied clang-format
Submitted a new patch: https://reviews.llvm.org/D148139
Apr 3 2023
Apr 2 2023
removed debug prints
Mar 30 2023
Mar 28 2023
Sounds good, thanks for the review @rampitec
- Adding tests for gfx90a and gfx940