Page MenuHomePhabricator

MaskRay (Fangrui Song)
User

Projects

User does not belong to any projects.

User Details

User Since
Dec 30 2016, 3:24 PM (102 w, 4 d)

Recent Activity

Yesterday

MaskRay updated the diff for D55878: [Driver] Use --hash-style=gnu instead of both on FreeBSD.

.

Tue, Dec 18, 10:06 PM
MaskRay added inline comments to D55878: [Driver] Use --hash-style=gnu instead of both on FreeBSD.
Tue, Dec 18, 10:00 PM
MaskRay created D55878: [Driver] Use --hash-style=gnu instead of both on FreeBSD.
Tue, Dec 18, 9:59 PM
MaskRay added inline comments to D55845: Reject .so files if -static is given..
Tue, Dec 18, 1:16 PM
MaskRay accepted D55845: Reject .so files if -static is given..
Tue, Dec 18, 1:08 PM
MaskRay added a comment to D55845: Reject .so files if -static is given..

LG, but not sure if the comment should mention -static. I think bfd's comment is better

Tue, Dec 18, 12:41 PM
MaskRay committed rL349524: [ELF] Place .note in the first page to ensure they are available in core files.
[ELF] Place .note in the first page to ensure they are available in core files
Tue, Dec 18, 11:20 AM
MaskRay committed rLLD349524: [ELF] Place .note in the first page to ensure they are available in core files.
[ELF] Place .note in the first page to ensure they are available in core files
Tue, Dec 18, 11:20 AM
MaskRay closed D55800: [ELF] Place .note in the first page to ensure they are available in core files.
Tue, Dec 18, 11:19 AM
MaskRay updated the diff for D55800: [ELF] Place .note in the first page to ensure they are available in core files.

Update comments

Tue, Dec 18, 11:16 AM
MaskRay added inline comments to D54442: [llvm-exegesis] Optimize ToProcess in dbScan.
Tue, Dec 18, 9:40 AM
MaskRay added a comment to D54442: [llvm-exegesis] Optimize ToProcess in dbScan.

It looks I missed the unittest, sorry for that.

I don;t see the unit test in the patch.

Tue, Dec 18, 9:30 AM

Mon, Dec 17

MaskRay updated the diff for D55800: [ELF] Place .note in the first page to ensure they are available in core files.

Add comment about FreeBSD .note.tag

Mon, Dec 17, 11:00 PM
MaskRay added inline comments to D54442: [llvm-exegesis] Optimize ToProcess in dbScan.
Mon, Dec 17, 5:43 PM
MaskRay updated the diff for D55800: [ELF] Place .note in the first page to ensure they are available in core files.

Forget to upload test file...

Mon, Dec 17, 5:41 PM
MaskRay updated the diff for D55800: [ELF] Place .note in the first page to ensure they are available in core files.

gold

Mon, Dec 17, 5:38 PM
MaskRay created D55800: [ELF] Place .note in the first page to ensure they are available in core files.
Mon, Dec 17, 5:34 PM

Sat, Dec 15

MaskRay committed rL349259: [libclang] Add dependency on clangSerialization to unbreak….
[libclang] Add dependency on clangSerialization to unbreak…
Sat, Dec 15, 12:57 AM
MaskRay committed rC349259: [libclang] Add dependency on clangSerialization to unbreak….
[libclang] Add dependency on clangSerialization to unbreak…
Sat, Dec 15, 12:57 AM
MaskRay committed rL349258: [mips] Fix test typo in rL348914.
[mips] Fix test typo in rL348914
Sat, Dec 15, 12:49 AM

Fri, Dec 14

MaskRay added a reviewer for D54442: [llvm-exegesis] Optimize ToProcess in dbScan: dexonsmith.
Fri, Dec 14, 8:36 PM
MaskRay added a comment to D55682: [ELF] Support defining __start/__stop symbols as hidden.

However, it's still useful to define them as hidden in many contexts.

Fri, Dec 14, 7:43 PM
MaskRay added inline comments to D54442: [llvm-exegesis] Optimize ToProcess in dbScan.
Fri, Dec 14, 10:19 AM
MaskRay updated the diff for D54442: [llvm-exegesis] Optimize ToProcess in dbScan.

simplify

Fri, Dec 14, 10:15 AM
MaskRay reclaimed D54442: [llvm-exegesis] Optimize ToProcess in dbScan.

It looks I missed the unittest, sorry for that. And I somehow messed ToProcess[Tail++] = Q;. The test can be simply repaired. What should I do if I don't agree that an additional abstraction layer should be added?

Fri, Dec 14, 10:12 AM
MaskRay updated the diff for D54442: [llvm-exegesis] Optimize ToProcess in dbScan.

.

Fri, Dec 14, 10:12 AM
MaskRay abandoned D54442: [llvm-exegesis] Optimize ToProcess in dbScan.

Never mind. Someone asked me for reviews of the llvm-exegesis patch series. I said it wasn't necessarily to be done that way and thus created this one. Later that patch series got accepted and merged and they even mentioned . Yes, I don't understand why that patch series changed the same place back and forth.

Fri, Dec 14, 9:53 AM
MaskRay committed rL349136: [llvm-exegesis] Optimize ToProcess in dbScan.
[llvm-exegesis] Optimize ToProcess in dbScan
Fri, Dec 14, 12:30 AM
MaskRay closed D54442: [llvm-exegesis] Optimize ToProcess in dbScan.
Fri, Dec 14, 12:30 AM
MaskRay committed rL349135: [ThinLTO] Fix test added in rL349076.
[ThinLTO] Fix test added in rL349076
Fri, Dec 14, 12:24 AM
MaskRay committed rCRT349134: [sanitizer] Fix nolibc internal_sleep.
[sanitizer] Fix nolibc internal_sleep
Fri, Dec 14, 12:13 AM
MaskRay committed rL349134: [sanitizer] Fix nolibc internal_sleep.
[sanitizer] Fix nolibc internal_sleep
Fri, Dec 14, 12:13 AM
MaskRay closed D55692: [sanitizer] Fix nolibc internal_sleep.
Fri, Dec 14, 12:13 AM

Thu, Dec 13

MaskRay committed rL349133: [Object] Rename getRelrRelocationType to getRelativeRelocationType.
[Object] Rename getRelrRelocationType to getRelativeRelocationType
Thu, Dec 13, 11:50 PM
MaskRay closed D55691: [Object] Rename getRelrRelocationType to getRelativeRelocationType.
Thu, Dec 13, 11:50 PM
MaskRay created D55692: [sanitizer] Fix nolibc internal_sleep.
Thu, Dec 13, 11:31 PM
MaskRay updated the diff for D55691: [Object] Rename getRelrRelocationType to getRelativeRelocationType.

Rename RelrRelocationType

Thu, Dec 13, 10:09 PM
MaskRay created D55691: [Object] Rename getRelrRelocationType to getRelativeRelocationType.
Thu, Dec 13, 10:07 PM
MaskRay accepted D55689: [llvm-xray] Store offset pointers in temporaries.

This was undefined behavior before C++17 and indeterminate since C++17...

Thu, Dec 13, 9:57 PM
MaskRay accepted D55542: [llvm-xray] Support for PIE.
Thu, Dec 13, 5:22 PM

Wed, Dec 12

MaskRay accepted D54369: [llvm-size][libobject] Add explicit "inTextSegment" methods similar to "isText" section methods to calculate size correctly..
Wed, Dec 12, 3:55 PM
MaskRay committed rL348985: [llvm-objcopy] Change Segment::Type from uint64_t to uint32_t.
[llvm-objcopy] Change Segment::Type from uint64_t to uint32_t
Wed, Dec 12, 2:49 PM
MaskRay closed D55618: [llvm-objcopy] Change Segment::Type from uint64_t to uint32_t.
Wed, Dec 12, 2:49 PM
MaskRay added a comment to D55618: [llvm-objcopy] Change Segment::Type from uint64_t to uint32_t.

It is a cleanup..

Wed, Dec 12, 2:49 PM
MaskRay created D55618: [llvm-objcopy] Change Segment::Type from uint64_t to uint32_t.
Wed, Dec 12, 2:16 PM
MaskRay committed rCTE348916: Add explicit dependency on clangSerialization after rC348911.
Add explicit dependency on clangSerialization after rC348911
Wed, Dec 12, 12:29 AM
MaskRay committed rL348916: Add explicit dependency on clangSerialization after rC348911.
Add explicit dependency on clangSerialization after rC348911
Wed, Dec 12, 12:28 AM
MaskRay committed rL348915: Add explicit dependency on clangSerialization for a bunch of components to fix….
Add explicit dependency on clangSerialization for a bunch of components to fix…
Wed, Dec 12, 12:05 AM
MaskRay committed rC348915: Add explicit dependency on clangSerialization for a bunch of components to fix….
Add explicit dependency on clangSerialization for a bunch of components to fix…
Wed, Dec 12, 12:05 AM

Tue, Dec 11

MaskRay committed rL348911: [CodeGen] Fix -DBUILD_SHARED_LIBS=on build after rC348907.
[CodeGen] Fix -DBUILD_SHARED_LIBS=on build after rC348907
Tue, Dec 11, 10:10 PM
MaskRay committed rC348911: [CodeGen] Fix -DBUILD_SHARED_LIBS=on build after rC348907.
[CodeGen] Fix -DBUILD_SHARED_LIBS=on build after rC348907
Tue, Dec 11, 10:10 PM
MaskRay added a comment to D54859: [PPC64] Support got relocations.

Reminder for committing :)

Tue, Dec 11, 11:05 AM
MaskRay added inline comments to D55542: [llvm-xray] Support for PIE.
Tue, Dec 11, 9:42 AM
MaskRay added inline comments to D55542: [llvm-xray] Support for PIE.
Tue, Dec 11, 9:38 AM
MaskRay committed rL348869: [XRay] Add a helper function sortByKey to simplify code.
[XRay] Add a helper function sortByKey to simplify code
Tue, Dec 11, 9:37 AM
MaskRay closed D55548: [XRay] Add a helper function sortByKey to simplify code.
Tue, Dec 11, 9:37 AM

Mon, Dec 10

MaskRay updated the diff for D55548: [XRay] Add a helper function sortByKey to simplify code.

Use specific type

Mon, Dec 10, 11:55 PM
MaskRay updated the diff for D55548: [XRay] Add a helper function sortByKey to simplify code.

.

Mon, Dec 10, 11:50 PM
MaskRay created D55548: [XRay] Add a helper function sortByKey to simplify code.
Mon, Dec 10, 11:48 PM
MaskRay added a comment to D55234: Do not use a hash table to uniquify mergeable strings..

I think you should focus on large programs. We don't really care about the marginal improvements or regressions for small programs because linking small program is very fast anyway, and we don't care about 10ms improvements or regressions. For large programs, it seems reasonably positive. Also this patch only deletes code.

FWIW linking times on smaller (than the very large) programs like Clang are still significant to many folks (including LLVM developers themselves) - for example when running "ninja check-all" many LLVM tools (~30? I forget roughly how many) have to be linked - and saving time on each (or the longest one) means getting out of that very serial step in the check run (massively parallel compiles, serial links, then massively parallel test runs).

Mon, Dec 10, 10:48 AM
MaskRay committed rL348777: ComputeLineNumbers: delete SSE2 vectorization.
ComputeLineNumbers: delete SSE2 vectorization
Mon, Dec 10, 10:16 AM
MaskRay committed rC348777: ComputeLineNumbers: delete SSE2 vectorization.
ComputeLineNumbers: delete SSE2 vectorization
Mon, Dec 10, 10:16 AM
MaskRay closed D55484: ComputeLineNumbers: delete SSE2 vectorization.
Mon, Dec 10, 10:16 AM
MaskRay added a comment to D55484: ComputeLineNumbers: delete SSE2 vectorization.

