Page MenuHomePhabricator
Feed Advanced Search

Wed, Feb 24

dexonsmith committed rG01701646d555: Transforms: Clone distinct nodes in metadata mapper unless… (authored by dexonsmith).
Transforms: Clone distinct nodes in metadata mapper unless…
Wed, Feb 24, 1:29 PM
dexonsmith closed D96734: Transforms: Clone distinct nodes in metadata mapper unless RF_ReuseAndMutateDistinctMDs.
Wed, Feb 24, 1:29 PM · Restricted Project
dexonsmith committed rG1e1b92f76de7: IR: Rename Metadata::ImplicitCode to SubclassData1, NFC (authored by dexonsmith).
IR: Rename Metadata::ImplicitCode to SubclassData1, NFC
Wed, Feb 24, 12:57 PM
dexonsmith closed D96740: IR: Rename Metadata::ImplicitCode to SubclassData1, NFC.
Wed, Feb 24, 12:57 PM · Restricted Project
dexonsmith planned changes to D90497: Module: Use FileEntryRef and DirectoryEntryRef in Umbrella, Header, and DirectoryName, NFC.
Wed, Feb 24, 12:04 PM · Restricted Project
dexonsmith accepted D96847: [clang][cli] Store additional optimization remarks info.

LGTM.

Wed, Feb 24, 11:58 AM · Restricted Project
dexonsmith accepted D97373: [lit] Introduce LIT_WORKERS environment variable.

LGTM! Thanks for implementing this.

Wed, Feb 24, 7:51 AM · Restricted Project
dexonsmith accepted D97370: [clang][cli] Remove marshalling from Opt{In,Out}FFlag.

LGTM.

Wed, Feb 24, 7:41 AM · Restricted Project
dexonsmith accepted D97375: [clang][cli] Add MarshallingInfoEnum multiclass.

LGTM.

Wed, Feb 24, 7:35 AM · Restricted Project, Restricted Project

Tue, Feb 23

dexonsmith added a comment to D97288: Added `Follow` parameter to llvm::vfs::FileSystem::status().

If we do add this, I'd suggest a separate function rather than modifying the current one. I also think implementing it should be optional. Something like:

virtual ErrorOr<vfs::Status> status(const Twine &Path) = 0;
virtual ErrorOr<vfs::Status> status(const Twine &Path, bool FollowSymlinks) {
  // By default ignore the request not to follow symlinks.
  (void)FollowSymlinks;
  return status(Path);
}

or, maybe better / more clear with a distinct name:

virtual ErrorOr<vfs::Status> statusNoFollow(const Twine &Path) {
  // By default ignore the request not to follow symlinks.
  return status(Path);
}

Note that there's also a hole in FileSystem::dir_begin which also always follows symlinks; perhaps the parallel features could be implemented (or not) at the same time.

Tue, Feb 23, 7:29 PM · Restricted Project, Restricted Project
dexonsmith added a reverting change for rG32c501dd88b6: Module: Use FileEntryRef and DirectoryEntryRef in Umbrella, Header, and…: rG64d8c7818db2: Revert "Module: Use FileEntryRef and DirectoryEntryRef in Umbrella, Header, and….
Tue, Feb 23, 9:58 AM
dexonsmith committed rG64d8c7818db2: Revert "Module: Use FileEntryRef and DirectoryEntryRef in Umbrella, Header, and… (authored by dexonsmith).
Revert "Module: Use FileEntryRef and DirectoryEntryRef in Umbrella, Header, and…
Tue, Feb 23, 9:57 AM
dexonsmith added a reverting change for D90497: Module: Use FileEntryRef and DirectoryEntryRef in Umbrella, Header, and DirectoryName, NFC: rG64d8c7818db2: Revert "Module: Use FileEntryRef and DirectoryEntryRef in Umbrella, Header, and….
Tue, Feb 23, 9:57 AM · Restricted Project
dexonsmith reopened D90497: Module: Use FileEntryRef and DirectoryEntryRef in Umbrella, Header, and DirectoryName, NFC.

