Working on the AMDGPU backend at AMD.
User Details
- User Since
- Oct 2 2021, 3:01 PM (76 w, 1 d)
Feb 10 2023
Thanks!
Thanks for the unit test!
Jan 31 2023
Jan 30 2023
The change looks reasonable to me.
The local change itself looks now good to me, but @arsenm may have general concerns with the approach here, so please address his comment first.
LGTM, one minor inline comment.
LGTM -- one inline comment on style.
Jan 27 2023
Jan 26 2023
Jan 24 2023
I would not be so worried about the complexity of having to maintain multiple version formats -- we can think of the version flag as setting defaults for command-line options that alter the test format.
We already have such options (e.g. mentioned --function-signature), so this is not new in principle, it just provides a convenient means to set these.
Jan 23 2023
Update changed testcases.
Thanks for the review, I've updated the patch accordingly.
Restrict alignment check to integer types as suggested by review.
Jan 20 2023
Thanks for the review.
Your example of accessing a known pointer in a vector is interesting.
Jan 19 2023
Thanks for the suggestion, that is much cleaner indeed. I updated the patch accordingly.
Review feedback: Simplify testcase by passing DL to opt
Abandoning this change in favor of avoiding GEPs into vectors instead of fixing their offsets.
Jan 13 2023
Abandoning, we will require i8 to be naturally aligned in the datalayout as discussed on discourse. Sorry for leaving it open for so long.
Jan 12 2023
Thanks for the refactoring. One more thought inline.
Jan 10 2023
Thanks for reviewing @nikic. Comments inline.
Address review feedback: Handle invalid data layouts gracefully
Jan 9 2023
High-level comment regarding how to pass callbacks to parser functions: We have quite a few different parser routines, both for textual IR and bitcode, and special modes (e.g. lazy loaders).
This leads to many places where we would add essentially the same arguments, often with default values. Some functions miss these (e.g. getLazyBitcodeModule), because nobody bothered so far to add callback(s) for them.
Address review feedback
Jan 5 2023
Jan 4 2023
For context, this prepares requiring naturally aligned i8 as discussed in https://discourse.llvm.org/t/status-of-overaligned-i8/66913/
Add lit test case.
Dec 19 2022
Ok, fine with me.
I still get the ${CONFIGURATION} directory even with this patch, running:
LGTM, but let's wait for the other reviewers.
Dec 9 2022
Dec 6 2022
Thanks for the review.
Your idea of adding a gep_offset_iterator seems plausible. I'll look into that.
Dec 2 2022
Adding reviewers, based on past changes to GetElementPtrTypeIterator.h.
Please feel free to reject or suggest other reviewers that might have a better background.
Dec 1 2022
This alters the vector ABI alignment so that vector elements are always aligned appropriately for their type.
Nov 30 2022
This is the patch for the mentioned issue of GEPs into vectors of overaligned elements: https://reviews.llvm.org/D139034
I've started a discourse discussion on the topic: https://discourse.llvm.org/t/status-of-overaligned-i8/66913
Nov 25 2022
I don't need support for overaligned i8s, it is fine for me to have LLVM require natural alignment on i8.
Yes, you are right, I miscalculated by one bit :) Updated the test accordingly.
Fix constant in test case.
Add test case that triggers the assert.
I couldn't spot any nontrivial difference in generated code -- so the new namespace-based info is equally useful (or useless?) for AA?
In these places, we try to obtain a pointer based on a base pointer and a byte offset, and do so using a GEP on i8, using the offset as index.
This will fail if the AllocSize of i8 is not 1. The added assertions detect such cases instead of generating wrong code.
Are you interested in a lit test checking that the assertion fires? Are we testing individual asserts this way?
Nov 14 2022
Not your code, but:
Nov 9 2022
Nov 4 2022
Thanks for your review, I updated the patch to address it.
Remove reformatting of existing code.
Address review feedback.
Nov 3 2022
Hi David, thanks for looking into this change!
Thanks for reviewing.
Nov 2 2022
Fix branch target.
Oct 31 2022
Oct 28 2022
Oct 26 2022
LGTM, thanks!
Oct 24 2022
Thanks, I also have a separate possible use case for this. Two minor inline comments.
Thanks for the insights Nicolai and Jay!
Oct 21 2022
One more thought on longer expressions: Nicolai already mentioned that we currently only match a particular expression structure.
I wondered whether the expression structure has any performance impact?
I see, thanks!
As such case cannot be combined into a BFI instruction, I guess it's relatively straight-forwardly translated into something like this:
One inline comment on a comment :).
Oct 18 2022
Implement review feedback:
Oct 17 2022
Thanks for the review! I've implemented all your suggestions, except for the deduction guide, cf. the inline comment.
Implement review feedback.