The performance difference on preprocessing huge files was tiny back then, doesn't surprise me that it disappeared. What did you test this on?

Mon, Dec 10, 10:08 AM

Sat, Dec 8

MaskRay added a reviewer for D55484: ComputeLineNumbers: delete SSE2 vectorization: Restricted Project.
Sat, Dec 8, 11:36 PM
MaskRay created D55484: ComputeLineNumbers: delete SSE2 vectorization.
Sat, Dec 8, 11:34 PM
MaskRay committed rL348709: SourceManager: insert(make_pair(..)) -> try_emplace. NFC.
SourceManager: insert(make_pair(..)) -> try_emplace. NFC
Sat, Dec 8, 5:49 PM
MaskRay committed rC348709: SourceManager: insert(make_pair(..)) -> try_emplace. NFC.
SourceManager: insert(make_pair(..)) -> try_emplace. NFC
Sat, Dec 8, 5:49 PM

Fri, Dec 7

MaskRay accepted D55235: llvm-objcopy: Improve/simplify llvm::Error handling during notes iteration.
Fri, Dec 7, 5:08 PM
MaskRay added inline comments to D55235: llvm-objcopy: Improve/simplify llvm::Error handling during notes iteration.
Fri, Dec 7, 4:42 PM
MaskRay added inline comments to D55443: [test] Capture stderr from 'tar --version' call as well.
Fri, Dec 7, 11:19 AM · lld
MaskRay added inline comments to D55443: [test] Capture stderr from 'tar --version' call as well.
Fri, Dec 7, 9:52 AM · lld

Thu, Dec 6

MaskRay added inline comments to D55235: llvm-objcopy: Improve/simplify llvm::Error handling during notes iteration.
Thu, Dec 6, 12:59 PM
MaskRay added a comment to D54442: [llvm-exegesis] Optimize ToProcess in dbScan.

Friendly ping

Thu, Dec 6, 11:52 AM
MaskRay accepted D54864: Introduce llvm-objdump man page.
Thu, Dec 6, 11:12 AM

Wed, Dec 5

MaskRay accepted D55310: [utils] Use operator "in" instead of bound function "has_key".
Wed, Dec 5, 9:45 AM

Tue, Dec 4

MaskRay added a comment to D55234: Do not use a hash table to uniquify mergeable strings..

