This is an archive of the discontinued LLVM Phabricator instance.

[libomptarget][nvptx] Include omp_data.cu in bitcode deviceRTL
ClosedPublic

Authored by JonChesterfield on Jan 12 2021, 4:31 PM.

Details

Summary

[libomptarget][nvptx] Include omp_data.cu in bitcode deviceRTL

Diff Detail

Event Timeline

JonChesterfield requested review of this revision.Jan 12 2021, 4:31 PM
Herald added a project: Restricted Project. · View Herald TranscriptJan 12 2021, 4:31 PM
tianshilei1992 accepted this revision.Jan 12 2021, 4:42 PM

This makes steps for deprecating the static library in the near future.

This revision is now accepted and ready to land.Jan 12 2021, 4:42 PM

Bug https://bugs.llvm.org/show_bug.cgi?id=49764 points at this change as increasing device memory use. Previously the bitcode and the archive were both linked, where this file was always in the archive. After this commit, no files will have been extracted from the archive (and shortly afterwards the archive was dropped entirely).

If no symbols from omp_data.cu were used in some test case, and the bitcode version is not being deadstripped, then data use would increase. Both of those requirements seem unlikely.

It would be good to check that the devicertl symbols are being internalized for nvptx, as otherwise unused variables with global visibility will tend to remain.