Page MenuHomePhabricator

benlangmuir (Ben Langmuir)
User

Projects

User does not belong to any projects.

User Details

User Since
Feb 5 2013, 8:31 AM (528 w, 2 d)

Recent Activity

Mon, Mar 13

benlangmuir committed rGfcab930cd32e: [clang][deps] Handle response files in dep scanner (authored by benlangmuir).
[clang][deps] Handle response files in dep scanner
Mon, Mar 13, 3:49 PM · Restricted Project, Restricted Project
benlangmuir closed D145838: [clang][deps] Handle response files in dep scanner.
Mon, Mar 13, 3:49 PM · Restricted Project, Restricted Project

Fri, Mar 10

benlangmuir requested review of D145838: [clang][deps] Handle response files in dep scanner.
Fri, Mar 10, 9:40 PM · Restricted Project, Restricted Project
benlangmuir committed rG296ba5bbd387: [clang][deps] Split lookupModuleOutput out of DependencyConsumer NFC (authored by benlangmuir).
[clang][deps] Split lookupModuleOutput out of DependencyConsumer NFC
Fri, Mar 10, 1:15 PM · Restricted Project, Restricted Project
benlangmuir closed D144058: [clang][deps] Split lookupModuleOutput out of DependencyConsumer NFC.
Fri, Mar 10, 1:15 PM · Restricted Project, Restricted Project
benlangmuir updated the diff for D144058: [clang][deps] Split lookupModuleOutput out of DependencyConsumer NFC.
Fri, Mar 10, 9:54 AM · Restricted Project, Restricted Project

Tue, Mar 7

benlangmuir accepted D145526: [clang][DependencyScanner] Cache modulemap stat failures.
Tue, Mar 7, 3:08 PM · Restricted Project, Restricted Project

Wed, Mar 1

benlangmuir accepted D145101: [clang][deps] NFC: Simplify worker loop.

I guess it was originally done this way because we have a number of DependencyScanning{Tool,Worker} instances

Wed, Mar 1, 1:17 PM · Restricted Project, Restricted Project
benlangmuir accepted D145098: [clang][deps] Preserve input ordering in the full output.
Wed, Mar 1, 12:10 PM · Restricted Project, Restricted Project
benlangmuir added inline comments to D145101: [clang][deps] NFC: Simplify worker loop.
Wed, Mar 1, 12:09 PM · Restricted Project, Restricted Project
benlangmuir added inline comments to D145098: [clang][deps] Preserve input ordering in the full output.
Wed, Mar 1, 11:54 AM · Restricted Project, Restricted Project

Feb 21 2023

benlangmuir accepted D144495: [NFC][clang] Refine tests by adding `:` to checks.

LGTM. The vfsroot-include.c is a -cc1 invocation, so it could probably be switched to use -verify instead of FileCheck'ing the output, unless there's something I'm missing. But that doesn't need to be for this patch.

Feb 21 2023, 9:03 AM · Restricted Project, Restricted Project

Feb 14 2023

benlangmuir added inline comments to D144058: [clang][deps] Split lookupModuleOutput out of DependencyConsumer NFC.
Feb 14 2023, 4:57 PM · Restricted Project, Restricted Project
benlangmuir requested review of D144058: [clang][deps] Split lookupModuleOutput out of DependencyConsumer NFC.
Feb 14 2023, 4:22 PM · Restricted Project, Restricted Project

Feb 10 2023

benlangmuir accepted D143612: [CMake] Use `LLVM_ENABLE_ASSERTIONS` to enable assertions in `libc++`.

Since perf impact is minimal, LGTM.

Feb 10 2023, 11:17 AM · Restricted Project, Restricted Project

Feb 9 2023

