[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