[clang-linker-wrapper] Use MapVector to stabilize iteration order

This commit is contained in:
Fangrui Song
2024-06-19 11:46:52 -07:00
parent d85706198b
commit eb8d036565

View File

@@ -1152,7 +1152,7 @@ DerivedArgList getLinkerArgs(ArrayRef<OffloadFile> Input,
Error handleOverrideImages(
const InputArgList &Args,
DenseMap<OffloadKind, SmallVector<OffloadingImage>> &Images) {
MapVector<OffloadKind, SmallVector<OffloadingImage, 0>> &Images) {
for (StringRef Arg : Args.getAllArgValues(OPT_override_image)) {
OffloadKind Kind = getOffloadKind(Arg.split("=").first);
StringRef Filename = Arg.split("=").second;
@@ -1191,7 +1191,7 @@ Expected<SmallVector<StringRef>> linkAndWrapDeviceFiles(
llvm::TimeTraceScope TimeScope("Handle all device input");
std::mutex ImageMtx;
DenseMap<OffloadKind, SmallVector<OffloadingImage>> Images;
MapVector<OffloadKind, SmallVector<OffloadingImage, 0>> Images;
// Initialize the images with any overriding inputs.
if (Args.hasArg(OPT_override_image))