Skip to content

[SYCL] Re-land "Represent JointMatrixINTEL type as extension type" #9841

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

Merged
merged 6 commits into from
Jun 14, 2023

Conversation

MrSidims
Copy link
Contributor

@MrSidims MrSidims commented Jun 13, 2023

This reverts commit 4447a50. Previous attempt: #8343

What changed: One extra patch is being added to the headers: ca0595b
with this patch clang won't generate llvm.memcpy for trivial c'tor. So later on inst combine won't
replace it with a cast to i64 followed by load + store which SROA + mem2reg won't be able to handle
for target extension types.

It adds:
ConvertSYCLJointMatrixINTELType - Convert SYCL joint_matrix type which is represented as a pointer to a structure to LLVM extension type with the parameters that follow SPIR-V JointMatrixINTEL type. The expected representation is:
target("spirv.JointMatrixINTEL", %element_type, %rows%, %cols%, %scope%, %use%, (optional) %element_type_interpretation%)

Better approach is to introduce joint matrix type to clang, but it's off the table now, since we are lacking OpenCL
spec.

Co-authored-by: Joshua Cranmer joshua.cranmer@intel.com

This reverts commit 4447a50.
Previous attempt: intel#8343

It adds:
ConvertSYCLJointMatrixINTELType - Convert SYCL joint_matrix type
which is represented as a pointer to a structure to LLVM extension type
with the parameters that follow SPIR-V JointMatrixINTEL type.
The expected representation is:
target("spirv.JointMatrixINTEL", %element_type, %rows%, %cols%, %scope%,
%use%, (optional) %element_type_interpretation%)

Better approach is to introduce joint matrix type to clang, but it's off
the table now, since we are lacking OpenCL
spec.
@MrSidims MrSidims requested review from a team as code owners June 13, 2023 12:33
Signed-off-by: Sidorov, Dmitry <dmitry.sidorov@intel.com>
@MrSidims MrSidims temporarily deployed to aws June 13, 2023 13:47 — with GitHub Actions Inactive
@MrSidims MrSidims temporarily deployed to aws June 13, 2023 14:42 — with GitHub Actions Inactive
MrSidims added 2 commits June 13, 2023 08:10
Signed-off-by: Sidorov, Dmitry <dmitry.sidorov@intel.com>
Signed-off-by: Sidorov, Dmitry <dmitry.sidorov@intel.com>
@MrSidims MrSidims requested a review from premanandrao June 13, 2023 16:04
@MrSidims MrSidims temporarily deployed to aws June 13, 2023 16:52 — with GitHub Actions Inactive
@MrSidims MrSidims temporarily deployed to aws June 13, 2023 19:10 — with GitHub Actions Inactive
bader and others added 2 commits June 13, 2023 22:24
Signed-off-by: Sidorov, Dmitry <dmitry.sidorov@intel.com>
@MrSidims MrSidims temporarily deployed to aws June 14, 2023 10:55 — with GitHub Actions Inactive
@MrSidims MrSidims temporarily deployed to aws June 14, 2023 11:34 — with GitHub Actions Inactive
@bader bader merged commit c063b99 into intel:sycl Jun 14, 2023
fineg74 pushed a commit to fineg74/llvm that referenced this pull request Jun 15, 2023
…ntel#9841)

This reverts commit 4447a50. Previous
attempt: intel#8343

What changed: One extra patch is being added to the headers:
intel@ca0595b
with this patch clang won't generate llvm.memcpy for trivial c'tor. So
later on inst combine won't
replace it with a cast to i64 followed by load + store which SROA +
mem2reg won't be able to handle
for target extension types.

It adds:
ConvertSYCLJointMatrixINTELType - Convert SYCL joint_matrix type which
is represented as a pointer to a structure to LLVM extension type with
the parameters that follow SPIR-V JointMatrixINTEL type. The expected
representation is:
target("spirv.JointMatrixINTEL", %element_type, %rows%, %cols%, %scope%,
%use%, (optional) %element_type_interpretation%)

Better approach is to introduce joint matrix type to clang, but it's off
the table now, since we are lacking OpenCL
spec.

Co-authored-by: Joshua Cranmer <joshua.cranmer@intel.com>

---------

Signed-off-by: Sidorov, Dmitry <dmitry.sidorov@intel.com>
Co-authored-by: Alexey Bader <alexey.bader@intel.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants