phosek added a comment. I have just one comment related to efficiency, but if it turns out to be too difficult to address, I'd be also fine landing this change as is and addressing that issue in a follow up change.
================ Comment at: clang/lib/Driver/MultilibBuilder.cpp:94-100 + Multilib::option_list PrintOptions; + for (StringRef Flag : Flags) { + if (Flag.front() == '+') + PrintOptions.push_back(("-" + Flag.substr(1)).str()); + } + return Multilib(GCCSuffix, OSSuffix, IncludeSuffix, + Multilib::flag_set(Flags.begin(), Flags.end()), PrintOptions); ---------------- I think we're optimizing for the wrong case here since `PrintOptions` is only needed for `-print-multi-lib`, which is infrequently used flag, but we always have pay the cost of constructing and keeping `PrintOptions` in memory, even when unused (which is going to vast majority of `Driver` uses). I think that constructing it lazily in `getPrintOptions()` (and using that in `print()`) would be more efficient. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D142905/new/ https://reviews.llvm.org/D142905 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits