- User Since
- Oct 28 2016, 2:19 AM (242 w, 2 d)
Thu, Jun 10
Tue, Jun 8
Hopefully we are close to landing this. :)
Fix details requested by @tlively in latest comemnts.
Tue, Jun 1
@tlively thanks for the comments. I am currently taking some time off but I will address your concerns upon my return.
May 19 2021
Rebase and update minor details and fix a few lint warnings...
Non-functional changes only.
May 7 2021
Making the linter happy...
- Simplifies some of code in the middle-end.
- Removes setComdat and adds setWeak
May 4 2021
Removed extraneous changes to previous patches
Fix broken merge of table ins reordering commit
Fix patch set... again!
Fix patch submitted to phab...
Merged by @tlively as https://github.com/llvm/llvm-project/commit/cd460c4d11eeeca485353ad6a1961b543980b664
In the meantime I got committers rights. Thanks.
May 1 2021
Apr 30 2021
A quick note - apparently phab felt that since I accepted the revision, it's now ready to land. Probably obvious but I accepted expecting @tlively comments to be addressed first. :)
This looks good to me - I will rebase D95425 on this.
Apr 27 2021
Make TABLE_SET node polymorphic. Deal with types through the Pats. One for funcref and one for externref.
Fix else if and VT type as suggested by @wingo.
There are still two things missing:
Add missing newlines at the end of test files
Take care of some syntax linting/style comments
Apr 26 2021
Use PointerType to avoid defining types for externref and funcref.
Apr 23 2021
Apparently getTypeForEVT in LowerArguments is only necessary to call the getABIAlignmentForCallingConv. I was thinking that since reference types really are pointers to different address spaces we could return their TypeForEVT as being int32. That will then return as the alignment for reference types the default alignment for int32. This should help with avoiding us touching middle end code. I will experiment in this direction.
Apr 19 2021
Are there any further comments to this patch before landing?
Apr 14 2021
Fix table name for funcref calls
Apr 13 2021
Clarify many of the issues requested in previous review comments.
Mar 26 2021
Mar 23 2021
Reformat patch with clang-format-diff.py
- Set Align(1) for reference types
- Remove unused node
- Make webassembly target description string dependent on feature string (fixes clang tests)
Mar 22 2021
Mar 19 2021
Mar 17 2021
Remove commented code that shouldn't be there in the first place.
A few data points on the patch. Externrefs live in address space 1 and funcrefs in address space 3. Externref globals live in address space 2 and funcref globals live in address space 4.
Complete patch ready for review.
Feb 1 2021
Attempt to specify externref as a pointer type with a fixed size of 32, instead of opaque.
Jan 26 2021
Fix getLegalType for simple MVTs
This is very, very WIP patch implementing LLVM IR support for global.get/set.
Nov 30 2020
Nov 24 2020
Thanks, @arichardson and @jrtc27 for your comments.
I am definitely surprised to find that if you explicitly mark the call with the address space, this patch is not required. At first look, this RFC is not required any more but I need sometime to investigate further. If no changes are necessary, this is indeed good news.
Nov 19 2020
The RFC has now been sent to the mailing list: http://lists.llvm.org/pipermail/llvm-dev/2020-November/146723.html
Nov 16 2020
Fix type check.
Ensure the program address spaces vector doesn't contain duplicates.
Nov 13 2020
This is WIP - there a still a few test failures but I am happy to start getting comments on this.
Oct 23 2020
@sbc100 if it's ok for you, feel free to merge, thanks.
Align with local indent style
Oct 22 2020
Remove unused operand type.
Is this good to merge?
Oct 21 2020
Regarding linter clang-format suggestions - should I reformat the code as suggested or leave it?
Some suggested changes are not necessarily on code I wrote, which is why I ask.
These changes reflect the first set of comments. High on the list is quite a few changes related to setting registers for funcrefs and externrefs. A few things might not be strictly necessary but pave the way for future work.
Thanks for the review - I will submit a new revision.
Oct 20 2020
So the goal here is to add most of the table instructions. This introduces some table relocations, which (in a following patch) we will resolve in the linker.
Oct 13 2020
Further test fixes - missing index
Fix warning due to missing FUNCREF in switch
Oct 12 2020
Fix a bunch more lld tests to include index for tables
Fix tests to include table index in expected dump
Fix build failure
Move Index to first position in WasmTable struct
Fix review nits
Oct 9 2020
Thanks for the reviews. I will fix the nits mentioned and update the revision.
Oct 5 2020
Sep 24 2020
Aug 5 2020
Jul 31 2020
Update externref patch
Mistakingly created - this should have gone to D66035
Jul 29 2020
I will be splitting the part enabling the target feature through clang into a separate revision as suggested by @tlively
Update patch to compile against current master branch
Jul 28 2020
Related work: https://reviews.llvm.org/D81977
There's also this line of work on opaque types that could be potentially interested but seems far from being landed: https://groups.google.com/g/llvm-dev/c/Dw_DYSXGFto/m/OzzK-CkGAwAJ
Please ignore my .gitlab-ci.yml. That's just an internal change that I got uploaded by mistake.
I am looking to see this through and start discussion on this with the goal of landing it.