-
Notifications
You must be signed in to change notification settings - Fork 100
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[CIR][CIRGen][TBAA] Initial TBAA support #1116
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks a bunch for breaking this up, mostly LGTM with few nits
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cool! Looking forward to it~
6fbb5b8
to
875907d
Compare
875907d
to
03f3483
Compare
Summary of Changes
Explanations
|
I dislike optional because there are two levels on null checking here (the optional could be empty and the array could also be empty), which is quite confusing. Better yet that LLVM doesn't really support multiple entries. I suggested to you in previous comments to create a new attr if necessary to wrap the array exactly for this reason: the array becomes an implementation detail and it doesn't really matter if we remove the array later, since it's internal state of the attribute. Anyways, I'm fine if this comes as incremental work though. Thanks |
This is the first patch to support TBAA, following the discussion at #1076 (comment)
decorateOperationWithTBAA
CIRGenTBAA
CIR_TBAAAttr
with empty bodyCIR_TBAAAttr
toLoadOp
andStoreOp