Page MenuHomePhabricator

ikudrin (Igor Kudrin)
User

Projects

User does not belong to any projects.

User Details

User Since
Sep 6 2015, 10:51 PM (393 w, 16 h)

Recent Activity

Dec 2 2022

ikudrin accepted D139131: [llvm-objdump] Avoid using mapping symbols as branch target labels.

LGTM. Please give some time for other reviewers to react.

Dec 2 2022, 3:58 AM · Restricted Project, Restricted Project

Nov 5 2022

ikudrin added inline comments to D136612: [lit][REQUIRES] Fix some tests with incorrect REQUIRES clauses.
Nov 5 2022, 1:55 AM · Restricted Project, Restricted Project

Sep 5 2022

ikudrin added inline comments to D133003: [ELF] Parallelize relocation scanning.
Sep 5 2022, 7:11 AM · Restricted Project, Restricted Project
ikudrin committed rG84c4efbc6d61: [ubsan-minimal] Report the address of an error (authored by ikudrin).
[ubsan-minimal] Report the address of an error
Sep 5 2022, 3:21 AM · Restricted Project, Restricted Project
ikudrin closed D131914: [ubsan-minimal] Report the address of an error.
Sep 5 2022, 3:20 AM · Restricted Project, Restricted Project, Restricted Project
ikudrin added a comment to D131914: [ubsan-minimal] Report the address of an error.

Thanks!

Sep 5 2022, 3:20 AM · Restricted Project, Restricted Project, Restricted Project

Sep 1 2022

ikudrin added inline comments to D133003: [ELF] Parallelize relocation scanning.
Sep 1 2022, 2:10 AM · Restricted Project, Restricted Project

Aug 31 2022

ikudrin added inline comments to D133003: [ELF] Parallelize relocation scanning.
Aug 31 2022, 11:45 AM · Restricted Project, Restricted Project

Aug 23 2022

ikudrin added inline comments to D131914: [ubsan-minimal] Report the address of an error.
Aug 23 2022, 2:10 PM · Restricted Project, Restricted Project, Restricted Project
ikudrin updated the diff for D131914: [ubsan-minimal] Report the address of an error.

Thanks for the review!

Aug 23 2022, 2:09 PM · Restricted Project, Restricted Project, Restricted Project
ikudrin committed rG1959a55591da: [ubsan-minimal][NFC] Use GET_CALLER_PC() to get the return address (authored by ikudrin).
[ubsan-minimal][NFC] Use GET_CALLER_PC() to get the return address
Aug 23 2022, 10:40 AM · Restricted Project, Restricted Project

Aug 22 2022

ikudrin added a comment to D131914: [ubsan-minimal] Report the address of an error.
Ping.
Aug 22 2022, 12:02 PM · Restricted Project, Restricted Project, Restricted Project

Aug 15 2022

ikudrin added a comment to D131914: [ubsan-minimal] Report the address of an error.

Unfortunately, I have no idea how to check the new output. Will be grateful for any suggestions.

Aug 15 2022, 12:07 PM · Restricted Project, Restricted Project, Restricted Project
ikudrin requested review of D131914: [ubsan-minimal] Report the address of an error.
Aug 15 2022, 11:57 AM · Restricted Project, Restricted Project, Restricted Project

Aug 8 2022

ikudrin added a comment to D131247: [ELF] Parallelize writes of different OutputSections.

I am not really happy that the patch exposes some implementation details (i.e TaskGroup and requires a value of TaskSize) that are best to be hidden, but I, honestly, do not have a better idea ready. Maybe there can be a wrapper class that encloses a TaskGroup and where asyncParallelFor can be moved as a method? Maybe it even could automatically adjust TaskSize based on parallel::detail::MaxTasksPerGroup and the count of already added tasks?

Aug 8 2022, 8:56 AM · Restricted Project, Restricted Project

Jul 20 2022

ikudrin added a comment to D127504: [NVPTX] Use the mask() operator to initialize packed structs with pointers.

Looks like the patch got reverted and reapplied. Could you tell me what went wrong and what was changed to fix it?

Jul 20 2022, 12:36 PM · Restricted Project, Restricted Project

