-
Notifications
You must be signed in to change notification settings - Fork 220
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
[SPIR-V 1.4] Support OpPtrEqual, OpPtrNotEqual and OpPtrDiff to compare pointers #2482
Conversation
Please take a look @MrSidims @LU-JOHN @asudarsa @bwlodarcz @VyacheslavLevytskyy |
"Invalid type for Binary Ptr instruction"); | ||
assert(static_cast<SPIRVTypePointer *>(Op1Ty)->getElementType() == | ||
static_cast<SPIRVTypePointer *>(Op2Ty)->getElementType() && | ||
"Invalid types for Binary Ptr instruction"); | ||
} else { | ||
assert(0 && "Invalid op code!"); |
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.
It's a nice occasion to improve diagnostics in this place and add precise info about op code that is not supported. I've once hit this exactly line when SPIRV Backend generated code for missed OpPtrEqual/NotEqual and spent some time on debugging. To avoid this in future we may want to improve diagnostics right in this place and give a user-friendly description of what exactly SPIRV Translator doesn't have support for.
@MrSidims @asudarsa what do you think? ^
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.
Agree with Slava
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.
I think the subsequent change from @vmaksimo does provide more information. One issue I see here is our reliance on 'assert'. Should we try to provide an error mechanism which will stop translation in such cases? This can be made as a separate effort.
Thanks
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.
LGTM. Thanks.
@@ -0,0 +1,50 @@ | |||
; RUN: llvm-as %s -o %t.bc |
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.
Please add a small test description (one-liner). Thanks
@@ -0,0 +1,58 @@ | |||
; RUN: llvm-as %s -o %t.bc |
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.
Please add a small test description (one-liner). Thanks
This addresses p.2 and p.3 of #2460