[PATCH] D143075: BareMetal ToolChain multilib layering

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

[PATCH] D142986: Enable multilib.yaml in the BareMetal ToolChain

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

[PATCH] D143059: [NFC] Enable selecting multiple multilibs

2023-02-22 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings updated this revision to Diff 499500. michaelplatings marked 2 inline comments as done. michaelplatings added a comment. Rebase and apply changes requested by @peter.smith Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D143059/new/

[PATCH] D143075: BareMetal ToolChain multilib layering

2023-02-22 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings updated this revision to Diff 499503. michaelplatings added a comment. Rebase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D143075/new/ https://reviews.llvm.org/D143075 Files: clang/lib/Driver/ToolChains/BareMetal.cpp

[PATCH] D143075: BareMetal ToolChain multilib layering

2023-02-22 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings updated this revision to Diff 499491. michaelplatings added a comment. Rebase and remove some braces Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D143075/new/ https://reviews.llvm.org/D143075 Files:

[PATCH] D143587: [Docs] Multilib design

2023-02-22 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings updated this revision to Diff 499511. michaelplatings marked 8 inline comments as done. michaelplatings added a comment. Rebase and apply changes requested by @MaskRay and @peter.smith Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D143587: [Docs] Multilib design

2023-02-22 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings added inline comments. Comment at: clang/docs/Multilib.rst:237 + +Stable API +-- MaskRay wrote: > What does "API" refer to? A function defined in llvm-project/clang/lib? Changed "API" to "interface" and reworded to hopefully make it

[PATCH] D142933: Add -print-multi-selection-flags argument

2023-02-22 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings updated this revision to Diff 499450. michaelplatings marked 2 inline comments as done. michaelplatings added a comment. Remove braces and blank lines as requested by @MaskRay Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D142986: Enable multilib.yaml in the BareMetal ToolChain

2023-02-22 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings updated this revision to Diff 499479. michaelplatings marked 6 inline comments as done. michaelplatings added a comment. Apply changes requested by @peter.smith and @MaskRay Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D142986/new/

[PATCH] D142986: Enable multilib.yaml in the BareMetal ToolChain

2023-02-22 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings added inline comments. Comment at: clang/test/Driver/baremetal-multilib.cpp:14 +// RUN: | FileCheck %s +// CHECK: "{{.*}}clang{{.*}}" "-cc1" "-triple" "thumbv8m.main-none-unknown-eabihf" +// CHECK-SAME: "-internal-isystem"

[PATCH] D144638: [lit] Detect Consistent File Access Times

2023-02-27 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings added a comment. Thanks very much for looking into this, the flakiness of these tests has been bugging me for ages. Comment at: llvm/utils/lit/lit/llvm/config.py:171 +# in the tests that do the same thing. +(_, try_touch_err) =

[PATCH] D144638: [lit] Detect Consistent File Access Times

2023-02-27 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings added inline comments. Comment at: llvm/utils/lit/lit/llvm/config.py:171 +# in the tests that do the same thing. +(_, try_touch_err) = self.get_process_output(["touch", "-a", "-t", "199505050555.55", f.name]) +if try_touch_err

[PATCH] D144638: [lit] Detect Inconsistent File Access Times

2023-03-02 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings accepted this revision. michaelplatings added a comment. This revision is now accepted and ready to land. LGTM Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D144638/new/ https://reviews.llvm.org/D144638

[PATCH] D142905: [Driver] Change multilib selection algorithm

2023-02-23 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings updated this revision to Diff 499791. michaelplatings marked 2 inline comments as done. michaelplatings added a comment. - Rename args to options as suggested by @phosek - Add more comments to hopefully make the difference between flags and options clearer. Repository: rG

[PATCH] D142905: [Driver] Change multilib selection algorithm

2023-02-23 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings added inline comments. Comment at: clang/include/clang/Driver/Multilib.h:41 + flag_set Flags; + arg_list PrintArgs; phosek wrote: > This is just a suggestion, but GCC documentation refers to these as either > "options" or "switches", not