benlangmuir committed rG8711120e8bcf: [clang][deps] Migrate ModuleDepCollector to LexedFileChanged NFCI (authored by benlangmuir).
[clang][deps] Migrate ModuleDepCollector to LexedFileChanged NFCI
Feb 9 2023, 11:43 AM · Restricted Project, Restricted Project
benlangmuir closed D143613: [clang][deps] Migrate ModuleDepCollector to LexedFileChanged NFCI.
Feb 9 2023, 11:43 AM · Restricted Project, Restricted Project
benlangmuir added a comment to D143613: [clang][deps] Migrate ModuleDepCollector to LexedFileChanged NFCI.

LGTM, but would be nice to have a test for this.

Feb 9 2023, 10:22 AM · Restricted Project, Restricted Project
benlangmuir updated the diff for D143613: [clang][deps] Migrate ModuleDepCollector to LexedFileChanged NFCI.

Add a test

Feb 9 2023, 10:21 AM · Restricted Project, Restricted Project

Feb 8 2023

benlangmuir accepted D143615: [clang][deps] NFC: Refactor inferred modules test.
Feb 8 2023, 4:27 PM · Restricted Project, Restricted Project
benlangmuir updated subscribers of D143612: [CMake] Use `LLVM_ENABLE_ASSERTIONS` to enable assertions in `libc++`.

I think we should verify the performance impact to running tests is minimal before landing this, like they did with the _GLIBCXX_ASSERTIONS change. Also CCing @ldionne in case he has opinions on us using libc++ assertions. Otherwise LGTM.

Feb 8 2023, 3:42 PM · Restricted Project, Restricted Project
benlangmuir requested review of D143613: [clang][deps] Migrate ModuleDepCollector to LexedFileChanged NFCI.
Feb 8 2023, 3:39 PM · Restricted Project, Restricted Project
benlangmuir committed rGcf73d3f07b5b: [clang][deps] Ensure module invocation can be serialized (authored by benlangmuir).
[clang][deps] Ensure module invocation can be serialized
Feb 8 2023, 2:24 PM · Restricted Project, Restricted Project
benlangmuir closed D143446: [clang][deps] Ensure module invocation can be serialized.
Feb 8 2023, 2:23 PM · Restricted Project, Restricted Project
benlangmuir added inline comments to D143446: [clang][deps] Ensure module invocation can be serialized.
Feb 8 2023, 1:28 PM · Restricted Project, Restricted Project
benlangmuir updated the diff for D143446: [clang][deps] Ensure module invocation can be serialized.
  • Improved doc comment for RoundTrip (mostly followed the suggested text; also converted from to /).
  • Renamed variables
  • Moved default value for RoundTripArgs
Feb 8 2023, 1:27 PM · Restricted Project, Restricted Project
benlangmuir added a comment to D143414: [clang] refactor FileManager::GetUniqueIDMapping.

+1 for determinism. Okay I spent some time trying to understand how this code is used and the non-virtual paths make some sense now. I am a bit skeptical about this on-disk-hash-table by filepath but that's separate from this patch.

Feb 8 2023, 10:24 AM · Restricted Project, Restricted Project

Feb 7 2023

benlangmuir updated the diff for D143446: [clang][deps] Ensure module invocation can be serialized.
Feb 7 2023, 9:21 AM · Restricted Project, Restricted Project
benlangmuir accepted D143427: [clang] NFC: Remove GCC 5.1 workaround in FileEntry.
Feb 7 2023, 8:39 AM · Restricted Project, Restricted Project
benlangmuir added a comment to D143414: [clang] refactor FileManager::GetUniqueIDMapping.

This should allow the path serialization of input files to use the paths used when looking up a file entry, instead of the last reference.

Feb 7 2023, 8:36 AM · Restricted Project, Restricted Project
benlangmuir added a comment to D143461: [ClangScanDeps] Fix data race in `clang-scan-deps` tool.

Dupe of https://reviews.llvm.org/D143428 ?

Feb 7 2023, 8:27 AM · Restricted Project, Restricted Project

Feb 6 2023

benlangmuir requested review of D143446: [clang][deps] Ensure module invocation can be serialized.
Feb 6 2023, 4:54 PM · Restricted Project, Restricted Project

Feb 3 2023