The one-entry cache I mentioned is like the following (I don't say I suggest doing that as it is so complicated with probably so little value):

Tue, Dec 4, 5:01 PM
MaskRay accepted D55234: Do not use a hash table to uniquify mergeable strings..

I didn't notice this patch when I sent out D55248 (I just observed a locally-invented upper_bound without a good justification :) ).

Tue, Dec 4, 4:23 PM
MaskRay committed rL348311: [ELF] Simplify getSectionPiece.
[ELF] Simplify getSectionPiece
Tue, Dec 4, 2:28 PM
MaskRay committed rLLD348311: [ELF] Simplify getSectionPiece.
[ELF] Simplify getSectionPiece
Tue, Dec 4, 2:28 PM
MaskRay closed D55248: [ELF] Simplify getSectionPiece.
Tue, Dec 4, 2:28 PM
MaskRay updated the diff for D55248: [ELF] Simplify getSectionPiece.

Add llvm::

Tue, Dec 4, 1:54 PM
MaskRay added a comment to D55248: [ELF] Simplify getSectionPiece.

I think this kills the additional optimization we have here. Unfortunately, I do not remember
how much improvement this piece had in comparison with the simple code as your patch has,
but this was the code initially implemented by Rafael in r284594, which comment says:

Add a faster binary search.

Even with the hash table cache, binary search was still pretty
hot. This can be made even faster with prefetching.

Idea from http://cglab.ca/~morin/misc/arraylayout-v2/

I will suggest moving this to llvm.

I do not know if that was moved to llvm (or if that what we might want atm, if not).

Tue, Dec 4, 1:08 PM
MaskRay added a comment to D53238: [Driver] Add -static-{rtlib,stdlib} and make -static-{libgcc,libstdc++} their aliases.

Seems like a better solution than what I had in D37726.
I'm not sully sure on the naming so I think someone else should also sign off on this.

Tue, Dec 4, 9:54 AM

Mon, Dec 3

MaskRay created D55248: [ELF] Simplify getSectionPiece.
Mon, Dec 3, 8:37 PM

Fri, Nov 30

MaskRay committed rCTE348066: [clangd] Recommit the "AnyScope" changes in requests.json by rCTE347753….
[clangd] Recommit the "AnyScope" changes in requests.json by rCTE347753…
Fri, Nov 30, 6:00 PM
MaskRay committed rL348066: [clangd] Recommit the "AnyScope" changes in requests.json by rCTE347753….
[clangd] Recommit the "AnyScope" changes in requests.json by rCTE347753…
Fri, Nov 30, 6:00 PM
MaskRay committed rC348065: [Basic] Move DiagnosticsEngine::dump from .h to .cpp.
[Basic] Move DiagnosticsEngine::dump from .h to .cpp
Fri, Nov 30, 5:46 PM
MaskRay committed rL348065: [Basic] Move DiagnosticsEngine::dump from .h to .cpp.
[Basic] Move DiagnosticsEngine::dump from .h to .cpp
Fri, Nov 30, 5:46 PM
MaskRay committed rC348053: Revert "Revert r347417 "Re-Reinstate 347294 with a fix for the failures."".
Revert "Revert r347417 "Re-Reinstate 347294 with a fix for the failures.""
Fri, Nov 30, 3:44 PM
MaskRay committed rL348053: Revert "Revert r347417 "Re-Reinstate 347294 with a fix for the failures."".
Revert "Revert r347417 "Re-Reinstate 347294 with a fix for the failures.""
Fri, Nov 30, 3:44 PM
MaskRay committed rL348039: Revert r347417 "Re-Reinstate 347294 with a fix for the failures.".
Revert r347417 "Re-Reinstate 347294 with a fix for the failures."
Fri, Nov 30, 1:30 PM
MaskRay committed rC348039: Revert r347417 "Re-Reinstate 347294 with a fix for the failures.".
Revert r347417 "Re-Reinstate 347294 with a fix for the failures."
Fri, Nov 30, 1:30 PM
MaskRay committed rC348037: [ExprConstant] Try fixing __builtin_constant_p after D54355 (rC347417).
[ExprConstant] Try fixing __builtin_constant_p after D54355 (rC347417)
Fri, Nov 30, 1:18 PM
MaskRay committed rL348037: [ExprConstant] Try fixing __builtin_constant_p after D54355 (rC347417).
[ExprConstant] Try fixing __builtin_constant_p after D54355 (rC347417)
Fri, Nov 30, 1:18 PM

Thu, Nov 29

MaskRay committed rL347895: Simplify the __builtin_constant_p test that was used to catch rC347417 failure.
Simplify the __builtin_constant_p test that was used to catch rC347417 failure
Thu, Nov 29, 10:29 AM
MaskRay committed rC347895: Simplify the __builtin_constant_p test that was used to catch rC347417 failure.
Simplify the __builtin_constant_p test that was used to catch rC347417 failure
Thu, Nov 29, 10:29 AM
MaskRay closed D54964: Add test about __builtin_constant_p.
Thu, Nov 29, 10:29 AM
MaskRay committed rL347891: [llvm-objcopy] Delete redundant !Config.xx.empty() when followed by positive….
[llvm-objcopy] Delete redundant !Config.xx.empty() when followed by positive…
Thu, Nov 29, 9:36 AM
MaskRay closed D55040: [llvm-objcopy] Delete redundant !Config.xx.empty() when followed by positive is_contained() check.
Thu, Nov 29, 9:35 AM