Page MenuHomePhabricator

graydon (Graydon Hoare)
User

Projects

User does not belong to any projects.

User Details

User Since
Dec 2 2016, 10:18 AM (187 w, 6 d)

Recent Activity

Oct 29 2019

graydon committed rGbf8b1e3aa20c: Merge remote-tracking branch 'llvm/master' into upstream-with-swift (authored by graydon).
Merge remote-tracking branch 'llvm/master' into upstream-with-swift
Oct 29 2019, 2:55 PM
graydon committed rG339fefa98e69: Merge remote-tracking branch 'llvm/master' into upstream-with-swift (authored by graydon).
Merge remote-tracking branch 'llvm/master' into upstream-with-swift
Oct 29 2019, 2:54 PM
GitHub <noreply@github.com> committed rGe88ae6f83bec: Merge pull request #60 from graydon/rdar-29995447-deserialization-listener-new… (authored by graydon).
Merge pull request #60 from graydon/rdar-29995447-deserialization-listener-new…
Oct 29 2019, 2:19 PM
graydon committed rGce08f6bb8fe4: [ASTReader] Add a DeserializationListener callback for IMPORTED_MODULES (authored by graydon).
[ASTReader] Add a DeserializationListener callback for IMPORTED_MODULES
Oct 29 2019, 2:19 PM

Sep 5 2018

graydon added a comment to D51709: [lit] Correctly expand globs relative to their intended directory..

For context, the motivation here is a somewhat subtle testcase over in swift driver land in which we need to construct an argv for the driver that is not longer than kern.maxarg, but that will be transformed into such an over-long argv when composed with an absolute output directory and passed to a frontend. This test has been flaky on CI because we were globbing the input to the driver (under a "cd ... && ...") and lit was sticking the absolute path of the testsuite-on-the-CI-machine on the front of all the globbed inputs. Sometimes this meant the input argv to the driver would overflow, other times not; depends on which CI host and subdir it's running inside of. Obviously not great.

Sep 5 2018, 4:58 PM
graydon updated the diff for D51709: [lit] Correctly expand globs relative to their intended directory..

Add test, fix typo.

Sep 5 2018, 4:52 PM
graydon created D51709: [lit] Correctly expand globs relative to their intended directory..
Sep 5 2018, 4:44 PM

Aug 16 2018

graydon committed rL339980: [Support] Add a public API to allow clearing all (static) timer groups..
[Support] Add a public API to allow clearing all (static) timer groups.
Aug 16 2018, 9:14 PM
graydon closed D50874: [Support] Add a public API to allow clearing all (static) timer groups..
Aug 16 2018, 9:14 PM
graydon created D50874: [Support] Add a public API to allow clearing all (static) timer groups..
Aug 16 2018, 4:01 PM

Aug 14 2018

graydon added a comment to D43136: Make LLVM timer reprintable: that is, make more than one print action on the same timer feasible.

@graydon could you just explicitly .clear() them?

Aug 14 2018, 3:03 PM

Aug 11 2018

graydon added a comment to D43136: Make LLVM timer reprintable: that is, make more than one print action on the same timer feasible.

Unfortunately this change is causing trouble over in swift where we _did_ rely on the fact that printing timers cleared them. In particular: we wanted to control printing the timers as json to our own chosen stats stream on shutdown (not the llvm one) and once printed, we did not expect them to print restart _again_ to stderr when llvm shuts down.

Aug 11 2018, 11:06 PM

Apr 6 2018

graydon committed rL329470: [Support] Make line-number cache robust against access patterns..
[Support] Make line-number cache robust against access patterns.
Apr 6 2018, 5:47 PM
graydon closed D45003: [Support] Make line-number cache robust against access patterns..
Apr 6 2018, 5:47 PM

Apr 5 2018

graydon updated the diff for D45003: [Support] Make line-number cache robust against access patterns..
  • [AsmParser] Remove code that compensated for formerly-slow SrcMgr.FindLineNumber()
Apr 5 2018, 4:45 PM
graydon added a comment to D45003: [Support] Make line-number cache robust against access patterns..

There's commentary in lib/MC/MCParser/AsmParser.cpp about the ungraceful degradation in SourceMgr's cache. Would this help or simplify what AsmParser is doing?

I believe this should eliminate the behaviour those comments describe (and thus remove the need for the code), though I feel a bit under-qualified tinkering with the code there itself. Would you like me to try, or shall I leave it to the owners of that file?

If you could have a go at it, that would be great. It's fine to do it as a follow-up NFC patch. Or file a bug and cc me. It's not really my area either but I keep running across that comment and it has always bothered me, maybe enough to do something now.

Apr 5 2018, 4:45 PM

Apr 2 2018

graydon added a comment to D45003: [Support] Make line-number cache robust against access patterns..

There's commentary in lib/MC/MCParser/AsmParser.cpp about the ungraceful degradation in SourceMgr's cache. Would this help or simplify what AsmParser is doing?

Apr 2 2018, 5:28 PM
graydon updated the diff for D45003: [Support] Make line-number cache robust against access patterns..

Update to add more tests around boundary conditions of buffer-map expansion.

