[PATCH] D83892: [clang][cli] Port CodeGen option flags to new option parsing system

2021-01-06 Thread Jan Svoboda via Phabricator via cfe-commits
jansvoboda11 added a comment. @thakis Thanks for the heads-up and sorry for the inconvenience. @rnk You're right. This patch accidentally changed `Group` to `Group` for `-g[no-]column-info`. In the linked build, this caused expansion of the driver flag `-gcolumn-info` to cc1 flag

[PATCH] D83892: [clang][cli] Port CodeGen option flags to new option parsing system

2021-01-05 Thread Reid Kleckner via Phabricator via cfe-commits
rnk added a comment. Reposting my comment here, since this is where the discussion was: I think this change broke -gline-tables-only functionality. I compared object files before and after this change. The new object file had a large .debug_loc section, which is only present when full debug

[PATCH] D83892: [clang][cli] Port CodeGen option flags to new option parsing system

2020-12-23 Thread Nico Weber via Phabricator via cfe-commits
thakis added a comment. ...and two more in 1876a2914fe0bedf50f7be6a305f5bf35493e496 . Sorry for the churn! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D83892/new/

[PATCH] D83892: [clang][cli] Port CodeGen option flags to new option parsing system

2020-12-23 Thread Nico Weber via Phabricator via cfe-commits
thakis added a comment. I reverted this (and a bunch of stuff that landed on top of it) in 7ad666798f12456d9e663e763e17e29007c3728d for now. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D83892: [clang][cli] Port CodeGen option flags to new option parsing system

2020-12-23 Thread Nico Weber via Phabricator via cfe-commits
thakis added a comment. I verified it's due to this change. https://bugs.chromium.org/p/chromium/issues/detail?id=1161230#c15 has a stand-alone repro. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D83892/new/ https://reviews.llvm.org/D83892

[PATCH] D83892: [clang][cli] Port CodeGen option flags to new option parsing system

2020-12-23 Thread Nico Weber via Phabricator via cfe-commits
thakis added a comment. Heads-up: Looks like one of these changes, likely this one for CodeGen, made sanitizer output way larger: https://bugs.chromium.org/p/chromium/issues/detail?id=1161230 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D83892: [clang][cli] Port CodeGen option flags to new option parsing system

2020-12-16 Thread Paul Robinson via Phabricator via cfe-commits
probinson added a comment. Thanks Duncan! I (or someone) will play around with that and see what we need to do. May take a little while, as we're about to freeze a release and then go on break for two weeks, but good to know there's a straightforward path. Repository: rG LLVM Github

[PATCH] D83892: [clang][cli] Port CodeGen option flags to new option parsing system

2020-12-16 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added a comment. In D83892#2458603 , @dexonsmith wrote: > Maybe it's worth defining another set of derived multiclasses, [...] Another possibility of course is to make `Bool*Option` work this way (removing the ChangedBy, ResetBy,

[PATCH] D83892: [clang][cli] Port CodeGen option flags to new option parsing system

2020-12-16 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added a comment. In D83892#2458049 , @probinson wrote: > One thing this patch does, is make decisions about default behavior static. > Meaning, the option behavior cannot depend on other options; specifically, it > can't be based on the

[PATCH] D83892: [clang][cli] Port CodeGen option flags to new option parsing system

2020-12-16 Thread Paul Robinson via Phabricator via cfe-commits
probinson added a comment. One thing this patch does, is make decisions about default behavior static. Meaning, the option behavior cannot depend on other options; specifically, it can't be based on the triple, which allows target-specific customization. PS4 certainly has cases where our

[PATCH] D83892: [clang][cli] Port CodeGen option flags to new option parsing system

2020-12-16 Thread Jan Svoboda 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 rG741978d727a4: [clang][cli] Port CodeGen option flags to new option parsing system (authored by jansvoboda11). Changed prior to commit:

[PATCH] D83892: [clang][cli] Port CodeGen option flags to new option parsing system

2020-12-11 Thread Jan Svoboda via Phabricator via cfe-commits
jansvoboda11 updated this revision to Diff 311217. jansvoboda11 added a comment. Remove whitespace change, rebase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D83892/new/ https://reviews.llvm.org/D83892 Files:

[PATCH] D83892: [clang][cli] Port CodeGen option flags to new option parsing system

2020-12-10 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith accepted this revision. dexonsmith added a comment. This revision is now accepted and ready to land. Thanks for working through this! Updated patch LGTM, with one nit. Comment at: clang/lib/Frontend/CompilerInvocation.cpp:314 FrontendOptions =

[PATCH] D83892: [clang][cli] Port CodeGen option flags to new option parsing system

2020-12-10 Thread Jan Svoboda via Phabricator via cfe-commits
jansvoboda11 added a comment. This is now ready for review. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D83892/new/ https://reviews.llvm.org/D83892 ___ cfe-commits mailing list

[PATCH] D83892: [clang][cli] Port CodeGen option flags to new option parsing system

