Skip to content
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][ThroughMLIR] Support lowering ptrStrideOp with loadOp or storeOp to memref #585

Merged
merged 1 commit into from
May 7, 2024

Conversation

ShivaChen
Copy link
Contributor

This commit introduce CIRPtrStrideOpLowering to lower the following pattern to memref load or store.

Rewrite
%0 = cir.cast(array_to_ptrdecay, %base)
%1 = cir.ptr_stride(%0, %index)
cir.load %1
To
memref.load %base[%index]

…p to memref

This commit introduce CIRPtrStrideOpLowering to lower the following pattern
to memref load or store.

Rewrite
       %0 = cir.cast(array_to_ptrdecay, %base)
       %1 = cir.ptr_stride(%0, %index)
       cir.load %1
To
       memref.load %base[%index]
Copy link
Member

@bcardosolopes bcardosolopes left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, thanks!

BTW, if you feel that some CIR ops could be more refined to support for easier MLIR lowering, we could raise their representation a bit more too - just keep that in mind in case you have ideas.

@bcardosolopes bcardosolopes merged commit 05bfd13 into llvm:main May 7, 2024
7 checks passed
bruteforceboy pushed a commit to bruteforceboy/clangir that referenced this pull request Oct 2, 2024
…p to memref (llvm#585)

This commit introduce CIRPtrStrideOpLowering to lower the following
pattern to memref load or store.

Rewrite
       %0 = cir.cast(array_to_ptrdecay, %base)
       %1 = cir.ptr_stride(%0, %index)
       cir.load %1
To
       memref.load %base[%index]
Hugobros3 pushed a commit to shady-gang/clangir that referenced this pull request Oct 2, 2024
…p to memref (llvm#585)

This commit introduce CIRPtrStrideOpLowering to lower the following
pattern to memref load or store.

Rewrite
       %0 = cir.cast(array_to_ptrdecay, %base)
       %1 = cir.ptr_stride(%0, %index)
       cir.load %1
To
       memref.load %base[%index]
keryell pushed a commit to keryell/clangir that referenced this pull request Oct 19, 2024
…p to memref (llvm#585)

This commit introduce CIRPtrStrideOpLowering to lower the following
pattern to memref load or store.

Rewrite
       %0 = cir.cast(array_to_ptrdecay, %base)
       %1 = cir.ptr_stride(%0, %index)
       cir.load %1
To
       memref.load %base[%index]
lanza pushed a commit that referenced this pull request Nov 5, 2024
…p to memref (#585)

This commit introduce CIRPtrStrideOpLowering to lower the following
pattern to memref load or store.

Rewrite
       %0 = cir.cast(array_to_ptrdecay, %base)
       %1 = cir.ptr_stride(%0, %index)
       cir.load %1
To
       memref.load %base[%index]
lanza pushed a commit that referenced this pull request Mar 18, 2025
…p to memref (#585)

This commit introduce CIRPtrStrideOpLowering to lower the following
pattern to memref load or store.

Rewrite
       %0 = cir.cast(array_to_ptrdecay, %base)
       %1 = cir.ptr_stride(%0, %index)
       cir.load %1
To
       memref.load %base[%index]
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.

2 participants