benlangmuir committed rG223e99fb698d: [clang][deps] Fix module context hash for constant strings (authored by benlangmuir).
[clang][deps] Fix module context hash for constant strings
Feb 3 2023, 3:16 PM · Restricted Project, Restricted Project
benlangmuir closed D143027: [clang][deps] Fix module context hash for constant strings.
Feb 3 2023, 3:15 PM · Restricted Project, Restricted Project

Jan 31 2023

benlangmuir requested review of D143027: [clang][deps] Fix module context hash for constant strings.
Jan 31 2023, 3:57 PM · Restricted Project, Restricted Project

Jan 27 2023

benlangmuir added a comment to D142780: [clang] NFCI: Use FileEntryRef in FileManager's UID mapping.

In that case we are seeing non-deterministic header paths serialized in pcm files. IIUC the header files are serialized based in their unique ID, so it wouldn't be possible to handle this case, is this right?

Jan 27 2023, 2:11 PM · Restricted Project, Restricted Project
benlangmuir added a comment to D142780: [clang] NFCI: Use FileEntryRef in FileManager's UID mapping.

Iterating over SeenFileEntries and skipping VirtualFileEntries looks good to me.

Jan 27 2023, 1:39 PM · Restricted Project, Restricted Project
benlangmuir committed rG73dba2f649a8: [clang][deps] Fix modulemap file path for implementation of module (authored by benlangmuir).
[clang][deps] Fix modulemap file path for implementation of module
Jan 27 2023, 11:38 AM · Restricted Project, Restricted Project
benlangmuir closed D142501: [clang][deps] Fix modulemap file path for implementation of module.
Jan 27 2023, 11:37 AM · Restricted Project, Restricted Project

Jan 24 2023

benlangmuir committed rG0245dcc000fa: [clang][test] Remove check that fails if SOURCE_DATE_EPOCH is set globally (authored by benlangmuir).
[clang][test] Remove check that fails if SOURCE_DATE_EPOCH is set globally
Jan 24 2023, 4:01 PM · Restricted Project, Restricted Project
benlangmuir closed D142511: [clang][test] Remove check that fails if SOURCE_DATE_EPOCH is set globally.
Jan 24 2023, 4:01 PM · Restricted Project, Restricted Project
benlangmuir added inline comments to D136717: [clang] Move getenv call for SOURCE_DATE_EPOCH out of frontend NFC.
Jan 24 2023, 3:38 PM · Restricted Project, Restricted Project
benlangmuir requested review of D142511: [clang][test] Remove check that fails if SOURCE_DATE_EPOCH is set globally.
Jan 24 2023, 3:38 PM · Restricted Project, Restricted Project
benlangmuir added inline comments to D142501: [clang][deps] Fix modulemap file path for implementation of module.
Jan 24 2023, 1:07 PM · Restricted Project, Restricted Project
benlangmuir updated the diff for D142501: [clang][deps] Fix modulemap file path for implementation of module.
Jan 24 2023, 1:07 PM · Restricted Project, Restricted Project
benlangmuir requested review of D142501: [clang][deps] Fix modulemap file path for implementation of module.
Jan 24 2023, 12:54 PM · Restricted Project, Restricted Project
benlangmuir accepted D142416: [clang][deps] NFC: Remove dead code.
Jan 24 2023, 9:35 AM · Restricted Project, Restricted Project
benlangmuir committed rG43854fa263d2: [clang][deps] Add module files for input dependencies earlier (authored by benlangmuir).
[clang][deps] Add module files for input dependencies earlier
Jan 24 2023, 8:46 AM · Restricted Project, Restricted Project
benlangmuir closed D142392: [clang][deps] Add module files for input dependencies earlier.
Jan 24 2023, 8:45 AM · Restricted Project, Restricted Project

Jan 23 2023

benlangmuir added a comment to D142416: [clang][deps] NFC: Remove dead code.

Removing ImplicitModulePCMPath LGTM; not sure about the other change.

