Page MenuHomePhabricator

ikudrin (Igor Kudrin)
User

Projects

User does not belong to any projects.

User Details

User Since
Sep 6 2015, 10:51 PM (350 w, 11 h)

Recent Activity

Tue, Apr 26

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
Tue, Apr 26, 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
Tue, Apr 26, 7:45 AM · Restricted Project, Restricted Project
ikudrin closed D124388: [LoopPeel][NFCI] Simplify the code to calculate peel count for PGO.
Tue, Apr 26, 7:45 AM · Restricted Project, Restricted Project
ikudrin closed D123864: [LoopPeel][NFC] Exit early if there is no room for peeling.
Tue, Apr 26, 7:45 AM · Restricted Project, Restricted Project

Mon, Apr 25

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

Jan 20 2022

ikudrin committed rG86b08ed6bb16: [DebugInfo][NFC] Do not call 'isRootFile' for DWARF Version < 5 (authored by ikudrin).
[DebugInfo][NFC] Do not call 'isRootFile' for DWARF Version < 5
Jan 20 2022, 10:53 PM
ikudrin committed rG75184f14aecd: [DebugInfo] Fix handling '# line "file"' for DWARFv5 (authored by ikudrin).
[DebugInfo] Fix handling '# line "file"' for DWARFv5
Jan 20 2022, 10:53 PM
ikudrin closed D117786: [DebugInfo][NFC] Do not call 'isRootFile' for DWARF Version < 5.
Jan 20 2022, 10:52 PM · debug-info, Restricted Project
ikudrin closed D117785: [DebugInfo] Fix handling '# line "file"' for DWARFv5.
Jan 20 2022, 10:52 PM · debug-info, Restricted Project
ikudrin requested review of D117786: [DebugInfo][NFC] Do not call 'isRootFile' for DWARF Version < 5.
Jan 20 2022, 7:17 AM · debug-info, Restricted Project
ikudrin retitled D117785: [DebugInfo] Fix handling '# line "file"' for DWARFv5 from [DebugInfo] Fix handling '# line "file"' for DWARF5 to [DebugInfo] Fix handling '# line "file"' for DWARFv5.
Jan 20 2022, 7:13 AM · debug-info, Restricted Project
ikudrin requested review of D117785: [DebugInfo] Fix handling '# line "file"' for DWARFv5.
Jan 20 2022, 7:13 AM · debug-info, Restricted Project

Jan 18 2022

ikudrin committed rGf3471dc51769: [llvm-objcopy] Preserve ARM and AArch64 mapping symbols (authored by ikudrin).
[llvm-objcopy] Preserve ARM and AArch64 mapping symbols
Jan 18 2022, 11:43 PM
ikudrin closed D117233: [llvm-objcopy] Preserve ARM and AArch64 mapping symbols.
Jan 18 2022, 11:43 PM · Restricted Project
ikudrin added a comment to D117233: [llvm-objcopy] Preserve ARM and AArch64 mapping symbols.

Thanks for the suggestions!

Jan 18 2022, 11:24 PM · Restricted Project
ikudrin added a comment to D54759: [LLD][ELF] Use more specific method to calculate DT_PLTRELSZ.

Hi @peter.smith! The tests arm-combined-dynrel.s and arm-combined-dynrel-ifunc.s do not run because of inaccurate REQUIRES. Could you fix them, please?

Jan 18 2022, 9:22 PM

Jan 17 2022

ikudrin added a reviewer for D117233: [llvm-objcopy] Preserve ARM and AArch64 mapping symbols: psmith.

The patch aims to improve the compatibility, right.

Jan 17 2022, 7:37 PM · Restricted Project
ikudrin accepted D117284: [ELF] Allow non-bitcode archive with an empty index.

The change looks safe. If it eventually helps us to move towards a parallel reading of input files, I am in favor of it.

Jan 17 2022, 3:19 AM · Restricted Project

Jan 13 2022

ikudrin requested review of D117233: [llvm-objcopy] Preserve ARM and AArch64 mapping symbols.
Jan 13 2022, 9:01 AM · Restricted Project

Jan 12 2022

ikudrin committed rGe00ac48df3a6: [ELF] Use tombstone values for discarded symbols in relocatable output (authored by ikudrin).
[ELF] Use tombstone values for discarded symbols in relocatable output
Jan 12 2022, 9:33 PM
ikudrin closed D116946: [ELF] Use tombstone values for discarded symbols in relocatable output.
Jan 12 2022, 9:32 PM · Restricted Project, lld
ikudrin accepted D116838: [ELF] -Map --why-extract=: print despite errors.

Changes in LinkerScript.cpp and discard-section-err.s should be committed separately.

Jan 12 2022, 6:19 AM · Restricted Project
ikudrin updated the diff for D116946: [ELF] Use tombstone values for discarded symbols in relocatable output.
  • Add comments
  • Dump only required information in the test
Jan 12 2022, 1:21 AM · Restricted Project, lld
ikudrin added inline comments to D116838: [ELF] -Map --why-extract=: print despite errors.
Jan 12 2022, 12:49 AM · Restricted Project