Apr 2 2018, 5:23 PM

Mar 30 2018

graydon updated the summary of D45003: [Support] Make line-number cache robust against access patterns..
Mar 30 2018, 12:12 AM
graydon updated the summary of D45003: [Support] Make line-number cache robust against access patterns..
Mar 30 2018, 12:11 AM
graydon updated the diff for D45003: [Support] Make line-number cache robust against access patterns..

Fix comments.

Mar 30 2018, 12:08 AM
graydon updated the diff for D45003: [Support] Make line-number cache robust against access patterns..

Modification to use variable unit-size offset vectors rather than pointer vectors.

Mar 30 2018, 12:05 AM

Mar 29 2018

graydon added a comment to D45003: [Support] Make line-number cache robust against access patterns..

Did a bit more precise measurement: on a medium-sized module (802 files, 200kloc) when we're doing -emit-module for a whole module (which turns out to map _every file_ in order to get doc-comment locations, when it's emitting module docs) the normal compilation uses 191MB RSS and these maps account for 3.3MB of that (1.7%). Largest map is 32KB, median is 4KB. Not trivial, but not huge.

Mar 29 2018, 11:52 PM

Mar 28 2018

graydon added a comment to D45003: [Support] Make line-number cache robust against access patterns..

That's potentially a lot more memory usage, since the various vectors never get freed. Have you measured what the effect on memory usage is on a large Swift project with diagnostics in many files?

Mar 28 2018, 6:31 PM
graydon created D45003: [Support] Make line-number cache robust against access patterns..
Mar 28 2018, 3:39 PM

Mar 27 2018

graydon committed rL328665: [YAML] Remove unit test of multibyte non-printable escaping that uses C++11….
[YAML] Remove unit test of multibyte non-printable escaping that uses C++11…
Mar 27 2018, 1:49 PM
graydon retitled D44863: [YAML] Escape non-printable multibyte UTF8 in Output::scalarString. from Summary: to [YAML] Escape non-printable multibyte UTF8 in Output::scalarString..
Mar 27 2018, 12:58 PM
graydon committed rL328661: [YAML] Escape non-printable multibyte UTF8 in Output::scalarString..
[YAML] Escape non-printable multibyte UTF8 in Output::scalarString.
Mar 27 2018, 12:57 PM
graydon closed D44863: [YAML] Escape non-printable multibyte UTF8 in Output::scalarString..
Mar 27 2018, 12:57 PM

Mar 23 2018

graydon created D44863: [YAML] Escape non-printable multibyte UTF8 in Output::scalarString..
Mar 23 2018, 10:05 PM

Jun 29 2017

graydon committed rL306732: [ASTReader] Add test for previous change r306583 / 145692e..
[ASTReader] Add test for previous change r306583 / 145692e.
Jun 29 2017, 12:42 PM
graydon closed D34788: [ASTReader] Add test for previous change r306583 / 145692e. by committing rL306732: [ASTReader] Add test for previous change r306583 / 145692e..
Jun 29 2017, 12:42 PM

Jun 28 2017

graydon created D34788: [ASTReader] Add test for previous change r306583 / 145692e..
Jun 28 2017, 4:23 PM
graydon committed rL306583: [ASTReader] Treat multiple defns of ObjC protocols the same as interfaces..
[ASTReader] Treat multiple defns of ObjC protocols the same as interfaces.
Jun 28 2017, 11:36 AM
graydon closed D34741: [ASTReader] Treat multiple defns of ObjC protocols the same as interfaces. by committing rL306583: [ASTReader] Treat multiple defns of ObjC protocols the same as interfaces..
Jun 28 2017, 11:36 AM
graydon created D34741: [ASTReader] Treat multiple defns of ObjC protocols the same as interfaces..
Jun 28 2017, 12:07 AM

Apr 3 2017

graydon committed rL299371: [Support] Make printAllJSONValues public, for custom output..
[Support] Make printAllJSONValues public, for custom output.
Apr 3 2017, 11:16 AM
graydon closed D31566: [Support] Make printAllJSONValues public, for custom output. by committing rL299371: [Support] Make printAllJSONValues public, for custom output..
Apr 3 2017, 11:16 AM
graydon added a comment to D31566: [Support] Make printAllJSONValues public, for custom output..

Anyway without even the new system in place I cannot say much about how to transition to it... It'll surely be usably by code outside of LLVM, I guess we have to discuss how to transition users of the old system when we we know how the new one looks like.

Apr 3 2017, 10:44 AM
graydon added a comment to D31566: [Support] Make printAllJSONValues public, for custom output..

We could go ahead and make this function public for now.

However I don't expect this API to be stable. Long term we really should move away from a global list of timers accessed by TimerGroup. In fact I am planning changes to the statistics system right now. Are you prepared to loose the function again in a few weeks?

Apr 3 2017, 10:16 AM

Mar 31 2017

graydon created D31566: [Support] Make printAllJSONValues public, for custom output..
Mar 31 2017, 11:33 PM

Mar 29 2017