Jan 23 2023, 4:37 PM · Restricted Project, Restricted Project
benlangmuir requested review of D142392: [clang][deps] Add module files for input dependencies earlier.
Jan 23 2023, 11:16 AM · Restricted Project, Restricted Project

Jan 20 2023

benlangmuir accepted D141632: [Module] Respect `-fno-pch-timestamps` when building modules.
Jan 20 2023, 10:56 AM · Restricted Project, Restricted Project
benlangmuir accepted D142165: [clang][deps] Account for transitive spurious dependencies.
Jan 20 2023, 10:55 AM · Restricted Project, Restricted Project
benlangmuir accepted D142167: [clang][modules] Disallow importing private framework in the implementation.
Jan 20 2023, 10:53 AM · Restricted Project, Restricted Project
benlangmuir added a comment to D142176: [libunwind] On Darwin, add a callback-based lookup scheme for JIT'd unwind info..

I'm not that familiar with development practices for libunwind, but is possible to write a test for this?

Jan 20 2023, 10:02 AM · Restricted Project, Restricted Project, Restricted Project

Jan 19 2023

benlangmuir accepted D142143: [Lex] For dependency directive lexing, angled includes in `__has_include` should be lexed as string literals.
Jan 19 2023, 12:59 PM · Restricted Project, Restricted Project
benlangmuir added inline comments to D142143: [Lex] For dependency directive lexing, angled includes in `__has_include` should be lexed as string literals.
Jan 19 2023, 11:31 AM · Restricted Project, Restricted Project

Jan 13 2023

benlangmuir accepted D141644: [clang] Report the on-disk paths for inputs to module compiles.

Please add a comment to each place you're doing this since it's non-obvious why the filename would be different to people not familiar with the mapping code. Otherwise LGTM

Jan 13 2023, 9:54 AM · Restricted Project, Restricted Project

Jan 6 2023

benlangmuir added a comment to D136651: [Clang] Give Clang the ability to use a shared stat cache.

Sorry for missing these. I think I addressed all of them now.

Jan 6 2023, 11:52 AM · Restricted Project, Restricted Project, Restricted Project

Jan 5 2023

benlangmuir accepted D136651: [Clang] Give Clang the ability to use a shared stat cache.

Re-added a few of my minor comments that I think got lost on a specific version of the diff. Otherwise LGTM.

Jan 5 2023, 3:05 PM · Restricted Project, Restricted Project, Restricted Project

Jan 3 2023

benlangmuir accepted D140175: [clang][deps] Remove support for the deprecated driver API.
Jan 3 2023, 1:41 PM · Restricted Project, Restricted Project

Dec 12 2022

benlangmuir added a comment to D139115: [clang][ExtractAPI] Add support for single symbol SGF.

libclang changes LGTM, thanks! I'll let the other reviewers who have domain expertise speak for the rest of the patch.

Dec 12 2022, 8:46 AM · Restricted Project, Restricted Project

Dec 9 2022

benlangmuir added a comment to D139115: [clang][ExtractAPI] Add support for single symbol SGF.

Thanks, the libclang change LGTM other than my comment about the function names.

Dec 9 2022, 4:46 PM · Restricted Project, Restricted Project

Dec 8 2022

benlangmuir added inline comments to D133716: [CAS] Add LLVMCAS library with InMemoryCAS implementation.
Dec 8 2022, 11:50 AM · Restricted Project, Restricted Project
benlangmuir added a reviewer for D139115: [clang][ExtractAPI] Add support for single symbol SGF: benlangmuir.
Dec 8 2022, 10:59 AM · Restricted Project, Restricted Project
benlangmuir updated subscribers of D139115: [clang][ExtractAPI] Add support for single symbol SGF.
Dec 8 2022, 10:59 AM · Restricted Project, Restricted Project
benlangmuir added inline comments to D133716: [CAS] Add LLVMCAS library with InMemoryCAS implementation.
Dec 8 2022, 10:28 AM · Restricted Project, Restricted Project
benlangmuir added inline comments to D133716: [CAS] Add LLVMCAS library with InMemoryCAS implementation.
Dec 8 2022, 10:23 AM · Restricted Project, Restricted Project

