Skip to content

Conversation

@kazutakahirata
Copy link
Contributor

This patch is based on clang-tidy's modernize-make-unique but limited
to those cases where type names are mentioned twice like
std::unique_ptr(new Type()), which is a bit mouthful.

This patch is based on clang-tidy's modernize-make-unique but limited to those cases where type names are mentioned twice like std::unique_ptr<Type>(new Type()), which is a bit mouthful.
@llvmbot
Copy link
Member

llvmbot commented Jun 29, 2024

@llvm/pr-subscribers-debuginfo
@llvm/pr-subscribers-platform-windows
@llvm/pr-subscribers-llvm-support
@llvm/pr-subscribers-xray

@llvm/pr-subscribers-llvm-binary-utilities

Author: Kazu Hirata (kazutakahirata)

Changes

This patch is based on clang-tidy's modernize-make-unique but limited
to those cases where type names are mentioned twice like
std::unique_ptr<Type>(new Type()), which is a bit mouthful.


Full diff: https://github.com/llvm/llvm-project/pull/97165.diff

11 Files Affected:

  • (modified) llvm/include/llvm/BinaryFormat/MsgPackDocument.h (+2-2)
  • (modified) llvm/lib/DebugInfo/PDB/Native/SymbolCache.cpp (+1-2)
  • (modified) llvm/lib/ExecutionEngine/Orc/Layer.cpp (+2-3)
  • (modified) llvm/lib/Object/TapiUniversal.cpp (+3-3)
  • (modified) llvm/lib/Target/ARM/ARMBlockPlacement.cpp (+1-1)
  • (modified) llvm/lib/Target/ARM/ARMConstantIslandPass.cpp (+1-1)
  • (modified) llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp (+1-1)
  • (modified) llvm/lib/XRay/Profile.cpp (+1-1)
  • (modified) llvm/tools/lli/ForwardingMemoryManager.h (+2-2)
  • (modified) llvm/tools/sancov/sancov.cpp (+2-3)
  • (modified) llvm/unittests/Support/ErrorOrTest.cpp (+1-3)