graydon committed rL299012: Unbreak windows bot..
Unbreak windows bot.
Mar 29 2017, 11:11 AM
graydon committed rL299009: [PCH] Attach instance's dependency collectors to PCH external AST sources..
[PCH] Attach instance's dependency collectors to PCH external AST sources.
Mar 29 2017, 10:45 AM
graydon closed D31378: [PCH] Attach instance's dependency collectors to PCH external AST sources. by committing rL299009: [PCH] Attach instance's dependency collectors to PCH external AST sources..
Mar 29 2017, 10:45 AM

Mar 26 2017

graydon created D31378: [PCH] Attach instance's dependency collectors to PCH external AST sources..
Mar 26 2017, 4:31 PM

Jan 18 2017

graydon committed rL292436: [ASTReader] Add a DeserializationListener callback for IMPORTED_MODULES.
[ASTReader] Add a DeserializationListener callback for IMPORTED_MODULES
Jan 18 2017, 12:48 PM
graydon closed D28779: [ASTReader] Add a DeserializationListener callback for IMPORTED_MODULES by committing rL292436: [ASTReader] Add a DeserializationListener callback for IMPORTED_MODULES.
Jan 18 2017, 12:47 PM
graydon committed rL292435: [Modules] Correct test comment from obsolete earlier version of code. NFC.
[Modules] Correct test comment from obsolete earlier version of code. NFC
Jan 18 2017, 12:45 PM
graydon closed D28790: [Modules] Correct test comment from obsolete earlier version of code. NFC by committing rL292435: [Modules] Correct test comment from obsolete earlier version of code. NFC.
Jan 18 2017, 12:45 PM
graydon committed rL292417: [lit] Support sharding testsuites, for parallel execution..
[lit] Support sharding testsuites, for parallel execution.
Jan 18 2017, 10:23 AM
graydon closed D28789: [lit] Support sharding testsuites, for parallel execution. by committing rL292417: [lit] Support sharding testsuites, for parallel execution..
Jan 18 2017, 10:23 AM

Jan 17 2017

graydon updated the diff for D28789: [lit] Support sharding testsuites, for parallel execution..

Update to round-robin sharding

Jan 17 2017, 9:36 PM
graydon added inline comments to D28789: [lit] Support sharding testsuites, for parallel execution..
Jan 17 2017, 9:33 PM
graydon added inline comments to D28789: [lit] Support sharding testsuites, for parallel execution..
Jan 17 2017, 1:48 PM

Jan 16 2017

graydon created D28790: [Modules] Correct test comment from obsolete earlier version of code. NFC.
Jan 16 2017, 5:37 PM
graydon created D28789: [lit] Support sharding testsuites, for parallel execution..
Jan 16 2017, 5:27 PM
graydon created D28779: [ASTReader] Add a DeserializationListener callback for IMPORTED_MODULES.
Jan 16 2017, 2:06 PM

Dec 20 2016

graydon committed rL290233: Fix windows build breakage in r290219. Unix path separators in testcase..
Fix windows build breakage in r290219. Unix path separators in testcase.
Dec 20 2016, 7:10 PM
graydon committed rL290221: Fix build breakage in r290219. Notes should not be in diagnostic groups..
Fix build breakage in r290219. Notes should not be in diagnostic groups.
Dec 20 2016, 4:58 PM
graydon committed rL290219: [modules] Handle modules with nonstandard names in module.private.modulemaps.
[modules] Handle modules with nonstandard names in module.private.modulemaps
Dec 20 2016, 4:35 PM
graydon closed D27852: [modules] Handle modules with nonstandard names in module.private.modulemaps by committing rL290219: [modules] Handle modules with nonstandard names in module.private.modulemaps.
Dec 20 2016, 4:35 PM
graydon added inline comments to D27852: [modules] Handle modules with nonstandard names in module.private.modulemaps.
Dec 20 2016, 3:06 PM
graydon updated the diff for D27852: [modules] Handle modules with nonstandard names in module.private.modulemaps.

Updates to address review comments

Dec 20 2016, 2:45 PM
graydon added a comment to D27852: [modules] Handle modules with nonstandard names in module.private.modulemaps.

Addressed review comments

Dec 20 2016, 2:44 PM

Dec 16 2016

graydon retitled D27852: [modules] Handle modules with nonstandard names in module.private.modulemaps from to [modules] Handle modules with nonstandard names in module.private.modulemaps.
Dec 16 2016, 9:04 AM

Dec 9 2016

graydon committed rL289276: [modules] Add optional out-param to ASTReader::ReadAST for imported submodules..
[modules] Add optional out-param to ASTReader::ReadAST for imported submodules.
Dec 9 2016, 1:56 PM
graydon closed D27580: [modules] Add optional out-param to ASTReader::ReadAST for imported submodules. by committing rL289276: [modules] Add optional out-param to ASTReader::ReadAST for imported submodules..
Dec 9 2016, 1:56 PM

Dec 8 2016

graydon retitled D27580: [modules] Add optional out-param to ASTReader::ReadAST for imported submodules. from to [modules] Add optional out-param to ASTReader::ReadAST for imported submodules..
Dec 8 2016, 10:20 AM