This is an archive of the discontinued LLVM Phabricator instance.

[AMDGPU] Support for device scope shared variables
AbandonedPublic

Authored by hsmhsm on Oct 21 2020, 12:06 PM.

Details

Reviewers
jdoerfert
Summary

WIP, this patch is uploaded to save the current state of the work,
and is not meant for review at the moment.

Diff Detail

Event Timeline

hsmhsm created this revision.Oct 21 2020, 12:06 PM
hsmhsm requested review of this revision.Oct 21 2020, 12:06 PM
hsmhsm updated this revision to Diff 299912.Oct 22 2020, 3:36 AM

Implemented few more necessary data structures

hsmhsm updated this revision to Diff 300232.Oct 23 2020, 4:50 AM

Collect all associated LDS globals associated with a kernel.

hsmhsm updated this revision to Diff 301187.Oct 27 2020, 11:31 PM

Fix bug and compute offset for each LDS

hsmhsm updated this revision to Diff 301850.Oct 30 2020, 3:43 AM

Completed the handling of direct LDS globals within kernel

hsmhsm updated this revision to Diff 302806.Nov 4 2020, 3:33 AM

Partial support for indirect LDS globals.

hsmhsm updated this revision to Diff 303232.Nov 5 2020, 12:54 PM

Code refactoring as per the new logic of processing.

hsmhsm updated this revision to Diff 303764.Nov 9 2020, 12:28 AM

Support for indirect LDS globals.

hsmhsm updated this revision to Diff 303795.Nov 9 2020, 2:33 AM

First bug fix.

hsmhsm updated this revision to Diff 303801.Nov 9 2020, 2:50 AM

Fixes previous incorrect commit.

hsmhsm updated this revision to Diff 303903.Nov 9 2020, 9:30 AM

First cut of clode clean-up

hsmhsm updated this revision to Diff 304270.Nov 10 2020, 11:28 AM

Support for replacing constant expressions [in progress].

hsmhsm updated this revision to Diff 304609.Nov 11 2020, 11:46 AM

Successfully tested simple sum-reduce HIP application.

hsmhsm updated this revision to Diff 304886.Nov 12 2020, 10:10 AM

Succesfully tested an HIP application which has more than one LDS globals.

hsmhsm updated this revision to Diff 305046.Nov 12 2020, 11:51 PM

Successfully tested an HIP application which defines different shared
variables of different types within different device functions, and there
exist call graph path from kernel to all these device functions.

hsmhsm updated this revision to Diff 305308.Nov 14 2020, 3:36 AM

Handle higher dimensional arrays.

hsmhsm updated this revision to Diff 305314.Nov 14 2020, 7:28 AM

Updated introductory comment.

hsmhsm updated this revision to Diff 305315.Nov 14 2020, 8:01 AM

Fixed minor bug in the updated code in the last commit.

hsmhsm updated this revision to Diff 305342.Nov 14 2020, 9:08 PM

Make sure to run this pass as first AMDGPU IR pass.

hsmhsm updated this revision to Diff 305344.Nov 14 2020, 9:48 PM

Retain original name for new cloned functions.

hsmhsm updated this revision to Diff 305379.Nov 15 2020, 10:32 AM

Add lit test-cases.

hsmhsm abandoned this revision.Nov 15 2020, 11:18 PM

This revision was created just for tracking the progress of the work. Now that the code is ready for actual review, I created a new official revision - https://reviews.llvm.org/D91516, and hence closing this revision.