[PATCH] D142932: Multilib YAML parsing

2023-06-13 Thread Michael Platings via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG4794bdab7aed: [Driver] Multilib YAML parsing (authored by michaelplatings). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D142932/new/ https://reviews.llvm.o

[PATCH] D142932: Multilib YAML parsing

2023-06-08 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings updated this revision to Diff 529563. michaelplatings added a comment. FlagMap->Mappings Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D142932/new/ https://reviews.llvm.org/D142932 Files: clang/include/clang/Driver/Multilib.h cl

[PATCH] D142932: Multilib YAML parsing

2023-06-08 Thread Petr Hosek via Phabricator via cfe-commits
phosek accepted this revision. phosek added a comment. In D142932#4402981 , @michaelplatings wrote: > @phosek thanks for your suggestion, that's now implemented. In practise for > LLVM Embedded Toolchain for Arm we haven't yet needed `NoMatchFlags` so I

[PATCH] D142932: Multilib YAML parsing

2023-06-07 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings updated this revision to Diff 529269. michaelplatings added a comment. @phosek thanks for your suggestion, that's now implemented. In practise for LLVM Embedded Toolchain for Arm we haven't yet needed `NoMatchFlags` so I've removed that feature. Repository: rG LLVM Github Mon

[PATCH] D142932: Multilib YAML parsing

2023-06-06 Thread Petr Hosek via Phabricator via cfe-commits
phosek added a comment. The only remaining concern I have is about the YAML schema, specifically the naming of `Regex`, `MatchFlags` and `NoMatchFlags` fields. Specifically, I think it something like this might be cleaner: FlagMap: - Match: --target=thumbv8(\.[0-9]+)?m\.base-none-unknown-ea

[PATCH] D142932: Multilib YAML parsing

2023-06-06 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings updated this revision to Diff 528955. michaelplatings marked an inline comment as done. michaelplatings added a comment. Update unit tests Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D142932/new/ https://reviews.llvm.org/D142932 F

[PATCH] D142932: Multilib YAML parsing

2023-06-06 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings marked 2 inline comments as done. michaelplatings added inline comments. Comment at: clang/include/clang/Driver/Multilib.h:150-152 + bool parseYaml(llvm::MemoryBufferRef, + llvm::SourceMgr::DiagHandlerTy = nullptr, + void *DiagHand

[PATCH] D142932: Multilib YAML parsing

2023-06-06 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings updated this revision to Diff 528932. michaelplatings added a comment. Rebase on D151438 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D142932/new/ https://reviews.llvm.org/D142932 Files: clang/i

[PATCH] D142932: Multilib YAML parsing

2023-05-23 Thread Petr Hosek via Phabricator via cfe-commits
phosek added inline comments. Comment at: clang/include/clang/Driver/Multilib.h:150-152 + bool parseYaml(llvm::MemoryBufferRef, + llvm::SourceMgr::DiagHandlerTy = nullptr, + void *DiagHandlerCtxt = nullptr); Rather than `parseYaml

[PATCH] D142932: Multilib YAML parsing

2023-05-03 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings updated this revision to Diff 518999. michaelplatings added a comment. Rebase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D142932/new/ https://reviews.llvm.org/D142932 Files: clang/include/clang/Driver/Multilib.h clang/lib/Dri

[PATCH] D142932: Multilib YAML parsing

2023-03-24 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings updated this revision to Diff 508036. michaelplatings added a comment. Rebase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D142932/new/ https://reviews.llvm.org/D142932 Files: clang/include/clang/Driver/Multilib.h clang/lib/Dri

[PATCH] D142932: Multilib YAML parsing

2023-03-14 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings updated this revision to Diff 505283. michaelplatings marked 2 inline comments as done. michaelplatings added a comment. Decouple multilib versioning scheme from the Clang version Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D142932/

[PATCH] D142932: Multilib YAML parsing

2023-03-14 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings updated this revision to Diff 505047. michaelplatings added a comment. tags->flags Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D142932/new/ https://reviews.llvm.org/D142932 Files: clang/include/clang/Driver/Multilib.h clang/li

[PATCH] D142932: Multilib YAML parsing

2023-03-13 Thread Petr Hosek via Phabricator via cfe-commits
phosek added inline comments. Comment at: clang/lib/Driver/Multilib.cpp:137 +struct MultilibSetSerialization { + std::string ClangMinimumVersion; + std::vector Multilibs; Can we use a separate versioning scheme rather than tying the version to Clang? That is s

[PATCH] D142932: Multilib YAML parsing

2023-03-13 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings added inline comments. Comment at: clang/include/clang/Driver/Multilib.h:66 + /// options and look similar to them, and others can be defined by a + /// particular multilib.yaml. A multilib is considered compatible if its tags + /// are a subset of the tags der

[PATCH] D142932: Multilib YAML parsing

2023-03-13 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings updated this revision to Diff 504771. michaelplatings marked 2 inline comments as done. michaelplatings added a comment. parse -> parseYaml Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D142932/new/ https://reviews.llvm.org/D142932

[PATCH] D142932: Multilib YAML parsing

2023-03-13 Thread Peter Smith via Phabricator via cfe-commits
peter.smith added a comment. I've set approved from the Arm side. Please leave some time for people in the US time zone to leave any final comments or ask for extensions. I've left some comments that can be applied prior to commit if you want to take them up. Comment at: clan

[PATCH] D142932: Multilib YAML parsing

2023-03-09 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings updated this revision to Diff 503900. michaelplatings added a comment. flags -> tags Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D142932/new/ https://reviews.llvm.org/D142932 Files: clang/include/clang/Driver/Multilib.h clang/

[PATCH] D142932: Multilib YAML parsing

2023-02-23 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings updated this revision to Diff 499824. michaelplatings added a comment. PrintArgs -> PrintOptions Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D142932/new/ https://reviews.llvm.org/D142932 Files: clang/include/clang/Driver/Multili

[PATCH] D142932: Multilib YAML parsing

2023-02-02 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings updated this revision to Diff 494406. michaelplatings added a comment. Move the regular expression flag matching functionality into MutlilibSet. This (a) simplifies the code for loading from multilib.yaml; and (b) makes the flag matching functionality easier to access. Reposito

[PATCH] D142932: Multilib YAML parsing

2023-02-01 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings updated this revision to Diff 493968. michaelplatings added a comment. Incorporated changes requested by @miyuki Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D142932/new/ https://reviews.llvm.org/D142932 Files: clang/include/clan

[PATCH] D142932: Multilib YAML parsing

2023-02-01 Thread Mikhail Maltsev via Phabricator via cfe-commits
miyuki added inline comments. Comment at: clang/lib/Driver/Multilib.cpp:83 +const std::regex Regex(M.Regex); +if (std::find_if(InFlags.begin(), InFlags.end(), + [&Regex](const std::string &F) { Please use `llvm::find_if(InFlags, ...)`

[PATCH] D142932: Multilib YAML parsing

2023-02-01 Thread Mikhail Maltsev via Phabricator via cfe-commits
miyuki added inline comments. Comment at: clang/lib/Driver/Multilib.cpp:82 + for (const Matcher &M : Matchers) { +const std::regex Regex(M.Regex); +if (std::find_if(InFlags.begin(), InFlags.end(), Please use the LLVM regular expression engine (llvm/Suppo

[PATCH] D142932: Multilib YAML parsing

2023-01-30 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings created this revision. michaelplatings added a reviewer: phosek. Herald added a project: All. michaelplatings requested review of this revision. Herald added subscribers: cfe-commits, MaskRay. Herald added a project: clang. Repository: rG LLVM Github Monorepo https://reviews.llv