2020-12-10 Thread Jan Svoboda via Phabricator via cfe-commits
jansvoboda11 updated this revision to Diff 310870. jansvoboda11 added a comment. Rebase, use BoolOption Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D83892/new/ https://reviews.llvm.org/D83892 Files: clang/include/clang/Driver/Options.td

[PATCH] D83892: [clang][cli] Port CodeGen option flags to new option parsing system

2020-12-01 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added a comment. I think `DefaultsTo{True,False}` and `InvertedBy{Negative,Positive}Flag` makes the axes clear, it's way better; thanks for thinking this through. Thinking out loud: I'm still a bit resistant to making this keypath-centric. The reason is that `llvm::Option` is a

[PATCH] D83892: [clang][cli] Port CodeGen option flags to new option parsing system

2020-12-01 Thread Jan Svoboda via Phabricator via cfe-commits
jansvoboda11 added a comment. @Bigcheese brought up that if you wanted to mimic the current logic in `OptInFFlag` that automatically creates the `-cc1` option with my current proposal, you'd need to remember to pass it to the right `Flags` (e.g.: use `NegativeFlag<[CC1Option]>` when using

[PATCH] D83892: [clang][cli] Port CodeGen option flags to new option parsing system

2020-12-01 Thread Jan Svoboda via Phabricator via cfe-commits
jansvoboda11 added a comment. I wanted to defer the resolution of the todos after all existing patches (https://reviews.llvm.org/search/query/wPZcRaH7zHgu/#R) are upstreamed to avoid conflicts when rebasing and refactoring. Looking at the patches more closely, only two of them seem to be

[PATCH] D83892: [clang][cli] Port CodeGen option flags to new option parsing system

2020-12-01 Thread Jan Svoboda via Phabricator via cfe-commits
jansvoboda11 updated this revision to Diff 308597. jansvoboda11 added a comment. Rebase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D83892/new/ https://reviews.llvm.org/D83892 Files: clang/include/clang/Driver/Options.td

[PATCH] D83892: [clang][cli] Port CodeGen option flags to new option parsing system

2020-11-30 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added a comment. In D83892#2417903 , @jansvoboda11 wrote: > This is now ready to be reviewed. If you see a deleted option in the diff, > it's either because it was moved closer to its counterpart, or because it's > now generated by a

[PATCH] D83892: [clang][cli] Port CodeGen option flags to new option parsing system

2020-11-26 Thread Jan Svoboda via Phabricator via cfe-commits
jansvoboda11 added a comment. This is now ready to be reviewed. If you see a deleted option in the diff, it's either because it was moved closer to its counterpart, or because it's now generated by a multiclass. I've added a bunch of TODOs I plan to address in a future patch, most of them aim

[PATCH] D83892: [clang][cli] Port CodeGen option flags to new option parsing system

2020-11-26 Thread Jan Svoboda via Phabricator via cfe-commits
jansvoboda11 updated this revision to Diff 307780. jansvoboda11 added a comment. Herald added a project: LLVM. Herald added a subscriber: llvm-commits. Revert accidental help change, do not AlwaysEmit Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D83892: [clang][cli] Port CodeGen option flags to new option parsing system

2020-11-26 Thread Jan Svoboda via Phabricator via cfe-commits
jansvoboda11 updated this revision to Diff 307772. jansvoboda11 added a comment. Remove whitespace change Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D83892/new/ https://reviews.llvm.org/D83892 Files: clang/include/clang/Driver/Options.td

[PATCH] D83892: [clang][cli] Port CodeGen option flags to new option parsing system

2020-11-26 Thread Jan Svoboda via Phabricator via cfe-commits
jansvoboda11 updated this revision to Diff 307771. jansvoboda11 added a comment. Port AAPCS flags, add tests Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D83892/new/ https://reviews.llvm.org/D83892 Files: clang/include/clang/Driver/Options.td

[PATCH] D83892: [clang][cli] Port CodeGen option flags to new option parsing system

2020-11-25 Thread Jan Svoboda via Phabricator via cfe-commits
jansvoboda11 updated this revision to Diff 307578. jansvoboda11 added a comment. Add squashed commits Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D83892/new/ https://reviews.llvm.org/D83892 Files: clang/include/clang/Driver/Options.td

[PATCH] D83892: [clang][cli] Port CodeGen option flags to new option parsing system

2020-11-25 Thread Jan Svoboda via Phabricator via cfe-commits
jansvoboda11 updated this revision to Diff 307577. jansvoboda11 added a comment. Introduce OptOutPositiveFFlag, simplify a couple of boolean options with multiclasses Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D83892/new/

[PATCH] D83892: [clang][cli] Port CodeGen option flags to new option parsing system

2020-11-25 Thread Jan Svoboda via Phabricator via cfe-commits
jansvoboda11 updated this revision to Diff 307535. jansvoboda11 added a comment. Herald added a subscriber: jfb. Rebase, undo unnecessary moves, port recently added options, add TODOs (WIP) Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D83892/new/