Jan 11 2022

ikudrin added inline comments to D116838: [ELF] -Map --why-extract=: print despite errors.
Jan 11 2022, 10:59 PM · Restricted Project
ikudrin updated the diff for D116946: [ELF] Use tombstone values for discarded symbols in relocatable output.
  • Add .o in the test
  • Swap then and else branches in InputSection::relocateNonAlloc()
Jan 11 2022, 4:05 AM · Restricted Project, lld

Jan 10 2022

ikudrin accepted D116881: [ELF] Add RelocationScanner. NFC.

LGTM

Jan 10 2022, 11:09 PM · Restricted Project
ikudrin requested review of D116946: [ELF] Use tombstone values for discarded symbols in relocatable output.
Jan 10 2022, 7:31 AM · Restricted Project, lld
ikudrin accepted D116900: [ELF] Support mixed TLSDESC and TLS GD.

LGTM

Jan 10 2022, 2:33 AM · Restricted Project
ikudrin added inline comments to D116881: [ELF] Add RelocationScanner. NFC.
Jan 10 2022, 2:19 AM · Restricted Project
ikudrin added a comment to D116838: [ELF] -Map --why-extract=: print despite errors.

The output of --why-extract looks useful indeed, but does the map file without output sections make much sense?

Jan 10 2022, 12:53 AM · Restricted Project

Dec 24 2021

ikudrin accepted D116093: [ELF] Avoid referencing SectionBase::repl after ICF.

LGTM

Dec 24 2021, 2:30 AM · Restricted Project

Dec 22 2021

ikudrin committed rGf5907ea1c0de: [unittest][DebugInfo/DWARF] Do not report skipped tests as passed (authored by ikudrin).
[unittest][DebugInfo/DWARF] Do not report skipped tests as passed
Dec 22 2021, 3:54 AM
ikudrin committed rG2e11e8885c68: [unittest][DebugInfo/DWARF] Do not create dwarfgen::Generator if MCAsmBackend… (authored by ikudrin).
[unittest][DebugInfo/DWARF] Do not create dwarfgen::Generator if MCAsmBackend…
Dec 22 2021, 3:54 AM
ikudrin committed rG5fc05a0a81ed: [unittest][DebugInfo/DWARF] Check that dwarfgen::Generator is created (authored by ikudrin).
[unittest][DebugInfo/DWARF] Check that dwarfgen::Generator is created
Dec 22 2021, 3:54 AM
ikudrin closed D116108: [unittest][DebugInfo/DWARF] Do not report skipped tests as passed.
Dec 22 2021, 3:54 AM · Restricted Project
ikudrin closed D116107: [unittest][DebugInfo/DWARF] Do not create dwarfgen::Generator if MCAsmBackend is missing.
Dec 22 2021, 3:54 AM · Restricted Project
ikudrin closed D116106: [unittest][DebugInfo/DWARF] Check that dwarfgen::Generator is created.
Dec 22 2021, 3:54 AM · Restricted Project
ikudrin added a comment to D116108: [unittest][DebugInfo/DWARF] Do not report skipped tests as passed.

Looks like an acceptable incremental improvement, but perhaps it could be improved further if the generator be setup in the SetUp function and failing that function could implicitly skip tests covered by it, and similar for other tests/setup operations like initializing the MachineRegisterInfo, etc?

Dec 22 2021, 3:40 AM · Restricted Project
ikudrin added a comment to D116107: [unittest][DebugInfo/DWARF] Do not create dwarfgen::Generator if MCAsmBackend is missing.

Is this accurate? Do all uses of DWARFUtils need the asm emission? I'd have thought the DWARFGenerator would mostly be used to go straight to machine code, without assembly?

Dec 22 2021, 12:06 AM · Restricted Project

Dec 21 2021

ikudrin added inline comments to D116106: [unittest][DebugInfo/DWARF] Check that dwarfgen::Generator is created.
Dec 21 2021, 11:31 PM · Restricted Project
ikudrin accepted D115993: [ELF] Optimize RelocationSection<ELFT>::writeTo.

LGTM

Dec 21 2021, 9:33 AM · Restricted Project
ikudrin added inline comments to D115993: [ELF] Optimize RelocationSection<ELFT>::writeTo.
Dec 21 2021, 8:38 AM · Restricted Project
ikudrin updated the diff for D116108: [unittest][DebugInfo/DWARF] Do not report skipped tests as passed.
Dec 21 2021, 7:08 AM · Restricted Project
ikudrin requested review of D116108: [unittest][DebugInfo/DWARF] Do not report skipped tests as passed.
Dec 21 2021, 7:07 AM · Restricted Project
ikudrin requested review of D116107: [unittest][DebugInfo/DWARF] Do not create dwarfgen::Generator if MCAsmBackend is missing.
Dec 21 2021, 7:04 AM · Restricted Project
ikudrin requested review of D116106: [unittest][DebugInfo/DWARF] Check that dwarfgen::Generator is created.
Dec 21 2021, 6:59 AM · Restricted Project