Skip to content

Conversation

@prithayan
Copy link
Owner

No description provided.

Prithayan Barua added 14 commits May 20, 2019 13:12
…r example DRACC_OMP_023_MxV_Partially_Missing_Data_yes.c
An Analysis pass, that prints the host/device memory copies introduced due to the target offloading clauses used by the programmer.
It follows the Omp Spec 5.0
This is a global/module level pass, that does interprocedural analysis to interpret the semantics of all the target offloading clauses.
First we analyze every function, and parse the arguments being passed to the Omp RTL calls, and extract the variables mapped, the map type and the array section.
Then we perform a global analysis to do a BFS traversal of every function basic block, and maintain the reference count, and interpret when the variable is copied from host to device and viceversa.

Checked in two lit test cases from the DRACC benchmark.
Use the following pass to test this analysis pass.
opt -S -passes='print-omp-diagnostics'
A new pass based on MemorySSA, implements a data flow analysis, to compute the memory use def information.
Current implementation is only local intraprocedural analysis.
…very load is not a read, remove pointer reads from use, remove intrisincs from call instr
… alias through function parameters and stores resolved, Pending Item is code cleanup
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