diff --git a/llvm/include/llvm/BinaryFormat/MsgPackDocument.h b/llvm/include/llvm/BinaryFormat/MsgPackDocument.h index 7a181bd9bf841..09091264cac2d 100644 --- a/llvm/include/llvm/BinaryFormat/MsgPackDocument.h +++ b/llvm/include/llvm/BinaryFormat/MsgPackDocument.h @@ -388,7 +388,7 @@ class Document { /// Create an empty Map node associated with this Document. MapDocNode getMapNode() { auto N = DocNode(&KindAndDocs[size_t(Type::Map)]); - Maps.push_back(std::unique_ptr<DocNode::MapTy>(new DocNode::MapTy)); + Maps.push_back(std::make_unique<DocNode::MapTy>()); N.Map = Maps.back().get(); return N.getMap(); } @@ -396,7 +396,7 @@ class Document { /// Create an empty Array node associated with this Document. ArrayDocNode getArrayNode() { auto N = DocNode(&KindAndDocs[size_t(Type::Array)]); - Arrays.push_back(std::unique_ptr<DocNode::ArrayTy>(new DocNode::ArrayTy)); + Arrays.push_back(std::make_unique<DocNode::ArrayTy>()); N.Array = Arrays.back().get(); return N.getArray(); } diff --git a/llvm/lib/DebugInfo/PDB/Native/SymbolCache.cpp b/llvm/lib/DebugInfo/PDB/Native/SymbolCache.cpp index f89f09aa3399a..1a31aa206dfcc 100644 --- a/llvm/lib/DebugInfo/PDB/Native/SymbolCache.cpp +++ b/llvm/lib/DebugInfo/PDB/Native/SymbolCache.cpp @@ -618,8 +618,7 @@ SymbolCache::getSourceFileById(SymIndexId FileId) const { if (FileId == 0) return nullptr; - return std::unique_ptr<NativeSourceFile>( - new NativeSourceFile(*SourceFiles[FileId].get())); + return std::make_unique<NativeSourceFile>(*SourceFiles[FileId].get()); } SymIndexId diff --git a/llvm/lib/ExecutionEngine/Orc/Layer.cpp b/llvm/lib/ExecutionEngine/Orc/Layer.cpp index 3368d3276cb37..d97336c914ea6 100644 --- a/llvm/lib/ExecutionEngine/Orc/Layer.cpp +++ b/llvm/lib/ExecutionEngine/Orc/Layer.cpp @@ -200,9 +200,8 @@ BasicObjectLayerMaterializationUnit::Create(ObjectLayer &L, if (!ObjInterface) return ObjInterface.takeError(); - return std::unique_ptr<BasicObjectLayerMaterializationUnit>( - new BasicObjectLayerMaterializationUnit(L, std::move(O), - std::move(*ObjInterface))); + return std::make_unique<BasicObjectLayerMaterializationUnit>( + L, std::move(O), std::move(*ObjInterface)); } BasicObjectLayerMaterializationUnit::BasicObjectLayerMaterializationUnit( diff --git a/llvm/lib/Object/TapiUniversal.cpp b/llvm/lib/Object/TapiUniversal.cpp index bf96b57f03210..4db5841a8f34c 100644 --- a/llvm/lib/Object/TapiUniversal.cpp +++ b/llvm/lib/Object/TapiUniversal.cpp @@ -47,9 +47,9 @@ TapiUniversal::~TapiUniversal() = default; Expected<std::unique_ptr<TapiFile>> TapiUniversal::ObjectForArch::getAsObjectFile() const { - return std::unique_ptr<TapiFile>(new TapiFile(Parent->getMemoryBufferRef(), - *Parent->ParsedFile, - Parent->Libraries[Index].Arch)); + return std::make_unique<TapiFile>(Parent->getMemoryBufferRef(), + *Parent->ParsedFile, + Parent->Libraries[Index].Arch); } Expected<std::unique_ptr<TapiUniversal>> diff --git a/llvm/lib/Target/ARM/ARMBlockPlacement.cpp b/llvm/lib/Target/ARM/ARMBlockPlacement.cpp index b2d291bbe7ffd..65538009b510d 100644 --- a/llvm/lib/Target/ARM/ARMBlockPlacement.cpp +++ b/llvm/lib/Target/ARM/ARMBlockPlacement.cpp @@ -219,7 +219,7 @@ bool ARMBlockPlacement::runOnMachineFunction(MachineFunction &MF) { LLVM_DEBUG(dbgs() << DEBUG_PREFIX << "Running on " << MF.getName() << "\n"); MLI = &getAnalysis<MachineLoopInfo>(); TII = static_cast<const ARMBaseInstrInfo *>(ST.getInstrInfo()); - BBUtils = std::unique_ptr<ARMBasicBlockUtils>(new ARMBasicBlockUtils(MF)); + BBUtils = std::make_unique<ARMBasicBlockUtils>(MF); MF.RenumberBlocks(); BBUtils->computeAllBlockSizes(); BBUtils->adjustBBOffsetsAfter(&MF.front()); diff --git a/llvm/lib/Target/ARM/ARMConstantIslandPass.cpp b/llvm/lib/Target/ARM/ARMConstantIslandPass.cpp index 90f5c6c40b49c..99ad53232f8a5 100644 --- a/llvm/lib/Target/ARM/ARMConstantIslandPass.cpp +++ b/llvm/lib/Target/ARM/ARMConstantIslandPass.cpp @@ -388,7 +388,7 @@ static bool AlignBlocks(MachineFunction *MF, const ARMSubtarget *STI) { bool ARMConstantIslands::runOnMachineFunction(MachineFunction &mf) { MF = &mf; MCP = mf.getConstantPool(); - BBUtils = std::unique_ptr<ARMBasicBlockUtils>(new ARMBasicBlockUtils(mf)); + BBUtils = std::make_unique<ARMBasicBlockUtils>(mf); LLVM_DEBUG(dbgs() << "***** ARMConstantIslands: " << MCP->getConstants().size() << " CP entries, aligned to " diff --git a/llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp b/llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp index 919828753f45a..48df7d43a280d 100644 --- a/llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp +++ b/llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp @@ -1301,7 +1301,7 @@ bool ARMLowOverheadLoops::runOnMachineFunction(MachineFunction &mf) { MRI = &MF->getRegInfo(); TII = static_cast<const ARMBaseInstrInfo*>(ST.getInstrInfo()); TRI = ST.getRegisterInfo(); - BBUtils = std::unique_ptr<ARMBasicBlockUtils>(new ARMBasicBlockUtils(*MF)); + BBUtils = std::make_unique<ARMBasicBlockUtils>(*MF); BBUtils->computeAllBlockSizes(); BBUtils->adjustBBOffsetsAfter(&MF->front()); diff --git a/llvm/lib/XRay/Profile.cpp b/llvm/lib/XRay/Profile.cpp index c1a43632b600f..4d1ab10e1d1b8 100644 --- a/llvm/lib/XRay/Profile.cpp +++ b/llvm/lib/XRay/Profile.cpp @@ -202,7 +202,7 @@ Profile mergeProfilesByThread(const Profile &L, const Profile &R) { for (const auto &Block : P.get()) { ThreadProfileIndexMap::iterator It; std::tie(It, std::ignore) = ThreadProfileIndex.insert( - {Block.Thread, PathDataMapPtr{new PathDataMap()}}); + {Block.Thread, std::make_unique<PathDataMap>()}); for (const auto &PathAndData : Block.PathData) { auto &PathID = PathAndData.first; auto &Data = PathAndData.second; diff --git a/llvm/tools/lli/ForwardingMemoryManager.h b/llvm/tools/lli/ForwardingMemoryManager.h index 2cc669953ee69..e5c10d672ccfb 100644 --- a/llvm/tools/lli/ForwardingMemoryManager.h +++ b/llvm/tools/lli/ForwardingMemoryManager.h @@ -98,8 +98,8 @@ class RemoteResolver : public LegacyJITSymbolResolver { auto H = DylibMgr->open("", 0); if (!H) return H.takeError(); - return std::unique_ptr<RemoteResolver>( - new RemoteResolver(std::move(*DylibMgr), std::move(*H))); + return std::make_unique<RemoteResolver>(std::move(*DylibMgr), + std::move(*H)); } JITSymbol findSymbol(const std::string &Name) override { diff --git a/llvm/tools/sancov/sancov.cpp b/llvm/tools/sancov/sancov.cpp index e5b0875d46a11..dd51226e21311 100644 --- a/llvm/tools/sancov/sancov.cpp +++ b/llvm/tools/sancov/sancov.cpp @@ -262,7 +262,7 @@ RawCoverage::read(const std::string &FileName) { // to compactify the data. Addrs->erase(0); - return std::unique_ptr<RawCoverage>(new RawCoverage(std::move(Addrs))); + return std::make_unique<RawCoverage>(std::move(Addrs)); } // Print coverage addresses. @@ -460,8 +460,7 @@ static std::unique_ptr<symbolize::LLVMSymbolizer> createSymbolizer() { symbolize::LLVMSymbolizer::Options SymbolizerOptions; SymbolizerOptions.Demangle = ClDemangle; SymbolizerOptions.UseSymbolTable = true; - return std::unique_ptr<symbolize::LLVMSymbolizer>( - new symbolize::LLVMSymbolizer(SymbolizerOptions)); + return std::make_unique<symbolize::LLVMSymbolizer>(SymbolizerOptions); } static std::string normalizeFilename(const std::string &FileName) { diff --git a/llvm/unittests/Support/ErrorOrTest.cpp b/llvm/unittests/Support/ErrorOrTest.cpp index cb0e63660452b..a271c02d341af 100644 --- a/llvm/unittests/Support/ErrorOrTest.cpp +++ b/llvm/unittests/Support/ErrorOrTest.cpp @@ -36,9 +36,7 @@ TEST(ErrorOr, SimpleValue) { #endif } -ErrorOr<std::unique_ptr<int> > t3() { - return std::unique_ptr<int>(new int(3)); -} +ErrorOr<std::unique_ptr<int>> t3() { return std::make_unique<int>(3); } TEST(ErrorOr, Types) { int x; 
@kazutakahirata kazutakahirata merged commit ddaa93b into llvm:main Jun 29, 2024
@kazutakahirata kazutakahirata deleted the cleanup_clang_tidy_modernize_make_unique_llvm branch June 29, 2024 18:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment