[clang] [clang-offload-bundler] Convert `std::vector` to `llvm::SmallVector` in `OffloadBundlerConfig` (PR #192259)

via cfe-commits cfe-commits at lists.llvm.org
Wed Apr 15 06:38:00 PDT 2026


https://github.com/StepfenShawn created https://github.com/llvm/llvm-project/pull/192259

Replace `std::vector<std::string>` with `llvm::SmallVector<std::string, 4>`
for TargetNames, InputFileNames, and OutputFileNames to avoid heap
allocation for small number of elements.

>From 3bea439aa834f88fff608ccdb7a3ef78265fe22f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=F0=9F=8D=8CShawn?= <m18824909883 at 163.com>
Date: Wed, 15 Apr 2026 21:36:49 +0800
Subject: [PATCH] Convert `std::vector` to `llvm::SmallVector` in
 `OffloadBundlerConfig`

---
 clang/include/clang/Driver/OffloadBundler.h | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/clang/include/clang/Driver/OffloadBundler.h b/clang/include/clang/Driver/OffloadBundler.h
index e7306ce3cc9ab..637c9d146533f 100644
--- a/clang/include/clang/Driver/OffloadBundler.h
+++ b/clang/include/clang/Driver/OffloadBundler.h
@@ -17,12 +17,12 @@
 #ifndef LLVM_CLANG_DRIVER_OFFLOADBUNDLER_H
 #define LLVM_CLANG_DRIVER_OFFLOADBUNDLER_H
 
+#include "llvm/ADT/SmallVector.h"
 #include "llvm/Support/Compression.h"
 #include "llvm/Support/Error.h"
 #include "llvm/TargetParser/Triple.h"
 #include <llvm/Support/MemoryBuffer.h>
 #include <string>
-#include <vector>
 
 namespace clang {
 
@@ -47,10 +47,9 @@ class OffloadBundlerConfig {
   std::string FilesType;
   std::string ObjcopyPath;
 
-  // TODO: Convert these to llvm::SmallVector
-  std::vector<std::string> TargetNames;
-  std::vector<std::string> InputFileNames;
-  std::vector<std::string> OutputFileNames;
+  llvm::SmallVector<std::string, 4> TargetNames;
+  llvm::SmallVector<std::string, 4> InputFileNames;
+  llvm::SmallVector<std::string, 4> OutputFileNames;
 };
 
 class OffloadBundler {



More information about the cfe-commits mailing list