Jul 18 2022

ikudrin committed rG32eed8828e0c: Reapply "[NVPTX] Use the mask() operator to initialize packed structs with… (authored by ikudrin).
Reapply "[NVPTX] Use the mask() operator to initialize packed structs with…
Jul 18 2022, 9:58 AM · Restricted Project, Restricted Project
ikudrin added a reverting change for rG04e978ccba1e: [NVPTX] Use the mask() operator to initialize packed structs with pointers: rG1e451369d201: Revert "[NVPTX] Use the mask() operator to initialize packed structs with….
Jul 18 2022, 9:09 AM · Restricted Project, Restricted Project
ikudrin committed rG1e451369d201: Revert "[NVPTX] Use the mask() operator to initialize packed structs with… (authored by ikudrin).
Revert "[NVPTX] Use the mask() operator to initialize packed structs with…
Jul 18 2022, 9:09 AM · Restricted Project, Restricted Project
ikudrin added a reverting change for D127504: [NVPTX] Use the mask() operator to initialize packed structs with pointers: rG1e451369d201: Revert "[NVPTX] Use the mask() operator to initialize packed structs with….
Jul 18 2022, 9:09 AM · Restricted Project, Restricted Project
ikudrin committed rG04e978ccba1e: [NVPTX] Use the mask() operator to initialize packed structs with pointers (authored by ikudrin).
[NVPTX] Use the mask() operator to initialize packed structs with pointers
Jul 18 2022, 4:10 AM · Restricted Project, Restricted Project
ikudrin committed rGe27f9214c046: [NVPTX][NFC] Simplify printing initialization of aggregates (authored by ikudrin).
[NVPTX][NFC] Simplify printing initialization of aggregates
Jul 18 2022, 4:10 AM · Restricted Project, Restricted Project
ikudrin closed D127504: [NVPTX] Use the mask() operator to initialize packed structs with pointers.
Jul 18 2022, 4:09 AM · Restricted Project, Restricted Project
ikudrin closed D129773: [NVPTX][NFC] Simplify printing initialization of aggregates.
Jul 18 2022, 4:09 AM · Restricted Project, Restricted Project

Jul 15 2022

ikudrin updated the diff for D127504: [NVPTX] Use the mask() operator to initialize packed structs with pointers.

Thanks! I'm going to land that on Monday.

Jul 15 2022, 12:37 PM · Restricted Project, Restricted Project
ikudrin added inline comments to D127504: [NVPTX] Use the mask() operator to initialize packed structs with pointers.
Jul 15 2022, 9:34 AM · Restricted Project, Restricted Project
ikudrin updated the diff for D127504: [NVPTX] Use the mask() operator to initialize packed structs with pointers.
  • 0xff -> 0xFF in the comment
Jul 15 2022, 9:34 AM · Restricted Project, Restricted Project
ikudrin updated the diff for D127504: [NVPTX] Use the mask() operator to initialize packed structs with pointers.
  • Add a comment about the mask() operator
  • Update the error message
  • std::none_of() -> std::all_of()
Jul 15 2022, 9:30 AM · Restricted Project, Restricted Project
ikudrin updated the diff for D129773: [NVPTX][NFC] Simplify printing initialization of aggregates.
  • Rename printInBytes() -> printBytes(), printInWords() -> printWords()`
  • Remove an raw_ostream argument in the constructor of AggBuffer; pass the stream directly to printBytes()/printWords()
  • Extract printSymbol() in this patch to further simplify D127504
  • isNonGenericPointer -> isGenericPointer
Jul 15 2022, 9:26 AM · Restricted Project, Restricted Project

Jul 14 2022

ikudrin accepted D129790: [ELF] Reword --no-allow-shlib-undefined diagnostic.

LGTM, thanks!

Jul 14 2022, 11:28 AM · Restricted Project, Restricted Project
ikudrin updated the diff for D127504: [NVPTX] Use the mask() operator to initialize packed structs with pointers.

Rework the implementation so that the mask() operator is used only if it is indeed required.

Jul 14 2022, 7:14 AM · Restricted Project, Restricted Project
ikudrin requested review of D129773: [NVPTX][NFC] Simplify printing initialization of aggregates.
Jul 14 2022, 6:58 AM · Restricted Project, Restricted Project

Jul 12 2022

ikudrin closed D129508: [NVPTX] Add missing pass names.
Jul 12 2022, 8:00 AM · Restricted Project, Restricted Project
ikudrin committed rG9ff10a0d6278: [NVPTX] Add missing pass names (authored by ikudrin).
[NVPTX] Add missing pass names
Jul 12 2022, 7:59 AM · Restricted Project, Restricted Project

Jul 11 2022

ikudrin requested review of D129508: [NVPTX] Add missing pass names.
Jul 11 2022, 12:01 PM · Restricted Project, Restricted Project

Jul 6 2022

ikudrin added a comment to D127504: [NVPTX] Use the mask() operator to initialize packed structs with pointers.

Hi @tra Artem, do you think the said complicated deeper analysis is profitable?

Jul 6 2022, 12:49 PM · Restricted Project, Restricted Project

Jun 22 2022

ikudrin committed rG8958e70ccbe9: [NVPTX] Keep metadata attached to module-scope variables (authored by ikudrin).
[NVPTX] Keep metadata attached to module-scope variables
Jun 22 2022, 5:52 AM · Restricted Project, Restricted Project
ikudrin closed D127510: [NVPTX] Keep metadata attached to module-scope variables.
Jun 22 2022, 5:51 AM · Restricted Project, Restricted Project

Jun 20 2022

ikudrin added a comment to D127510: [NVPTX] Keep metadata attached to module-scope variables.

Gentle ping.

Jun 20 2022, 9:49 AM · Restricted Project, Restricted Project

Jun 11 2022

ikudrin added inline comments to D127504: [NVPTX] Use the mask() operator to initialize packed structs with pointers.
Jun 11 2022, 7:09 AM · Restricted Project, Restricted Project

Jun 10 2022

ikudrin requested review of D127510: [NVPTX] Keep metadata attached to module-scope variables.
Jun 10 2022, 9:39 AM · Restricted Project, Restricted Project
ikudrin requested review of D127504: [NVPTX] Use the mask() operator to initialize packed structs with pointers.
Jun 10 2022, 8:27 AM · Restricted Project, Restricted Project

Apr 26 2022

ikudrin committed rG39ce68886b49: [LoopPeel][NFCI] Simplify the code to calculate peel count for PGO (authored by ikudrin).
[LoopPeel][NFCI] Simplify the code to calculate peel count for PGO
Apr 26 2022, 7:45 AM · Restricted Project, Restricted Project
ikudrin committed rGc71890e158df: [LoopPeel][NFC] Exit early if there is no room for peeling (authored by ikudrin).
[LoopPeel][NFC] Exit early if there is no room for peeling
Apr 26 2022, 7:45 AM · Restricted Project, Restricted Project
ikudrin closed D124388: [LoopPeel][NFCI] Simplify the code to calculate peel count for PGO.
Apr 26 2022, 7:45 AM · Restricted Project, Restricted Project
ikudrin closed D123864: [LoopPeel][NFC] Exit early if there is no room for peeling.
Apr 26 2022, 7:45 AM · Restricted Project, Restricted Project

Apr 25 2022

ikudrin updated the diff for D123865: [LoopPeel] Allow partial unrolling for profile-based peeling.
  • Extract an NFCI part into D124388
Apr 25 2022, 7:52 AM · Restricted Project, Restricted Project
ikudrin updated the diff for D124388: [LoopPeel][NFCI] Simplify the code to calculate peel count for PGO.
Apr 25 2022, 7:14 AM · Restricted Project, Restricted Project
ikudrin requested review of D124388: [LoopPeel][NFCI] Simplify the code to calculate peel count for PGO.
Apr 25 2022, 7:13 AM · Restricted Project, Restricted Project

Apr 22 2022

ikudrin added a comment to D123865: [LoopPeel] Allow partial unrolling for profile-based peeling.

Unfortunatelly, I do not have access to SPEC tests. I checked with 7zip-benchmark and found that Compressing speed is slightly improved with this patch while Decompressing is slightly degraded. But I have to note that compared to a Release build, PGO one is worse even without the patch.

Apr 22 2022, 10:07 AM · Restricted Project, Restricted Project

Apr 21 2022

ikudrin updated the diff for D123864: [LoopPeel][NFC] Exit early if there is no room for peeling.
  • Update the comment.
  • Remove checking for !UnrollPeelMaxCount because a similar condition is anyway checked in line 397.
Apr 21 2022, 11:12 PM · Restricted Project, Restricted Project

Apr 15 2022

ikudrin added a comment to D123865: [LoopPeel] Allow partial unrolling for profile-based peeling.

Our test was for AArch64, so there should be no effects like loop alignment, if I understand you right. I couldn't find a benchmark to test the change against, so I prepared an artificial one based on LLVM test suite/SingleSource/Benchmarks/Adobe-C++/loop-unroll.cpp. I saw the performance gain 10%-30% depending on the iterations count (on x86_64). But I understand that that test is probably biased, so if you recommend some commonly recognized public benchmark that might be suitable for the case, I would try it. As for a more deep analysis, could you share some examples so I can grab some ideas from them?

Apr 15 2022, 1:03 PM · Restricted Project, Restricted Project
ikudrin added a comment to D123865: [LoopPeel] Allow partial unrolling for profile-based peeling.

For loops with trip count between maxPeelCount and 2*maxPeelCount, this patch enables partial peeling of the loop for maxPeelCount iterations. This feels very aggressive and can be detrimental to performance: 1) increased icache footprint; 2) more pressure to BPU and 3) the back branch of the remaining loop may become less predictable.

What is the motivation case for such a change?

Apr 15 2022, 11:18 AM · Restricted Project, Restricted Project
ikudrin added a comment to D123865: [LoopPeel] Allow partial unrolling for profile-based peeling.

A bit of the context. After D71990, we noticed that one of our tests became slower and did not benefit from PGO. The test has a loop that is executed exactly 8 times, and, before the patch, it was (partially) unrolled but after the patch, the loop is preserved in the compact form.

Apr 15 2022, 10:32 AM · Restricted Project, Restricted Project
ikudrin updated the diff for D123865: [LoopPeel] Allow partial unrolling for profile-based peeling.
Apr 15 2022, 10:22 AM · Restricted Project, Restricted Project
ikudrin requested review of D123865: [LoopPeel] Allow partial unrolling for profile-based peeling.
Apr 15 2022, 10:21 AM · Restricted Project, Restricted Project
ikudrin requested review of D123864: [LoopPeel][NFC] Exit early if there is no room for peeling.
Apr 15 2022, 10:13 AM · Restricted Project, Restricted Project

Mar 29 2022

ikudrin accepted D122463: [ELF] --emit-relocs: fix missing STT_SECTION when the first input section is synthetic.

LGTM

Mar 29 2022, 12:06 AM · Restricted Project, Restricted Project

Mar 28 2022

ikudrin accepted D122450: [ELF] Default to --no-fortran-common.

LGTM then

Mar 28 2022, 11:58 PM · Restricted Project, Restricted Project
ikudrin added a comment to D122450: [ELF] Default to --no-fortran-common.

If I understand it right, --fortran-common is useful in rare scenarios but can slow down linking when handling COMMON symbols, and it also hinders implementing the parallel symbol resolution. If that is true, I agree with the change.

Mar 28 2022, 1:12 PM · Restricted Project, Restricted Project

Mar 22 2022

ikudrin committed rGc344d97a125b: [NVPTX][tests] Do not run tests that require direct object generation (authored by ikudrin).
[NVPTX][tests] Do not run tests that require direct object generation
Mar 22 2022, 5:50 AM · Restricted Project
ikudrin committed rG568404e89753: [tests] Make 'object-emission' imply 'default_triple' (authored by ikudrin).
[tests] Make 'object-emission' imply 'default_triple'
Mar 22 2022, 5:50 AM · Restricted Project
ikudrin committed rGd7681d9f77e0: [NVPTX] Avoid a crash when 'llc' is called with '-filetype=null' (authored by ikudrin).
[NVPTX] Avoid a crash when 'llc' is called with '-filetype=null'
Mar 22 2022, 5:50 AM · Restricted Project
ikudrin committed rG2881696b4062: [tests] Force (some) X86-specific tests to use an explicit triple (authored by ikudrin).
[tests] Force (some) X86-specific tests to use an explicit triple
Mar 22 2022, 5:50 AM · Restricted Project
ikudrin closed D121996: [NVPTX][tests] Do not run tests that require direct object generation.
Mar 22 2022, 5:50 AM · Restricted Project, Restricted Project
ikudrin closed D121994: [tests] Make 'object-emission' imply 'default_triple'.
Mar 22 2022, 5:50 AM · Restricted Project, Restricted Project
ikudrin closed D122001: [NVPTX] Avoid a crash when 'llc' is called with '-filetype=null'.
Mar 22 2022, 5:49 AM · Restricted Project, Restricted Project
ikudrin closed D121998: [tests] Force (some) X86-specific tests to use that target.
Mar 22 2022, 5:49 AM · Restricted Project, Restricted Project

Mar 21 2022

ikudrin accepted D121531: [ELF] Implement --build-id={md5,sha1} with truncated BLAKE3.

I like the idea and don't see real drawbacks, so LGTM.

Mar 21 2022, 10:15 AM · Restricted Project, Restricted Project

Mar 18 2022

ikudrin added a comment to D121996: [NVPTX][tests] Do not run tests that require direct object generation.

The code LGTM. When object-emission was reintroduced in D98508, there was some discussion on whether XCore ought to use this feature, or provide an integrated assembler instead. Sorry I don't know NVPTX: is NVPTX different because it generates assembly as its natural output, and binary does not make sense? Or could it have an integrated assembler at some point?

Mar 18 2022, 7:11 AM · Restricted Project, Restricted Project
ikudrin requested review of D122001: [NVPTX] Avoid a crash when 'llc' is called with '-filetype=null'.
Mar 18 2022, 5:25 AM · Restricted Project, Restricted Project
ikudrin requested review of D121998: [tests] Force (some) X86-specific tests to use that target.
Mar 18 2022, 5:09 AM · Restricted Project, Restricted Project
ikudrin retitled D121996: [NVPTX][tests] Do not run tests that require direct object generation from [nvptx][tests] Do not run tests that require direct object generation to [NVPTX][tests] Do not run tests that require direct object generation.
Mar 18 2022, 4:52 AM · Restricted Project, Restricted Project
ikudrin updated subscribers of D121994: [tests] Make 'object-emission' imply 'default_triple'.
Mar 18 2022, 4:52 AM · Restricted Project, Restricted Project
ikudrin updated subscribers of D121996: [NVPTX][tests] Do not run tests that require direct object generation.
Mar 18 2022, 4:49 AM · Restricted Project, Restricted Project
ikudrin requested review of D121996: [NVPTX][tests] Do not run tests that require direct object generation.
Mar 18 2022, 4:48 AM · Restricted Project, Restricted Project
ikudrin requested review of D121994: [tests] Make 'object-emission' imply 'default_triple'.
Mar 18 2022, 4:37 AM · Restricted Project, Restricted Project

Mar 15 2022

ikudrin committed rG1c99f650a7ac: [llvm-cov gcov] Fix calculating coverage of template functions (authored by ikudrin).
[llvm-cov gcov] Fix calculating coverage of template functions
Mar 15 2022, 9:48 AM · Restricted Project
ikudrin closed D121390: [llvm-cov gcov] Fix calculating coverage statistics of template functions.
Mar 15 2022, 9:48 AM · Restricted Project, Restricted Project

Mar 14 2022

ikudrin accepted D121512: [Support] Change zlib::compress to return void.

LGTM

Mar 14 2022, 11:17 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project
ikudrin added inline comments to D121512: [Support] Change zlib::compress to return void.
Mar 14 2022, 10:53 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project
ikudrin added inline comments to D121390: [llvm-cov gcov] Fix calculating coverage statistics of template functions.
Mar 14 2022, 8:47 AM · Restricted Project, Restricted Project
ikudrin updated the diff for D121390: [llvm-cov gcov] Fix calculating coverage statistics of template functions.
  • Removed llvm::
  • Update the test
Mar 14 2022, 8:47 AM · Restricted Project, Restricted Project

Mar 13 2022

ikudrin added inline comments to D121390: [llvm-cov gcov] Fix calculating coverage statistics of template functions.
Mar 13 2022, 7:14 AM · Restricted Project, Restricted Project
ikudrin updated the diff for D121390: [llvm-cov gcov] Fix calculating coverage statistics of template functions.
  • Fixed a formatting issue
  • Updated the test
Mar 13 2022, 7:13 AM · Restricted Project, Restricted Project

Mar 11 2022

ikudrin updated the summary of D121390: [llvm-cov gcov] Fix calculating coverage statistics of template functions.
Mar 11 2022, 10:48 AM · Restricted Project, Restricted Project

Mar 10 2022

ikudrin requested review of D121390: [llvm-cov gcov] Fix calculating coverage statistics of template functions.
Mar 10 2022, 9:50 AM · Restricted Project, Restricted Project

Mar 7 2022

ikudrin accepted D120650: [ELF] Don't use multiple inheritance for OutputSection. NFC.

LGTM

Mar 7 2022, 9:23 AM · Restricted Project, Restricted Project

Feb 24 2022

ikudrin accepted D119909: [ELF] Parallelize initializeLocalSymbols.

Thanks for the update! LGTM.

Feb 24 2022, 7:20 PM · Restricted Project, Restricted Project
ikudrin added inline comments to D119909: [ELF] Parallelize initializeLocalSymbols.
Feb 24 2022, 3:42 AM · Restricted Project, Restricted Project

Feb 22 2022

ikudrin accepted D119908: [ELF] Move duplicate symbol check after input file parsing.

LGTM.

Feb 22 2022, 1:48 AM · Restricted Project
ikudrin added a comment to D119909: [ELF] Parallelize initializeLocalSymbols.

Replace getSpecificAllocSingleton<SymbolUnion>().Allocate(firstGlobal); with localSymStorage.

1.02x as fast when linking clang
1.04x as fast when linking chrome

I plan to commit the change separately to decrease diff, but for single threading there is no observable difference for performance.

Feb 22 2022, 1:43 AM · Restricted Project, Restricted Project

Feb 21 2022

ikudrin added a comment to D119908: [ELF] Move duplicate symbol check after input file parsing.

It looks like the patch was somehow intermixed with D119909. git cannot apply it on ToT.

Feb 21 2022, 7:16 AM · Restricted Project

Feb 17 2022

ikudrin added inline comments to D119908: [ELF] Move duplicate symbol check after input file parsing.
Feb 17 2022, 2:14 AM · Restricted Project

Feb 16 2022

ikudrin added inline comments to D119908: [ELF] Move duplicate symbol check after input file parsing.
Feb 16 2022, 7:37 AM · Restricted Project

Feb 9 2022

ikudrin raised a concern with rG7a0cbe11fb26: [NFC] These tests require a default target.

Hi @beanz! The right tag should be default_triple, not _target. Right now, all these tests are effectively disabled.

Feb 9 2022, 7:04 AM

Feb 4 2022

ikudrin requested review of D118997: [DebugInfo] Fix emitting .debug_names with -dwarf-sections-as-reference=Enable.
Feb 4 2022, 7:30 AM · debug-info, Restricted Project

Feb 1 2022

ikudrin accepted D118551: [ELF] De-template LinkerDriver::link. NFC.

LGTM

Feb 1 2022, 4:49 AM · Restricted Project

Jan 24 2022

ikudrin accepted D117853: [ELF] Parallelize --compress-debug-sections=zlib.

No objections from me too.

Jan 24 2022, 8:07 AM · Restricted Project

Jan 23 2022

ikudrin accepted D117896: [LLD][ELF][AArch64] Update test with incorrect REQUIRES line [NFC].

LGTM. Thanks!

Jan 23 2022, 9:07 PM · Restricted Project