Dec 7 2022

benlangmuir accepted D139052: [NFC][Profile] Access profile through VirtualFileSystem.

All my comments are addressed, thanks!

Dec 7 2022, 11:20 AM · Restricted Project, Restricted Project, Restricted Project

Dec 2 2022

benlangmuir added inline comments to D139052: [NFC][Profile] Access profile through VirtualFileSystem.
Dec 2 2022, 4:11 PM · Restricted Project, Restricted Project, Restricted Project
benlangmuir accepted D135634: [clang][modules] Serialize VFS overlay paths into PCMs.

Thanks for the explanation, make sense. LGTM with the documentation tweak!

Dec 2 2022, 2:52 PM · Restricted Project, Restricted Project, Restricted Project
benlangmuir accepted D135636: [clang][modules][deps] Serialize inputs into PCMs using the "as requested" name.
Dec 2 2022, 2:34 PM · Restricted Project, Restricted Project
benlangmuir added a comment to D135634: [clang][modules] Serialize VFS overlay paths into PCMs.

If the original HeaderSearchOptions didn't have any VFS overlay files, adopt the PCM ones.

Dec 2 2022, 2:33 PM · Restricted Project, Restricted Project, Restricted Project

Dec 1 2022

benlangmuir added inline comments to D135841: [clang][deps][lex] Avoid canonicalization of remapped framework directories.
Dec 1 2022, 4:22 PM · Restricted Project, Restricted Project
benlangmuir accepted D135841: [clang][deps][lex] Avoid canonicalization of remapped framework directories.

Please add a comment about why this equality check is necessary.

Dec 1 2022, 4:19 PM · Restricted Project, Restricted Project

Nov 30 2022

benlangmuir accepted D139035: [ADT] Add more ArrayRef <-> StringRef conversion functions.
Nov 30 2022, 2:05 PM · Restricted Project, Restricted Project

Nov 28 2022

benlangmuir accepted D138252: [clang][deps] During scanning don't emit warnings-as-errors that are ignored with diagnostic pragmas..
Nov 28 2022, 1:06 PM · Restricted Project, Restricted Project

Nov 18 2022

benlangmuir accepted D138322: [Index] Add various missing USR generation.

LGTM once the test failure is fixed

Nov 18 2022, 2:26 PM · Restricted Project, Restricted Project

Nov 17 2022

benlangmuir committed rGc4436f675d8f: [clang] Use InMemoryModuleCache for readASTFileControlBlock NFC (authored by benlangmuir).
[clang] Use InMemoryModuleCache for readASTFileControlBlock NFC
Nov 17 2022, 1:52 PM · Restricted Project, Restricted Project
benlangmuir closed D138160: [clang] Use InMemoryModuleCache for readASTFileControlBlock NFC.
Nov 17 2022, 1:52 PM · Restricted Project, Restricted Project

Nov 16 2022

benlangmuir requested review of D138160: [clang] Use InMemoryModuleCache for readASTFileControlBlock NFC.
Nov 16 2022, 4:15 PM · Restricted Project, Restricted Project
benlangmuir requested changes to D136651: [Clang] Give Clang the ability to use a shared stat cache.
Nov 16 2022, 12:36 PM · Restricted Project, Restricted Project, Restricted Project

Nov 15 2022

