[libomptarget] Change nvcc compilation to use a unity build
authorJon Chesterfield <jonathanchesterfield@gmail.com>
Thu, 31 Oct 2019 01:58:29 +0000 (01:58 +0000)
committerJonChesterfield <jonathanchesterfield@gmail.com>
Thu, 31 Oct 2019 01:58:51 +0000 (01:58 +0000)
commite9f9dfab82bbaadc6b6d8d0eafba017ef5d94fd0
tree9b40b041442b8bf04fc9b27bbe568b0ae0cb281b
parent0be9cf2da9c1400eea720f0c6bead3df07c98a9c
[libomptarget] Change nvcc compilation to use a unity build

Summary:
[libomptarget] Change nvcc compilation to use a unity build

This allows nvcc to inline functions between what would otherwise be distinct
translation units, which in turn removes any runtime cost from implementing
functions in source files (as opposed to inline in headers).

This will then allow the circular dependencies in deviceRTL to be readily
broken and individual components more easily shared between architectures.

Reviewers: ABataev, jdoerfert, grokos, RaviNarayanaswamy, hfinkel, ronlieb, gregrodgers

Reviewed By: jdoerfert

Subscribers: mgorny, openmp-commits

Tags: #openmp

Differential Revision: https://reviews.llvm.org/D69489
openmp/libomptarget/deviceRTLs/nvptx/CMakeLists.txt
openmp/libomptarget/deviceRTLs/nvptx/unity.cu [new file with mode: 0644]