[llvm] [TargetLibraryInfo] Use std::move (NFC) (PR #95671)

Kazu Hirata via llvm-commits llvm-commits at lists.llvm.org
Sat Jun 15 13:10:16 PDT 2024


https://github.com/kazutakahirata updated https://github.com/llvm/llvm-project/pull/95671

>From 18d8b08ba473ab417cc5ea738f3ed6f6aa724cba Mon Sep 17 00:00:00 2001
From: Kazu Hirata <kazu at google.com>
Date: Sun, 21 Jan 2024 19:29:04 -0800
Subject: [PATCH 1/2] [TargetLibraryInfo] Use std::move (NFC)

The std::move here saves 0.11% of heap allocations during the
compilation of a large preprocessed file, namely X86ISelLowering.cpp,
for the X86 target.
---
 llvm/include/llvm/Analysis/TargetLibraryInfo.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/llvm/include/llvm/Analysis/TargetLibraryInfo.h b/llvm/include/llvm/Analysis/TargetLibraryInfo.h
index f5da222d11f55..b29046a969448 100644
--- a/llvm/include/llvm/Analysis/TargetLibraryInfo.h
+++ b/llvm/include/llvm/Analysis/TargetLibraryInfo.h
@@ -316,7 +316,8 @@ class TargetLibraryInfo {
   // Provide value semantics.
   TargetLibraryInfo(const TargetLibraryInfo &TLI) = default;
   TargetLibraryInfo(TargetLibraryInfo &&TLI)
-      : Impl(TLI.Impl), OverrideAsUnavailable(TLI.OverrideAsUnavailable) {}
+      : Impl(TLI.Impl),
+        OverrideAsUnavailable(std::move(TLI.OverrideAsUnavailable)) {}
   TargetLibraryInfo &operator=(const TargetLibraryInfo &TLI) = default;
   TargetLibraryInfo &operator=(TargetLibraryInfo &&TLI) {
     Impl = TLI.Impl;

>From 014baa3e29d2426df12aab2baeb1d81f57d06df0 Mon Sep 17 00:00:00 2001
From: Kazu Hirata <kazu at google.com>
Date: Sat, 15 Jun 2024 13:07:34 -0700
Subject: [PATCH 2/2] Address a comment.

---
 llvm/include/llvm/Analysis/TargetLibraryInfo.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/llvm/include/llvm/Analysis/TargetLibraryInfo.h b/llvm/include/llvm/Analysis/TargetLibraryInfo.h
index b29046a969448..ee19bc816b4e0 100644
--- a/llvm/include/llvm/Analysis/TargetLibraryInfo.h
+++ b/llvm/include/llvm/Analysis/TargetLibraryInfo.h
@@ -321,7 +321,7 @@ class TargetLibraryInfo {
   TargetLibraryInfo &operator=(const TargetLibraryInfo &TLI) = default;
   TargetLibraryInfo &operator=(TargetLibraryInfo &&TLI) {
     Impl = TLI.Impl;
-    OverrideAsUnavailable = TLI.OverrideAsUnavailable;
+    OverrideAsUnavailable = std::move(TLI.OverrideAsUnavailable);
     return *this;
   }
 



More information about the llvm-commits mailing list