benlangmuir committed rGdcfb25078c26: [clang][deps] Remove checks that were just for exhaustiveness (authored by benlangmuir).
[clang][deps] Remove checks that were just for exhaustiveness
Nov 15 2022, 2:22 PM · Restricted Project, Restricted Project
benlangmuir committed rG05ec16d90deb: [clang][deps] Avoid leaking modulemap paths across unrelated imports (authored by benlangmuir).
[clang][deps] Avoid leaking modulemap paths across unrelated imports
Nov 15 2022, 2:04 PM · Restricted Project, Restricted Project
benlangmuir closed D137989: [clang][deps] Avoid leaking modulemap paths across unrelated imports.
Nov 15 2022, 2:03 PM · Restricted Project, Restricted Project
benlangmuir updated the diff for D137989: [clang][deps] Avoid leaking modulemap paths across unrelated imports.
  • Removed outdated FIXME
  • Ran clang-format
  • Attempt to fix Windows test failure: the StringSet of paths was failing to match, so switch to DenseSet<FileEntry *>. Note: the path that ends up in the command-line is from a FileEntryRef, but the equality of FileEntry * is how we check whether to include it at all. For now we just re-lookup the paths which should always hit the path cache in FIleManager. A future improvement could be to track FileEntryRef for the module map paths directly instead of strings.
Nov 15 2022, 11:18 AM · Restricted Project, Restricted Project

Nov 14 2022

benlangmuir added inline comments to D137989: [clang][deps] Avoid leaking modulemap paths across unrelated imports.
Nov 14 2022, 3:30 PM · Restricted Project, Restricted Project
benlangmuir requested review of D137989: [clang][deps] Avoid leaking modulemap paths across unrelated imports.
Nov 14 2022, 2:56 PM · Restricted Project, Restricted Project

Nov 11 2022

benlangmuir added inline comments to D135636: [clang][modules][deps] Serialize inputs into PCMs using the "as requested" name.
Nov 11 2022, 9:22 AM · Restricted Project, Restricted Project

Nov 2 2022

benlangmuir added a comment to D137304: [clang] Store filename per include instead of mutating filename.

Thanks for the timely review!

Nov 2 2022, 6:06 PM · Restricted Project, Restricted Project
benlangmuir updated the summary of D137304: [clang] Store filename per include instead of mutating filename.
Nov 2 2022, 5:10 PM · Restricted Project, Restricted Project
benlangmuir updated the summary of D137304: [clang] Store filename per include instead of mutating filename.
Nov 2 2022, 5:05 PM · Restricted Project, Restricted Project
benlangmuir requested review of D137304: [clang] Store filename per include instead of mutating filename.
Nov 2 2022, 5:04 PM · Restricted Project, Restricted Project
benlangmuir requested review of D137303: [clang] Move accessors for OrigEntry and Filename to FileInfo NFC.
Nov 2 2022, 5:03 PM · Restricted Project, Restricted Project

Nov 1 2022

benlangmuir added a comment to D135220: [clang] Update ModuleMap::getModuleMapFile* to use FileEntryRef.

Relatedly, we ran into a problem with clang-cl /showIncludes not including all files in its output when they're linked: https://github.com/llvm/llvm-project/issues/58726

Interestingly, that discussion points out that -MD works correctly:

Nov 1 2022, 11:40 AM · Restricted Project, Restricted Project

Oct 28 2022

benlangmuir committed rGfd35e1506011: [clang][test] Require x86 target in a couple new tests (authored by benlangmuir).
[clang][test] Require x86 target in a couple new tests
Oct 28 2022, 5:01 PM · Restricted Project, Restricted Project
benlangmuir committed rGe1f998302276: Move getenv for AS_SECURE_LOG_FILE to clang (authored by benlangmuir).
Move getenv for AS_SECURE_LOG_FILE to clang
Oct 28 2022, 4:08 PM · Restricted Project, Restricted Project, Restricted Project
benlangmuir closed D136888: Move getenv for AS_SECURE_LOG_FILE to clang.
Oct 28 2022, 4:08 PM · Restricted Project, Restricted Project, Restricted Project
benlangmuir added inline comments to D136888: Move getenv for AS_SECURE_LOG_FILE to clang.
Oct 28 2022, 11:41 AM · Restricted Project, Restricted Project, Restricted Project
benlangmuir added inline comments to D136888: Move getenv for AS_SECURE_LOG_FILE to clang.
Oct 28 2022, 10:38 AM · Restricted Project, Restricted Project, Restricted Project