This has unexpectedly caused a behaviour change (perhaps the same root cause as https://reviews.llvm.org/D92975#2453482, but the investigation is ongoing). I'll be reverting later today.

Tue, Feb 23, 8:43 AM · Restricted Project

Fri, Feb 19

dexonsmith added a comment to D97042: [clang][cli] Stop creating '-Wno-stdlibcxx-not-found' in cc1.

Agreed; LGTM.

Fri, Feb 19, 10:33 PM · Restricted Project
dexonsmith accepted D97042: [clang][cli] Stop creating '-Wno-stdlibcxx-not-found' in cc1.

Agreed; LGTM.

Fri, Feb 19, 10:28 PM · Restricted Project
dexonsmith added a comment to D96847: [clang][cli] Store additional optimization remarks info.

That's a bit nicer.

Not sure if RemarkPattern is a good name now, as it may represent an optimization remark that doesn't have any pattern associated with it.
How about calling it OptimizationRemark and merging operator bool and operator -> into bool patternMatch(...) { return Pattern && Pattern.match(...); }?

Fri, Feb 19, 10:26 PM · Restricted Project

Thu, Feb 18

dexonsmith added inline comments to D96974: [clang][patch] Inclusive language, modify filename SanitizerBlacklist.h to NoSanitizeList.h.
Thu, Feb 18, 2:48 PM · Restricted Project
dexonsmith added a comment to D96816: [ObjC] Encode pointers to C++ classes as "^v" if the encoded string would otherwise include template specialization types .

I still don't understand why the test was failing, but did we have to bump the version because a new LangOpt (EncodeCXXClassTemplateSpec) was added?

Thu, Feb 18, 12:44 PM · Restricted Project

Wed, Feb 17

dexonsmith added inline comments to D96847: [clang][cli] Store additional optimization remarks info.
Wed, Feb 17, 1:53 PM · Restricted Project
dexonsmith added inline comments to D96848: [clang][cli] Don't emit manufactured warnings.
Wed, Feb 17, 12:29 PM · Restricted Project

Mon, Feb 15

dexonsmith requested review of D96740: IR: Rename Metadata::ImplicitCode to SubclassData1, NFC.
Mon, Feb 15, 5:51 PM · Restricted Project
dexonsmith updated the summary of D96734: Transforms: Clone distinct nodes in metadata mapper unless RF_ReuseAndMutateDistinctMDs.
Mon, Feb 15, 5:12 PM · Restricted Project
dexonsmith added inline comments to D96734: Transforms: Clone distinct nodes in metadata mapper unless RF_ReuseAndMutateDistinctMDs.
Mon, Feb 15, 5:11 PM · Restricted Project
dexonsmith updated the diff for D96734: Transforms: Clone distinct nodes in metadata mapper unless RF_ReuseAndMutateDistinctMDs.

Drop the one-line helper, cloneDistinct().

Mon, Feb 15, 5:10 PM · Restricted Project
dexonsmith updated the summary of D96734: Transforms: Clone distinct nodes in metadata mapper unless RF_ReuseAndMutateDistinctMDs.
Mon, Feb 15, 3:43 PM · Restricted Project
dexonsmith added a comment to D41669: Teach ValueMapper to use ODR uniqued types when available.

Sorry to be unclear. That test case, added with this patch, does still fail for me with this change reverted. It will fail if there is more than one DICompositeType - please take a look to see if this looks problematic. I don't recall exactly why I was concerned about that originally. What doesn't fail for me anymore with this change reverted is the test case in the associated PR, which was an actual crash.

Note all of this was before you pushed 22a52dfddcefad4f275eb8ad1cc0e200074c2d8a so didn't have that.

Mon, Feb 15, 3:35 PM · Restricted Project
dexonsmith requested review of D96734: Transforms: Clone distinct nodes in metadata mapper unless RF_ReuseAndMutateDistinctMDs.
Mon, Feb 15, 3:31 PM · Restricted Project
dexonsmith added a comment to D41669: Teach ValueMapper to use ODR uniqued types when available.

Yes it's being discarded. And yes it is already using RF_ReuseAndMutateDistinctMDs (set by default on the IRLinker constructor initialization of the ValueMapper). Hmm, now I'm confused. The case I modified in this patch is where this flag is not set. Aha - going through the debugger for the test case included with this patch shows that while the importer itself uses a ValueMapper with RF_ReuseAndMutateDistinctMDs enabled, the functionality that imports an alias as a copy of the aliasee (replaceAliasWithAliaseee) in fact uses CloneFunction/CloneFunctionInto, so a ValueMapper without that flag. So perhaps your fix in D96531 is sufficient and this change can be reverted?

Your logic SGTM -- replaceAliasWithAliasee DOES use CloneFunction -- but as mentioned above the test is failing for me. I'm confused... maybe my tree is out-of-date, or maybe there's something subtle going on... I'll reply again if I figure it out.

Mon, Feb 15, 2:39 PM · Restricted Project
dexonsmith added a comment to D41669: Teach ValueMapper to use ODR uniqued types when available.

This is unsound, as it breaks CloneModule: it causes the original/cloned module to reference GlobalValues from the new module (composite types transitively reference global values when a type has "interesting" template parameters). See https://bugs.llvm.org/show_bug.cgi?id=48841 (especially https://bugs.llvm.org/show_bug.cgi?id=48841#c22, where I have a long explanation).

@tejohnson, can you share more context about why this was necessary? How is ThinLTO using the value mapper that this happens?

There should be another way to get this optimization that's sound, but I think it'll involve priming the ValueToValueMap that gets sent into MapValue / MapMetadata.

I need to go back and look at this some more, unfortunately it's not immediately obvious. It looks like I was making this change for unspecified reasons related to my change to import aliases as a copy of the aliasee, and then found it fixed PR36089. Need to go back and see if the test case in that bug works now or still fails without this change.

I'd bet the testcase in that bug will still fail without this change.

Actually - I just tried it and it passes with this change reverted. I guess something else already fixed that issue in a slightly different probably more correct way?

Mon, Feb 15, 2:25 PM · Restricted Project
dexonsmith committed rG22a52dfddcef: TransformUtils: Fix metadata handling in CloneModule (and improve… (authored by dexonsmith).
TransformUtils: Fix metadata handling in CloneModule (and improve…
Mon, Feb 15, 11:56 AM
dexonsmith closed D96531: TransformUtils: Fix metadata handling in CloneModule (and improve CloneFunctionInto).
Mon, Feb 15, 11:56 AM · Restricted Project
dexonsmith accepted D96705: [clang][cli] Add explicit round-trip test.

LGTM.

Mon, Feb 15, 10:44 AM · Restricted Project
dexonsmith added a comment to D41669: Teach ValueMapper to use ODR uniqued types when available.

This is unsound, as it breaks CloneModule: it causes the original/cloned module to reference GlobalValues from the new module (composite types transitively reference global values when a type has "interesting" template parameters). See https://bugs.llvm.org/show_bug.cgi?id=48841 (especially https://bugs.llvm.org/show_bug.cgi?id=48841#c22, where I have a long explanation).

@tejohnson, can you share more context about why this was necessary? How is ThinLTO using the value mapper that this happens?

There should be another way to get this optimization that's sound, but I think it'll involve priming the ValueToValueMap that gets sent into MapValue / MapMetadata.

I need to go back and look at this some more, unfortunately it's not immediately obvious. It looks like I was making this change for unspecified reasons related to my change to import aliases as a copy of the aliasee, and then found it fixed PR36089. Need to go back and see if the test case in that bug works now or still fails without this change.

Mon, Feb 15, 10:41 AM · Restricted Project

Fri, Feb 12

dexonsmith added a comment to D95494: Support: Add mapped_file_region::sync(), equivalent to msync.
In D95494#2534572, @rnk wrote:

@amccarth, can you confirm that these are the right APIs to use here? Do we need both FlushViewOfFile and FlushFileBuffers?

Yes, those are the right APIs. The first initiates the flush asynchronously. The second blocks until the flush is complete. That's necessary if it's important to match the behavior of the corresponding Posix implementation, which passes the MS_SYNC flag.

The only difference I see is that that Posix version will mark the last write time on the file to be updated, but the Windows version _may_ not. I doubt that's important, but, if it is, then the Windows version would also have to call SetFileTime. I don't know how often LLVM code will sync, so I would avoid an extra operation if it's not necessary.

On Windows, you rarely need to use FlushViewOfFile because (1) the system will keep multiple _views_ coherent across threads and processes and (2) everything will be flushed to disk when the view is closed. FlushViewOfFile is useful when you need to ensure the bits on disk are updated because you expect another thread or process to access the file through something other than another view into the same file mapping.

Fri, Feb 12, 4:43 PM · Restricted Project
Herald added a project to D41669: Teach ValueMapper to use ODR uniqued types when available: Restricted Project.

This is unsound, as it breaks CloneModule: it causes the original/cloned module to reference GlobalValues from the new module (composite types transitively reference global values when a type has "interesting" template parameters). See https://bugs.llvm.org/show_bug.cgi?id=48841 (especially https://bugs.llvm.org/show_bug.cgi?id=48841#c22, where I have a long explanation).

Fri, Feb 12, 4:25 PM · Restricted Project
dexonsmith added inline comments to D96531: TransformUtils: Fix metadata handling in CloneModule (and improve CloneFunctionInto).
Fri, Feb 12, 1:12 PM · Restricted Project
dexonsmith retitled D95502: WIP: Frontend: Adopt llvm::vfs::OutputBackend in CompilerInstance from WIP: Frontend: Adopt llvm::vfs::OutputManager in CompilerInstance to WIP: Frontend: Adopt llvm::vfs::OutputBackend in CompilerInstance.
Fri, Feb 12, 12:00 PM · Restricted Project
dexonsmith updated the diff for D95502: WIP: Frontend: Adopt llvm::vfs::OutputBackend in CompilerInstance.

Rebase on top of newer https://reviews.llvm.org/D95501.

Fri, Feb 12, 11:59 AM · Restricted Project
dexonsmith updated the diff for D95501: WIP: Support: Add vfs::OutputBackend to virtualize compiler outputs.

rebase

Fri, Feb 12, 11:58 AM · Restricted Project
dexonsmith updated the diff for D95494: Support: Add mapped_file_region::sync(), equivalent to msync.

ping / rebase

Fri, Feb 12, 11:48 AM · Restricted Project
dexonsmith updated the diff for D95490: Support: Extract fs::resize_file_before_mapping_readwrite from FileOutputBuffer.

ping / rebase

Fri, Feb 12, 11:48 AM · Restricted Project
dexonsmith updated the diff for D95497: Frontend: Respect -working-directory when checking if output files can be written.

ping / rebase

Fri, Feb 12, 11:47 AM · Restricted Project

Thu, Feb 11

dexonsmith requested review of D96531: TransformUtils: Fix metadata handling in CloneModule (and improve CloneFunctionInto).
Thu, Feb 11, 11:18 AM · Restricted Project
dexonsmith added a comment to D92808: [ObjC][ARC] Use operand bundle 'clang.arc.attachedcall' instead of explicitly emitting retainRV or claimRV calls in the IR.

@dexonsmith @rjmccall What do you think? Would you be happy with iterating on the suggestions in tree?

Thu, Feb 11, 11:11 AM · Restricted Project, Restricted Project
dexonsmith added a comment to D92808: [ObjC][ARC] Use operand bundle 'clang.arc.attachedcall' instead of explicitly emitting retainRV or claimRV calls in the IR.

For example, if SCCP just does a normal RAUW on the following call, which is taken from the example I posted,

%r = call i8* @foo() [ "clang.arc.rv"(i64 1, i8* %r) ]

will become

%r = call i8* @foo() [ "clang.arc.rv"(i64 1, i8* @g0) ]

%r doesn't have an explicit use in the IR anymore, so passes like deadargelim can change the return type of the function to void.

Thu, Feb 11, 11:04 AM · Restricted Project, Restricted Project

Wed, Feb 10

dexonsmith committed rGfa35c1f80f0e: ValueMapper: Rename RF_MoveDistinctMDs => RF_ReuseAndMutateDistinctMDs, NFC (authored by dexonsmith).
ValueMapper: Rename RF_MoveDistinctMDs => RF_ReuseAndMutateDistinctMDs, NFC
Wed, Feb 10, 4:55 PM
dexonsmith added a comment to D92808: [ObjC][ARC] Use operand bundle 'clang.arc.attachedcall' instead of explicitly emitting retainRV or claimRV calls in the IR.

The ultimate code-generation consequences of this feature aren't very generic, so we shouldn't let ourselves get caught up designing an extremely general feature that ultimately either doesn't do what we need it to do or doesn't actually work for any of the generalizations.

Wed, Feb 10, 4:49 PM · Restricted Project, Restricted Project
dexonsmith added inline comments to D36082: [Cloning] Move distinct GlobalVariable debug info metadata in CloneModule .
Wed, Feb 10, 12:45 PM · Restricted Project
Herald added a project to D36082: [Cloning] Move distinct GlobalVariable debug info metadata in CloneModule : Restricted Project.

RF_MoveDistinctMDs is not safe to use in llvm::CloneModule(), since this flag causes the IRLinker to mutate distinct nodes instead of cloning them. That's only sound if the original module is being discarded after linking (e.g., when you want to link some bitcode in, you read it into an ephemeral module, link in what you want, and discard what's left). In llvm::CloneModule(), you'll end up with the original module referencing global variables owned by the cloned module.

Wed, Feb 10, 12:34 PM · Restricted Project

Tue, Feb 9

dexonsmith added a comment to D96087: Option to ignore llvm[.compiler].used uses in hasAddressTaken().

(Passing comment not really related to the patch, but I wonder how hard / useful it would be to convert @llvm.used and @llvm.compiler.used to attributes (or similar)...?)

At the very least these variables are defined in the LLVM IR specification, so it would be a compatibility break.

Tue, Feb 9, 6:10 PM · Restricted Project
dexonsmith added a comment to D96087: Option to ignore llvm[.compiler].used uses in hasAddressTaken().

(Passing comment not really related to the patch, but I wonder how hard / useful it would be to convert @llvm.used and @llvm.compiler.used to attributes (or similar)...?)

Tue, Feb 9, 3:20 PM · Restricted Project
dexonsmith accepted D96280: [clang][cli] Round-trip the whole CompilerInvocation.

LGTM! One more more comment inline.

Tue, Feb 9, 2:49 PM · Restricted Project
dexonsmith accepted D96323: [clang][cli] NFC: Remove intermediate command line parsing functions.

LGTM.

Tue, Feb 9, 2:46 PM · Restricted Project
dexonsmith accepted D96325: [clang][cli] NFC: Remove ArgList infrastructure for recording queries.

LGTM.

Tue, Feb 9, 2:46 PM · Restricted Project
dexonsmith accepted D96274: [clang][cli] Generate and round-trip Diagnostic options.

I don't claim to be very familiar with this area but "round-trip" and "test" would make me think those bits should be in a lit test or unittest. As it is, it's not obvious what is functional and what is testing here.
Possibly I am misunderstanding something fundamental about how these options work?

Tue, Feb 9, 1:56 PM · Restricted Project
dexonsmith added a comment to D92808: [ObjC][ARC] Use operand bundle 'clang.arc.attachedcall' instead of explicitly emitting retainRV or claimRV calls in the IR.

I have a couple of suggestions below to add to the mix (but I don't feel strongly about either of them, just adding them for consideration).

Tue, Feb 9, 1:41 PM · Restricted Project, Restricted Project

Mon, Feb 8

dexonsmith added a comment to D92808: [ObjC][ARC] Use operand bundle 'clang.arc.attachedcall' instead of explicitly emitting retainRV or claimRV calls in the IR.

I ended up reverting the changes I made to llvm/lib/IR/AutoUpgrade.cpp as the file was including llvm/Analysis/ObjCARCUtil.h, which was violating layering.

Mon, Feb 8, 12:20 PM · Restricted Project, Restricted Project
dexonsmith accepted D95055: [clang] Don't look into <sysroot> for C++ headers if they are found alongside the toolchain.

LGTM. Sorry for missing this earlier!

Mon, Feb 8, 11:57 AM · Restricted Project
dexonsmith accepted D92191: [clang-scan-deps] Add support for clang-cl.

LGTM. This is similar enough to the original patch I'm comfortable signing off, even though @Bigcheese hasn't had a chance to take a look.

Mon, Feb 8, 11:53 AM · Restricted Project
dexonsmith accepted D95210: Update the ProgrammersManual explanation for ilist and iplist.

LGTM.

Mon, Feb 8, 11:39 AM · Restricted Project
dexonsmith accepted D95775: [ValueMapper] Add debug output for metadata remapping.

LGTM.

Mon, Feb 8, 11:38 AM · Restricted Project
dexonsmith accepted D96269: [clang][cli] Look up program action argument in a table.

LGTM.

Mon, Feb 8, 11:36 AM · Restricted Project
dexonsmith accepted D96056: [clang][cli] Generate and round-trip CodeGen options.

LGTM.

Mon, Feb 8, 11:35 AM · Restricted Project, Restricted Project
dexonsmith accepted D96155: [clang][cli] Generate and round-trip Frontend options.

LGTM, although the description seems incorrect:

This patch implements generation of remaining preprocessor options and tests it by performing parse-generate-parse round trip.

Mon, Feb 8, 11:33 AM · Restricted Project
dexonsmith accepted D96158: [clang][cli] Generate and round-trip Target options.

LGTM.

Mon, Feb 8, 11:30 AM · Restricted Project
dexonsmith accepted D96273: [clang][cli] Generate and round-trip DependencyOutput options.

LGTM.

Mon, Feb 8, 11:29 AM · Restricted Project
dexonsmith accepted D96149: [clang][cli] Store InputKind in FrontendOptions.

LGTM.

Mon, Feb 8, 11:28 AM · Restricted Project
dexonsmith requested changes to D96274: [clang][cli] Generate and round-trip Diagnostic options.
Mon, Feb 8, 11:26 AM · Restricted Project
dexonsmith accepted D96278: [clang][cli] Extract FileSystem and Migrator options parsing/generation.

LGTM.

Mon, Feb 8, 11:01 AM · Restricted Project
dexonsmith requested changes to D96280: [clang][cli] Round-trip the whole CompilerInvocation.
Mon, Feb 8, 11:00 AM · Restricted Project
dexonsmith added a comment to D96280: [clang][cli] Round-trip the whole CompilerInvocation.

Mostly looks great; happy to see this come full circle and remove the round-tripping boilerplate. Just a couple of questions inline below.

Mon, Feb 8, 11:00 AM · Restricted Project

Fri, Feb 5

dexonsmith accepted D96156: [clang][cli] Generate and round-trip PreprocessorOutput options.

LGTM.

Fri, Feb 5, 6:40 PM · Restricted Project

Thu, Feb 4

dexonsmith added a comment to D96079: Move implementation of isAssumeLikeIntrinsic into IntrinsicInst.

Not sure I'm the best person to review this, but I have a couple of drive-by questions.

Thu, Feb 4, 4:01 PM · Restricted Project
dexonsmith accepted D96036: [clang][codegen] Remember string used to create llvm::Regex for optimization remarks.

LGTM! I also have a couple of optional suggestions to consider.

Thu, Feb 4, 8:49 AM · Restricted Project

Wed, Feb 3

dexonsmith accepted D95099: [clang-scan-deps] : Support -- in clang command lines..

LGTM!

Wed, Feb 3, 5:42 PM · Restricted Project
dexonsmith accepted D94472: [clang][cli] Command line round-trip for HeaderSearch options.

I've changed this patch so that the errors and debugging output goes to DiagnosticsEngine.

Also, I switched back to the original solution, where we always round-trip when Clang is built certain way (this time not when CMake was configured with -DLLVM_ENABLE_ASSERTIONS=ON, but with -DCLANG_ROUND_TRIP_CC1_ARGS=ON). The problem with the previous solution (passing -round-trip-args from the driver to -cc1) is that a lot of tests invoke -cc1 directly, not through the driver. We want to test round-tripping on such tests as well, but shouldn't pollute them with -round-trip-args or force them to go through the driver. I've considered enabling round-tripping through an environment variable, but the problem is that the, the environment variable is not propagated when running lit tests.

Wed, Feb 3, 1:25 PM · Restricted Project, Restricted Project
dexonsmith accepted D95792: [clang][cli] Report result of ParseLangArgs.

LGTM.

Wed, Feb 3, 1:12 PM · Restricted Project

Tue, Feb 2

dexonsmith updated the diff for D95501: WIP: Support: Add vfs::OutputBackend to virtualize compiler outputs.

Update description and patch following some feedback on the RFC.

  • Simplify OutputConfig, restricting it to semantic information about a specific output. Sink all backend configuration to flags on the backends themselves.
  • Remove OutputManager, instead exposing OutputBackend directly.
  • Merge Output and OutputDestination into a single class called OutputFile, and rename the API for creating them to OutputBackend::createFile().
  • Add support for working directories via OutputDirectory, and add OutputBackend::getDirectory() and OutputBackend::createDirectory().
  • Add support for createUniqueFile() and createUniqueDirectory(), both heavily used in clang. Backends without read access can use StableUniqueEntityAdaptor to implement these.
Tue, Feb 2, 7:21 PM · Restricted Project
dexonsmith accepted D95793: [clang][cli] Generate and round-trip language options.

LGTM, since I don't think the parallel error paths are too bad in this specific patch, but see my longer comment inline.

Tue, Feb 2, 11:02 AM · Restricted Project
dexonsmith accepted D95879: [clang][index] Mark file as C++ in parse-all-comments test.

LGTM

Tue, Feb 2, 10:37 AM · Restricted Project

Mon, Feb 1

dexonsmith added inline comments to D95793: [clang][cli] Generate and round-trip language options.
Mon, Feb 1, 8:52 PM · Restricted Project
dexonsmith added inline comments to D95792: [clang][cli] Report result of ParseLangArgs.
Mon, Feb 1, 8:50 PM · Restricted Project
dexonsmith updated the diff for D95490: Support: Extract fs::resize_file_before_mapping_readwrite from FileOutputBuffer.

Actually use resize_fiel_before_mapping_readwrite in FileOutputBuffer (just noticed I'd only copied the code, not extracted it).

Mon, Feb 1, 11:54 AM · Restricted Project
dexonsmith added a comment to D95490: Support: Extract fs::resize_file_before_mapping_readwrite from FileOutputBuffer.
In D95490#2534499, @rnk wrote:

If I understand correctly, uploading a new patch triggered new build and test results, and now the reported size is 4096:
https://reviews.llvm.org/harbormaster/unit/view/310832/

Mon, Feb 1, 11:47 AM · Restricted Project

Fri, Jan 29

dexonsmith added inline comments to D94487: [LTO] Use lto::backend for code generation..
Fri, Jan 29, 11:04 AM · Restricted Project
dexonsmith added inline comments to D95369: [clang][cli] Generate and round-trip analyzer options.
Fri, Jan 29, 8:59 AM · Restricted Project
dexonsmith added inline comments to D95654: ADT: Sink the guts of StringMapEntry::Create into StringMapEntryBase.
Fri, Jan 29, 8:39 AM · Restricted Project
dexonsmith added inline comments to D95583: Frontend: Add -f{,no-}implicit-modules-uses-lock and -Rmodule-lock.
Fri, Jan 29, 8:15 AM · Restricted Project
dexonsmith added inline comments to D94472: [clang][cli] Command line round-trip for HeaderSearch options.
Fri, Jan 29, 7:50 AM · Restricted Project, Restricted Project

Thu, Jan 28

dexonsmith requested review of D95654: ADT: Sink the guts of StringMapEntry::Create into StringMapEntryBase.
Thu, Jan 28, 5:46 PM · Restricted Project
dexonsmith committed rG2d430f902d72: ADT: Fix typo in static assert message from… (authored by dexonsmith).
ADT: Fix typo in static assert message from…
Thu, Jan 28, 3:15 PM
dexonsmith added a comment to D95498: ADT: Add SFINAE to the generic IntrusiveRefCntPtr constructors.

Thanks for the review! Pushed in 17c584551d573f1693990773e29fbe6b4b6fa4f4.

Thu, Jan 28, 3:12 PM · Restricted Project
dexonsmith committed rG17c584551d57: ADT: Add SFINAE to the generic IntrusiveRefCntPtr constructors (authored by dexonsmith).
ADT: Add SFINAE to the generic IntrusiveRefCntPtr constructors
Thu, Jan 28, 3:09 PM
dexonsmith closed D95498: ADT: Add SFINAE to the generic IntrusiveRefCntPtr constructors.
Thu, Jan 28, 3:09 PM · Restricted Project
dexonsmith added inline comments to D87920: [Support] Fix build for Haiku.
Thu, Jan 28, 12:31 PM · Restricted Project
dexonsmith committed rG39ecfe614350: Support: Simplify __HAIKU__ #ifdef in llvm::sys::Wait, NFC (authored by dexonsmith).
Support: Simplify __HAIKU__ #ifdef in llvm::sys::Wait, NFC
Thu, Jan 28, 12:29 PM
dexonsmith accepted D95369: [clang][cli] Generate and round-trip analyzer options.

LGTM.

Thu, Jan 28, 12:14 PM · Restricted Project
dexonsmith requested changes to D95629: [clang][analyzer] Own string keys in AnalyzerOptions::ConfigTable.

This patch replaces StringMap<...> with std::map<std::string, ...> in AnalyzerOptions::ConfigTable. It seems to be the only non-owning reference to command line arguments in the whole CompilerInvocation, which would introduce a lot of complexity with round-tripping arguments (D94472).

Thu, Jan 28, 12:12 PM · Restricted Project
dexonsmith accepted D95366: [clang][cli] Generate and round-trip preprocessor options.

LGTM.

Thu, Jan 28, 12:06 PM · Restricted Project