[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:

[PATCH] D144638: [lit] Detect Inconsistent File Access Times

2023-02-27 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings added a comment. I see some of these tests previously had `UNSUPPORTED: system-netbsd` but not `UNSUPPORTED: system-windows` - do you know why? Comment at: llvm/utils/lit/lit/llvm/config.py:190 +return False +if "1995" not in

[PATCH] D146757: [Driver] Enable defining multilib print options independently of flags

2023-04-03 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings added a comment. @phosek ping Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D146757/new/ https://reviews.llvm.org/D146757 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D147209: [clang][lit] Make LIT aware of env CLANG_CRASH_DIAGNOSTICS_DIR.

2023-04-04 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings accepted this revision. michaelplatings added a comment. This revision is now accepted and ready to land. Looks useful, and matches the behaviour I would have expected anyway. The buildkite libcxx tests already rely on being able to pass this variable through, so the same seems

[PATCH] D147209: [clang][lit] Make LIT aware of env CLANG_CRASH_DIAGNOSTICS_DIR.

2023-04-04 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings added a comment. It looks like the failing tests already go to some effort to set each of TMP, TEMP & TMPDIR so perhaps they should be simplified to just set CLANG_CRASH_DIAGNOSTICS_DIR instead. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D146757: [Driver] Enable defining multilib print options independently of flags

2023-04-05 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings updated this revision to Diff 511073. michaelplatings marked 3 inline comments as done. michaelplatings added a comment. Expand constructor comment as suggested by @peter.smith Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D146757: [Driver] Enable defining multilib print options independently of flags

2023-04-05 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings added inline comments. Comment at: clang/include/clang/Driver/Multilib.h:58 + StringRef IncludeSuffix = {}, const flags_list = flags_list(), + PrintOptionsType PrintOptions = PrintOptionsType::PlusFlags, + const flags_list =

[PATCH] D142933: Add -print-multi-selection-flags argument

2023-02-03 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings updated this revision to Diff 494610. michaelplatings added a comment. Bugfix: if -msoft-float is set then -mfpu should be none. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D142933/new/ https://reviews.llvm.org/D142933 Files:

[PATCH] D142905: Change multilib selection algorithm

2023-02-06 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings updated this revision to Diff 495070. michaelplatings added a comment. Set both fexceptions and fno-exceptions flags for Fuchsia multilib. Previously that tweak had slipped into D142878 , which is now abandoned. Repository: rG LLVM Github

[PATCH] D142878: Add testing for Fuchsia multilib

2023-02-06 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings abandoned this revision. michaelplatings added a comment. > A more scalable approach would be to check only the minimal set of > combination necessary to achieve full coverage. In that case the testing you've already got in place in `clang/test/Driver/fuchsia.cpp` is adequate.

[PATCH] D143059: [NFC] Enable selecting multiple multilibs

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

[PATCH] D143059: [NFC] Enable selecting multiple multilibs

2023-02-07 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings updated this revision to Diff 495464. michaelplatings added a comment. Herald added a subscriber: jobnoorman. Rebase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D143059/new/ https://reviews.llvm.org/D143059 Files:

[PATCH] D142986: Enable multilib.yaml in the BareMetal ToolChain

2023-02-07 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings updated this revision to Diff 495557. michaelplatings added a comment. Rebase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D142986/new/ https://reviews.llvm.org/D142986 Files: clang/lib/Driver/ToolChain.cpp

[PATCH] D142893: [NFC] Class for building MultilibSet

2023-02-07 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings updated this revision to Diff 495460. michaelplatings marked 6 inline comments as done. michaelplatings added a comment. Apply improvements suggested by @peter.smith Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D142893/new/

[PATCH] D142893: [NFC] Class for building MultilibSet

2023-02-07 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings added inline comments. Comment at: clang/include/clang/Driver/Multilib.h:25 namespace driver { /// This corresponds to a single GCC Multilib, or a segment of one controlled peter.smith wrote: > It took a bit of reading to work out what the

[PATCH] D142905: Change multilib selection algorithm

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

[PATCH] D142905: Change multilib selection algorithm

2023-02-07 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings updated this revision to Diff 495532. michaelplatings marked an inline comment as done. michaelplatings added a comment. Apply improvements suggested by @peter.smith Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D142905/new/

[PATCH] D142933: Add -print-multi-selection-flags argument

2023-02-07 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings updated this revision to Diff 49. michaelplatings added a comment. Rebase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D142933/new/ https://reviews.llvm.org/D142933 Files: clang/include/clang/Driver/Options.td

[PATCH] D142932: [NFC] Multilib YAML parsing

2023-02-07 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings updated this revision to Diff 495554. 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

[PATCH] D143059: [NFC] Enable selecting multiple multilibs

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

[PATCH] D143075: BareMetal ToolChain multilib layering

2023-02-07 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings updated this revision to Diff 495559. michaelplatings added a comment. Rebase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D143075/new/ https://reviews.llvm.org/D143075 Files: clang/lib/Driver/ToolChains/BareMetal.cpp

[PATCH] D142905: Change multilib selection algorithm

2023-02-07 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings added inline comments. Comment at: clang/include/clang/Driver/Multilib.h:31 public: - using flags_list = std::vector; + using flags_list = std::set; + using arg_list = std::vector; peter.smith wrote: > would flags_set be a better name. I'm

[PATCH] D143587: [Docs] Multilib design

2023-02-09 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings updated this revision to Diff 496072. michaelplatings added a comment. Made changes requested by @amilendra Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D143587/new/ https://reviews.llvm.org/D143587 Files:

[PATCH] D143587: [Docs] Multilib design

2023-02-09 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings marked 3 inline comments as done. michaelplatings added inline comments. Comment at: clang/docs/Multilib.rst:86-89 + a match. + If more than one variant matches then a toolchain may opt to either use only + the *last* matching multilib variant, or may use

[PATCH] D143590: [NFC] Simplify test from change D73904

2023-02-09 Thread Michael Platings via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGf28c28e66457: Simplify test from change D73904 (authored by michaelplatings). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D143590/new/

[PATCH] D143666: [Clang] Fix clang_rt tests when LLVM_ENABLE_PER_TARGET_RUNTIME_DIR is ON

2023-02-09 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 a project: clang. Herald added a subscriber: cfe-commits. If clang is part of a toolchain that can locate clang_rt

[PATCH] D143587: [Docs] Multilib design

2023-02-10 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings updated this revision to Diff 496415. michaelplatings marked 7 inline comments as done. michaelplatings added a comment. Incorporate suggestions from @peter.smith Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D143587/new/

[PATCH] D143587: [Docs] Multilib design

2023-02-10 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings added a comment. > Could be worth adding a design principles section at the end That was a very helpful suggestion, thank you. Writing them out helped me examine the compatibility story more carefully. Consequently I added a requirement for a "minimumClangVersion" property,

[PATCH] D142905: Change multilib selection algorithm

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

[PATCH] D143059: [NFC] Enable selecting multiple multilibs

2023-02-02 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings updated this revision to Diff 494262. michaelplatings added a comment. Rebase and change llvm::SmallVector to simply llvm::SmallVector Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D143059/new/ https://reviews.llvm.org/D143059

[PATCH] D142933: Add -print-multi-selection-flags argument

2023-02-02 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings added a comment. In D142933#4099043 , @Joe wrote: > I did briefly try to pass a ToolChain to Gnu.cpp functions, but it became > intrusive and had to add it in 5+ places, so unless I'm missing a trick to > get the ToolChain from the

[PATCH] D142893: Class for building MultilibSet

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

[PATCH] D142878: Add testing for Fuchsia multilib

2023-02-02 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings updated this revision to Diff 494258. michaelplatings added a comment. Rebase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D142878/new/ https://reviews.llvm.org/D142878 Files: clang/lib/Driver/ToolChains/Fuchsia.cpp

[PATCH] D143075: BareMetal ToolChain multilib layering

2023-02-01 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings created this revision. michaelplatings added a reviewer: phosek. Herald added a subscriber: abidh. Herald added a project: All. michaelplatings requested review of this revision. Herald added subscribers: cfe-commits, MaskRay. Herald added a project: clang. This enables layering

[PATCH] D142932: [NFC] Multilib YAML parsing

2023-02-08 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings added a comment. In D142932#4111925 , @phosek wrote: > Do you know if regular expressions are necessary to cover the existing use > cases? Yes. One use case is mapping later architecture versions to the last architecture version

[PATCH] D142933: Add -print-multi-selection-flags argument

2023-02-07 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings added inline comments. Comment at: clang/include/clang/Driver/Options.td:4162 def print_multi_lib : Flag<["-", "--"], "print-multi-lib">; +def print_multi_selection_flags : Flag<["-", "--"], "print-multi-selection-flags-experimental">, + HelpText<"Print the

[PATCH] D142933: Add -print-multi-selection-flags argument

2023-02-07 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings updated this revision to Diff 495656. michaelplatings marked 6 inline comments as done. michaelplatings added a comment. Apply improvements suggested by @peter.smith Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D142933/new/

[PATCH] D142986: Enable multilib.yaml in the BareMetal ToolChain

2023-02-07 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings updated this revision to Diff 495658. michaelplatings added a comment. Rebase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D142986/new/ https://reviews.llvm.org/D142986 Files: clang/lib/Driver/ToolChain.cpp

[PATCH] D142893: [NFC] Class for building MultilibSet

2023-02-08 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings marked 4 inline comments as done. michaelplatings added inline comments. Comment at: clang/include/clang/Driver/Multilib.h:35-39 std::string GCCSuffix; std::string OSSuffix; std::string IncludeSuffix; flags_list Flags; int Priority;

[PATCH] D142893: [NFC] Class for building MultilibSet

2023-02-08 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings updated this revision to Diff 495798. michaelplatings added a comment. Replace makeMultilibBuilder() with a MultilibBuilder constructor that initializes all suffixes to the same value. In the case of AndroidMipsMultilibs it was apparently intended that only the GCC suffix was

[PATCH] D142905: Change multilib selection algorithm

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

[PATCH] D143587: [Docs] Multilib design

2023-02-08 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings created this revision. michaelplatings added reviewers: peter.smith, phosek. Herald added a subscriber: arphaman. Herald added a project: All. michaelplatings requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Repository: rG

[PATCH] D143590: [NFC] Simplify test from change D73904

2023-02-08 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings created this revision. Herald added a subscriber: kristof.beyls. Herald added a project: All. michaelplatings requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. This part of the test can break if multilib is enabled, and isn't

[PATCH] D142933: Add -print-multi-selection-flags argument

2023-02-02 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings marked an inline comment as done. michaelplatings added a comment. In D142933#4099587 , @Joe wrote: > Would it be weird for one target to have the `march=` but anothers not? Yes I think it would be weird. Potentially you could have a

[PATCH] D142933: Add -print-multi-selection-flags argument

2023-02-02 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings added a comment. In D142933#4099043 , @Joe wrote: > I did briefly try to pass a ToolChain to Gnu.cpp functions, but it became > intrusive and had to add it in 5+ places, so unless I'm missing a trick to > get the ToolChain from the

[PATCH] D142933: Add -print-multi-selection-flags argument

2023-02-02 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings updated this revision to Diff 494371. michaelplatings added a comment. Put "experimental" in the argument name. The intention is to include the new multilib as an experimental feature in LLVM 17 and stabilise it in LLVM 18. Also remove support for

[PATCH] D142986: Enable multilib.yaml in the BareMetal ToolChain

2023-02-02 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings updated this revision to Diff 494414. michaelplatings added a comment. Rebase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D142986/new/ https://reviews.llvm.org/D142986 Files: clang/lib/Driver/ToolChain.cpp

[PATCH] D143059: [NFC] Enable selecting multiple multilibs

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

[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.

[PATCH] D142933: Add -print-multi-selection-flags argument

2023-02-02 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings updated this revision to Diff 494420. michaelplatings added a comment. Print flags expanded by any regular expression matchers in multilib.yaml Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D142933/new/

[PATCH] D142933: Add -print-multi-selection-flags argument

2023-02-02 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings marked an inline comment as done. michaelplatings added inline comments. Comment at: clang/lib/Driver/Driver.cpp:2213 + if (C.getArgs().hasArg(options::OPT_print_multi_selection_flags)) { +for (StringRef Attr : TC.getMultiSelectionFlags(C.getArgs())) +

[PATCH] D140959: RFC: Multilib prototype

2023-02-01 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings abandoned this revision. michaelplatings added a comment. I've created a new stack of changes taking into account the feedback. Unlike this change which was strictly a prototype, the new changes should be suitable for detailed review and hopefully approval. -

[PATCH] D143059: [NFC] Enable selecting multiple multilibs

2023-02-01 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings created this revision. michaelplatings added a reviewer: phosek. Herald added subscribers: luke, abrachet, frasercrmck, luismarques, apazos, sameer.abuasal, s.egerton, Jim, jocewei, PkmX, the_o, brucehoult, MartinMosbeck, rogfer01, atanasyan, edward-jones, zzheng, jrtc27, niosHD,

[PATCH] D142986: Enable multilib.yaml in the BareMetal ToolChain

2023-02-10 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings updated this revision to Diff 496537. michaelplatings added a comment. Add clangMinimumVersion Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D142986/new/ https://reviews.llvm.org/D142986 Files: clang/lib/Driver/ToolChain.cpp

[PATCH] D143763: [Clang] Add clangMinimumVersion to multilib.yaml

2023-02-10 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings created this revision. michaelplatings added a reviewer: peter.smith. Herald added a subscriber: dmgreen. Herald added a project: All. michaelplatings requested review of this revision. Herald added subscribers: cfe-commits, MaskRay. Herald added a project: clang. This avoids a

[PATCH] D142932: [NFC] Multilib YAML parsing

2023-02-10 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings updated this revision to Diff 496534. michaelplatings added a comment. Make "variants" required Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D142932/new/ https://reviews.llvm.org/D142932 Files:

[PATCH] D143587: [Docs] Multilib design

2023-02-10 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings updated this revision to Diff 496533. michaelplatings added a comment. Tweak multilib.yaml spec slightly Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D143587/new/ https://reviews.llvm.org/D143587 Files: clang/docs/Multilib.rst

[PATCH] D143059: [NFC] Enable selecting multiple multilibs

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

[PATCH] D154578: [ARM][Driver] Change float-abi warning

2023-07-06 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings updated this revision to Diff 537673. michaelplatings added a comment. Fix duplicate implicit group warning Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D154578/new/ https://reviews.llvm.org/D154578 Files:

[PATCH] D154578: [ARM][Driver] Change float-abi warning

2023-07-07 Thread Michael Platings via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG79165735e11e: [ARM][Driver] Change float-abi warning (authored by michaelplatings). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST

[PATCH] D154357: [Driver] Recognize powerpc-unknown-eabi as a bare-metal toolchain

2023-07-10 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings accepted this revision. michaelplatings added a comment. Hi @MaskRay, thanks for the add. Yes, we've been deleting a lot of `eabi` recently, but that's specific to AArch64. I have no particular insight into PowerPC but from @jroelofs' link, I agree `eabi` seems correct here.

[PATCH] D154786: [Clang][Driver] Pass through the --be8 endian flag to linker in BareMetal driver For Arm.

2023-07-18 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings added inline comments. Comment at: clang/lib/Driver/ToolChains/Arch/ARM.h:77 bool isARMAProfile(const llvm::Triple ); +bool isArmBigEndian(const llvm::Triple , const llvm::opt::ArgList ); Arm the company has rebranded but for consistency with

[PATCH] D154786: [Clang][Driver] Pass through the --be8 endian flag to linker in BareMetal driver For Arm.

2023-07-18 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings accepted this revision. michaelplatings added a comment. This revision is now accepted and ready to land. LGTM but please allow a day for others to comment. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D154786/new/

[PATCH] D154736: [Driver][ARM] Warn about -mabi= for assembler input with -fno-integrated-as

2023-07-10 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings accepted this revision. michaelplatings added a comment. This revision is now accepted and ready to land. LGTM Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D154736/new/ https://reviews.llvm.org/D154736

[PATCH] D155294: [Driver][RISCV] Find baremetal multilibs using YAML for GNU toolchain

2023-07-14 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings added a comment. Hi Joe, it's nice to see multilib.yaml getting some adoption :) > For the RISCVMultilibFlags, the mabi flag is used in combination with all the > march extension features (e.g +m). Notably, this doesn't align with the > current arm/aarch64 multilib flags, which

[PATCH] D142702: [Clang][AArch64][SME] Generate target features from +(no)sme.* options

2023-07-20 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings added inline comments. Comment at: clang/test/Driver/aarch64-implied-sme-features.c:49 +// RUN: %clang -target aarch64-linux-gnu -march=armv8-a+nosme+sme-i16i64 %s -### 2>&1 | FileCheck %s --check-prefix=SME-SUBFEATURE-CONFLICT-REV +//

[PATCH] D154578: [ARM][Driver] Change float-abi warning

2023-07-06 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings created this revision. michaelplatings added a reviewer: simon_tatham. Herald added a subscriber: kristof.beyls. Herald added a project: All. michaelplatings requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Previously the

[PATCH] D151308: -fsanitize=function: fix alignment fault on Arm targets.

2023-05-24 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings added inline comments. Comment at: clang/lib/CodeGen/CGExpr.cpp:5380-5381 +Builder.CreatePtrToInt(CalleePtr, IntPtrTy); +llvm::Value *AlignedCalleeAddress = Builder.CreateAnd( +CalleeAddress, llvm::ConstantInt::get(IntPtrTy, -2));

[PATCH] D151308: -fsanitize=function: fix alignment fault on Arm targets.

2023-05-24 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings accepted this revision. michaelplatings added a comment. Thanks! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D151308/new/ https://reviews.llvm.org/D151308 ___ cfe-commits mailing list

[PATCH] D151438: [NFC][Driver] Change Multilib flag representation

2023-05-25 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. This new representation means that if a string is a valid

[PATCH] D151438: [NFC][Driver] Change Multilib flag representation

2023-05-25 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings added a comment. @phosek you made some alternative suggestions: 1. Have two separate lists of include and exclude flags. 2. Store flags as a tuple (or a struct?) of string and a tag (that is include or exclude). The reason for not doing that is to keep multilib selection method

[PATCH] D146757: [Driver] Enable defining multilib flags verbatim

2023-05-25 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings abandoned this revision. michaelplatings added a comment. Abandoning this in favour of D151437 & D151438 . Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D151437: [NFC][Driver] Change MultilibBuilder interface

2023-05-25 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings created this revision. michaelplatings added a reviewer: phosek. Herald added a subscriber: abrachet. Herald added a project: All. michaelplatings requested review of this revision. Herald added subscribers: cfe-commits, MaskRay. Herald added a project: clang. Decouple the

[PATCH] D152353: [NFC][Driver] Change MultilibBuilder flags argument order

2023-06-08 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings updated this revision to Diff 529530. michaelplatings marked an inline comment as done. michaelplatings added a comment. Negate->Disallow Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D152353/new/ https://reviews.llvm.org/D152353

[PATCH] D152353: [NFC][Driver] Change MultilibBuilder flags argument order

2023-06-08 Thread Michael Platings via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rGb4507dcaeafc: [NFC][Driver] Change MultilibBuilder flags argument order (authored by michaelplatings). Repository: rG LLVM Github Monorepo

[PATCH] D143075: BareMetal ToolChain multilib layering

2023-06-08 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings updated this revision to Diff 529567. michaelplatings added a comment. Simplify code as suggested by @phosek Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D143075/new/ https://reviews.llvm.org/D143075 Files:

[PATCH] D143059: [Driver] Enable selecting multiple multilibs

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

[PATCH] D142986: Enable multilib.yaml in the BareMetal ToolChain

2023-06-08 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings updated this revision to Diff 529565. michaelplatings added a comment. Rebase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D142986/new/ https://reviews.llvm.org/D142986 Files: clang/lib/Driver/ToolChain.cpp

[PATCH] D142933: [Driver] Add -print-multi-flags-experimental option

2023-06-08 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings updated this revision to Diff 529564. michaelplatings added a comment. Rebase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D142933/new/ https://reviews.llvm.org/D142933 Files: clang/include/clang/Driver/Options.td

[PATCH] D143587: [Docs] Multilib design

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

[PATCH] D143587: [Docs] Multilib design

2023-06-08 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings updated this revision to Diff 529569. michaelplatings added a comment. Update docs to reflect recent changes Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D143587/new/ https://reviews.llvm.org/D143587 Files:

[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

[PATCH] D150902: [ARM][Driver] Warn if -mhard-float is incompatible

2023-06-05 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings updated this revision to Diff 528465. michaelplatings marked an inline comment as done. michaelplatings added a comment. Restore tweak to tests to use -### to run faster. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D150902/new/

[PATCH] D150902: [ARM][Driver] Warn if -mhard-float is incompatible

2023-06-05 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings updated this revision to Diff 528461. michaelplatings added a comment. Add variable specifically for the purpose of specifying whether or not FP regs are available. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D150902/new/

[PATCH] D150902: [ARM][Driver] Warn if -mhard-float is incompatible

2023-06-05 Thread Michael Platings via Phabricator via cfe-commits
michaelplatings marked an inline comment as done. michaelplatings added inline comments. Comment at: clang/lib/Driver/ToolChains/Arch/ARM.cpp:151 + const std::vector ) { + if (llvm::find(Features, "-fpregs") == Features.end()) +return;

<    1   2   3   >