[all-commits] [llvm/llvm-project] 175c33: [OpenMP] Remove copy constructor of `RTLInfoTy`
Shilei Tian via All-commits
all-commits at lists.llvm.org
Sat Jan 9 10:01:18 PST 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 175c336a1c5a7d4cf2e24ec5188c370cd6093ddb
https://github.com/llvm/llvm-project/commit/175c336a1c5a7d4cf2e24ec5188c370cd6093ddb
Author: Shilei Tian <tianshilei1992 at gmail.com>
Date: 2021-01-09 (Sat, 09 Jan 2021)
Changed paths:
M openmp/libomptarget/src/rtl.cpp
M openmp/libomptarget/src/rtl.h
Log Message:
-----------
[OpenMP] Remove copy constructor of `RTLInfoTy`
Multiple `RTLInfoTy` objects are stored in a list `AllRTLs`. Since
`RTLInfoTy` contains a `std::mutex`, it is by default not a copyable object.
In order to support `AllRTLs.push_back(...)` which is currently used, a customized
copy constructor is provided. Every time we need to add a new data member into
`RTLInfoTy`, we should keep in mind not forgetting to add corresponding assignment
in the copy constructor. In fact, the only use of the copy constructor is to push
the object into the list, we can of course write it in a way that first emplace
a new object back, and then use the reference to the last element. In this way we
don't need the copy constructor anymore. If the element is invalid, we just need
to pop it, and that's what this patch does.
Reviewed By: JonChesterfield
Differential Revision: https://reviews.llvm.org/D94361
More information about the All-commits
mailing list