Page MenuHomePhabricator

yota9 (Vladislav Khmelevsky)
User

Projects

User does not belong to any projects.

User Details

User Since
Jun 25 2020, 10:59 AM (104 w, 3 d)

Recent Activity

Yesterday

yota9 updated the diff for D128082: [BOLT][AArch64] Handle gold linker veneers.

Address comments

Sat, Jun 25, 8:27 AM · Restricted Project, Restricted Project
yota9 added inline comments to D128082: [BOLT][AArch64] Handle gold linker veneers.
Sat, Jun 25, 7:12 AM · Restricted Project, Restricted Project

Fri, Jun 24

yota9 updated subscribers of D128469: [BOLT] Remove removeConditionalTailCalls.

@rafaelauler Thanks, I've decided to add proper description since currently I don't really see any examples when removeConditionalTailCalls would be necessary. We can discuss it in discord if it will be comfortable for you or @maksfb .

Fri, Jun 24, 10:30 AM · Restricted Project, Restricted Project
yota9 updated the summary of D128469: [BOLT] Remove removeConditionalTailCalls.
Fri, Jun 24, 10:26 AM · Restricted Project, Restricted Project

Thu, Jun 23

yota9 requested review of D128469: [BOLT] Remove removeConditionalTailCalls.
Thu, Jun 23, 3:04 PM · Restricted Project, Restricted Project
yota9 updated the diff for D128082: [BOLT][AArch64] Handle gold linker veneers.

Address comments

Thu, Jun 23, 11:50 AM · Restricted Project, Restricted Project
yota9 added inline comments to D128082: [BOLT][AArch64] Handle gold linker veneers.
Thu, Jun 23, 11:37 AM · Restricted Project, Restricted Project
yota9 added inline comments to D128082: [BOLT][AArch64] Handle gold linker veneers.
Thu, Jun 23, 11:27 AM · Restricted Project, Restricted Project
yota9 added inline comments to D128082: [BOLT][AArch64] Handle gold linker veneers.
Thu, Jun 23, 11:13 AM · Restricted Project, Restricted Project
yota9 updated the diff for D128082: [BOLT][AArch64] Handle gold linker veneers.

dbgs->outs in veneer pass

Thu, Jun 23, 10:58 AM · Restricted Project, Restricted Project
yota9 updated the diff for D128082: [BOLT][AArch64] Handle gold linker veneers.

Run veneer ellimination pass before instrumentation.
We would like to remove veneers asap and before instrumentation pass, since we want to record call to the real function, not it's veneer.
@maksfb @rafauler gentle ping

Thu, Jun 23, 10:56 AM · Restricted Project, Restricted Project

Mon, Jun 20

yota9 added a comment to D128082: [BOLT][AArch64] Handle gold linker veneers.

@maksfb @rafauler gentle ping

Mon, Jun 20, 5:05 PM · Restricted Project, Restricted Project

Sat, Jun 18

yota9 retitled D128082: [BOLT][AArch64] Handle gold linker veneers from [BOLT][AArch64][RFC] Handle gold linker veneers to [BOLT][AArch64] Handle gold linker veneers.
Sat, Jun 18, 11:43 AM · Restricted Project, Restricted Project
yota9 updated the diff for D128082: [BOLT][AArch64] Handle gold linker veneers.

rebase

Sat, Jun 18, 11:43 AM · Restricted Project, Restricted Project
yota9 updated the diff for D128082: [BOLT][AArch64] Handle gold linker veneers.

Uncomment __builtin_unreachable() branch handling.
@maksfb as a tmp solution I purpose to add extra check in unreachable handling. I hope we will able to move elliminate this code here oneday,
but for now it should work fine. Also as I see there is some other code that I think we need to be refactore also, e.g. removeConditionalTailCalls
in postProcessCFG. Ideally we want to move all code transformations to the passes, since at least golang support needs it. Thank you!

Sat, Jun 18, 11:02 AM · Restricted Project, Restricted Project

Fri, Jun 17

yota9 updated the diff for D128082: [BOLT][AArch64] Handle gold linker veneers.

Add test checks

Fri, Jun 17, 12:13 PM · Restricted Project, Restricted Project
yota9 added inline comments to D128082: [BOLT][AArch64] Handle gold linker veneers.
Fri, Jun 17, 11:59 AM · Restricted Project, Restricted Project
yota9 updated the diff for D128082: [BOLT][AArch64] Handle gold linker veneers.

ADd test description

Fri, Jun 17, 11:56 AM · Restricted Project, Restricted Project
yota9 requested review of D128082: [BOLT][AArch64] Handle gold linker veneers.
Fri, Jun 17, 11:48 AM · Restricted Project, Restricted Project

Mon, Jun 13

yota9 abandoned D127220: [BOLT][AArch64] Preserve in text object alignment.

Abandon the diff for now

Mon, Jun 13, 5:47 AM · Restricted Project, Restricted Project
yota9 committed rG6e26ffa06405: [BOLT][AARCH64] Skip R_AARCH64_LD_PREL_LO19 relocation (authored by yota9).
[BOLT][AARCH64] Skip R_AARCH64_LD_PREL_LO19 relocation
Mon, Jun 13, 5:41 AM · Restricted Project
yota9 closed D127413: [BOLT][AARCH64] Skip R_AARCH64_LD_PREL_LO19 relocation.
Mon, Jun 13, 5:41 AM · Restricted Project, Restricted Project

Fri, Jun 10

yota9 added a comment to D127220: [BOLT][AArch64] Preserve in text object alignment.

Yes, you're right, I didn't notice that it is not iotas object aligned to .align 8, but the aligning zeroes.

Fri, Jun 10, 1:53 PM · Restricted Project, Restricted Project

Thu, Jun 9

yota9 requested review of D127413: [BOLT][AARCH64] Skip R_AARCH64_LD_PREL_LO19 relocation.
Thu, Jun 9, 9:05 AM · Restricted Project, Restricted Project
yota9 updated the diff for D127220: [BOLT][AArch64] Preserve in text object alignment.

Add AlignCIMaxBytes option, address comments

Thu, Jun 9, 8:36 AM · Restricted Project, Restricted Project
yota9 added inline comments to D127220: [BOLT][AArch64] Preserve in text object alignment.
Thu, Jun 9, 8:00 AM · Restricted Project, Restricted Project

Wed, Jun 8

yota9 added a comment to D127220: [BOLT][AArch64] Preserve in text object alignment.

@tschuett Thank you for your comment. Yes, I know, but currently bolt uses uint16_t for alignment in its sources, this is out of scope of this patch to refactor and change this.

Wed, Jun 8, 11:48 AM · Restricted Project, Restricted Project
yota9 added a comment to D127220: [BOLT][AArch64] Preserve in text object alignment.

Gentle ping

Wed, Jun 8, 11:39 AM · Restricted Project, Restricted Project
yota9 accepted D127111: [BOLT][AArch64] Handle data at the beginning of a function when disassembling and building CFG..

LGTM

Wed, Jun 8, 9:11 AM · Restricted Project, Restricted Project
yota9 committed rGfd9604952d80: [BOLT] Set valid index for functions with profiles (authored by yota9).
[BOLT] Set valid index for functions with profiles
Wed, Jun 8, 4:15 AM · Restricted Project
yota9 closed D127223: [BOLT] Set valid index for functions with profiles.
Wed, Jun 8, 4:15 AM · Restricted Project, Restricted Project

Tue, Jun 7

yota9 updated the diff for D127223: [BOLT] Set valid index for functions with profiles.

address comment

Tue, Jun 7, 2:14 PM · Restricted Project, Restricted Project
yota9 added a comment to D127223: [BOLT] Set valid index for functions with profiles.

Some of the passes that calculates tentative layout like LongJmp and Golang are expecting that only functions with valid index will be located in hot text section.

Do these passes care about functions written to cold text at all? I wonder if we need to assign indices to all functions regardless of the profile.

Tue, Jun 7, 2:13 PM · Restricted Project, Restricted Project
yota9 requested changes to D127111: [BOLT][AArch64] Handle data at the beginning of a function when disassembling and building CFG..

Please fix the test

Tue, Jun 7, 8:49 AM · Restricted Project, Restricted Project
yota9 updated the diff for D127223: [BOLT] Set valid index for functions with profiles.

Fix comment

Tue, Jun 7, 8:46 AM · Restricted Project, Restricted Project
yota9 requested review of D127223: [BOLT] Set valid index for functions with profiles.
Tue, Jun 7, 8:45 AM · Restricted Project, Restricted Project
yota9 requested review of D127220: [BOLT][AArch64] Preserve in text object alignment.
Tue, Jun 7, 8:29 AM · Restricted Project, Restricted Project

Mon, Jun 6

yota9 added inline comments to D127111: [BOLT][AArch64] Handle data at the beginning of a function when disassembling and building CFG..
Mon, Jun 6, 6:52 AM · Restricted Project, Restricted Project
yota9 accepted D127111: [BOLT][AArch64] Handle data at the beginning of a function when disassembling and building CFG..

Overall LGTM

Mon, Jun 6, 6:50 AM · Restricted Project, Restricted Project

May 26 2022

yota9 accepted D126177: [BOLT] [AArch64] Handle constant islands spanning multiple functions.

LGTM Thanks @treapster

May 26 2022, 12:18 PM · Restricted Project, Restricted Project

May 18 2022

yota9 accepted D125843: [BOLT] Testcase to repro R_X86_64_REX_GOTPCRELX bug.

LGTM
AFAIU this might be the first time where the skipRelocationProcess that I'm using for arm might be used for x86

May 18 2022, 8:15 AM · Restricted Project, Restricted Project

May 12 2022

yota9 accepted D125483: [BOLT][NFC] Use refs for loop variables to avoid copies.
May 12 2022, 10:59 AM · Restricted Project, Restricted Project

May 11 2022

yota9 accepted D125397: [BOLT][NFC] Add MCPlus::primeOperands iterator_range.
May 11 2022, 9:04 AM · Restricted Project, Restricted Project

May 4 2022

yota9 accepted D124942: [BOLT][NFC] Fix MCPlusBuilder::getAliases caching behavior.

LGTM Thanks!

May 4 2022, 11:25 AM · Restricted Project, Restricted Project
yota9 added inline comments to D124942: [BOLT][NFC] Fix MCPlusBuilder::getAliases caching behavior.
May 4 2022, 11:16 AM · Restricted Project, Restricted Project
yota9 added a comment to D124942: [BOLT][NFC] Fix MCPlusBuilder::getAliases caching behavior.

-

May 4 2022, 10:22 AM · Restricted Project, Restricted Project

May 3 2022

yota9 accepted D124863: [BOLT][TEST] Fix test failures on AArch64 builder.
May 3 2022, 3:14 PM · Restricted Project, Restricted Project
yota9 accepted D124863: [BOLT][TEST] Fix test failures on AArch64 builder.

@Amir Consider to add puts to stub.h and include the header

May 3 2022, 3:02 PM · Restricted Project, Restricted Project
yota9 accepted D124863: [BOLT][TEST] Fix test failures on AArch64 builder.
May 3 2022, 10:39 AM · Restricted Project, Restricted Project

Apr 28 2022

yota9 committed rG61d54259ed2b: [BOLT] Fix r_aarch64_prelxx test (authored by yavtuk).
[BOLT] Fix r_aarch64_prelxx test
Apr 28 2022, 1:53 PM · Restricted Project
yota9 closed D124270: [BOLT] Fix r_aarch64_prelxx test.
Apr 28 2022, 1:53 PM · Restricted Project, Restricted Project

Apr 26 2022

yota9 added a comment to D122106: [BOLT] Replace relocations container type.

@rafaelauler Gentle ping

Apr 26 2022, 2:28 AM · Restricted Project, Restricted Project

Apr 24 2022

yota9 added a comment to D124347: [BOLT] RFC: Add golang support.

@tschuett please checkout the answer above, I'm not sure if i will use llvm-objdump or will use other methods right now.

Apr 24 2022, 12:48 PM · Restricted Project, Restricted Project
yota9 added a comment to D124347: [BOLT] RFC: Add golang support.

@tschuett What do you mean by add go to llvm-objdump?
@ayermolo 'm not sure if I will be able to cover it compeletely or even all corner cases, probably only basic moments, but I will try to. As a first step I suggest to discuss technical point of the patch, there are some places that surely should be redone, I need some suggestions on this :) I don't think it will be fast process due to the patch size, my personal workload & etc,, but during that time I will try to add some test cases :)
UPD Could somebody please point me out what is the problem with git-clang-format stage? Locally It does not show any problem and I don't see any comments in the diff too, no idea what it is complaining about :(

Apr 24 2022, 11:53 AM · Restricted Project, Restricted Project
yota9 updated the diff for D124347: [BOLT] RFC: Add golang support.

clang format warn

Apr 24 2022, 10:27 AM · Restricted Project, Restricted Project
yota9 added a comment to D124347: [BOLT] RFC: Add golang support.

Some places are explained and marked by me that needs extra attention or some suggestions for re-implemetation

Apr 24 2022, 10:19 AM · Restricted Project, Restricted Project
yota9 requested review of D124347: [BOLT] RFC: Add golang support.
Apr 24 2022, 9:52 AM · Restricted Project, Restricted Project
yota9 added inline comments to D124270: [BOLT] Fix r_aarch64_prelxx test.
Apr 24 2022, 6:56 AM · Restricted Project, Restricted Project

Apr 21 2022

yota9 committed rG48e894a53641: [BOLT] Add R_AARCH64_PREL16/32/64 relocations support (authored by yavtuk).
[BOLT] Add R_AARCH64_PREL16/32/64 relocations support
Apr 21 2022, 3:54 AM · Restricted Project, Restricted Project
yota9 closed D122294: [BOLT] Add R_AARCH64_PREL16/32/64 relocations support.
Apr 21 2022, 3:54 AM · Restricted Project, Restricted Project
yota9 committed rG63686af1e1d1: [BOLT] Fix build with GCC 7.3.0 (authored by yota9).
[BOLT] Fix build with GCC 7.3.0
Apr 21 2022, 3:48 AM · Restricted Project
yota9 closed D124009: [BOLT] Fix build with GCC 7.3.0.
Apr 21 2022, 3:48 AM · Restricted Project, Restricted Project

Apr 20 2022

yota9 added a comment to D122106: [BOLT] Replace relocations container type.

@rafaelauler gentle ping

Apr 20 2022, 4:50 PM · Restricted Project, Restricted Project
yota9 accepted D124117: [BOLT] Add fuzzy function name matching for LLVM LTO.
Apr 20 2022, 3:24 PM · Restricted Project, Restricted Project

Apr 19 2022

yota9 requested review of D124009: [BOLT] Fix build with GCC 7.3.0.
Apr 19 2022, 8:50 AM · Restricted Project, Restricted Project

Apr 15 2022

yota9 accepted D123852: [BOLT] Check if LLVM_REVISION is defined.
Apr 15 2022, 6:20 AM · Restricted Project, Restricted Project
yota9 retitled D122106: [BOLT] Replace relocations container type from [BOLT] Fix dynamic relocation offset for constant islands to [BOLT] Replace relocations container type.
Apr 15 2022, 6:01 AM · Restricted Project, Restricted Project
yota9 updated the diff for D122106: [BOLT] Replace relocations container type.

Remove all changes but refactoring

Apr 15 2022, 6:01 AM · Restricted Project, Restricted Project

Apr 14 2022

yota9 accepted D123755: [BOLT][perf2bolt] Fix base address calculation for shared objects.

Great, thanks!

Apr 14 2022, 4:14 AM · Restricted Project, Restricted Project

Apr 13 2022

yota9 added a comment to D122106: [BOLT] Replace relocations container type.

@rafaelauler As I understand we will need to keep dynamic relocations in binary function/data like we do it for static relocation and emit labels in the right places. Let's discuss it in discord in the nearest time if you have any suggestion. I don't really like the binary function part of the code too (initially I've made the review NFC). As for this review I suggest to separate the container type refactoring and to think about the dynamic relocations emission separately, what do you think?

Apr 13 2022, 4:35 PM · Restricted Project, Restricted Project
yota9 committed rG2f98c5febce2: [BOLT] Update skipRelocation for aarch64 (authored by yota9).
[BOLT] Update skipRelocation for aarch64
Apr 13 2022, 12:54 PM · Restricted Project
yota9 closed D123334: [BOLT] Update skipRelocation for aarch64.
Apr 13 2022, 12:54 PM · Restricted Project, Restricted Project
yota9 accepted D123650: [BOLT] Ignore PC-relative relocations from data to data.
Apr 13 2022, 11:12 AM · Restricted Project, Restricted Project
yota9 updated the diff for D123334: [BOLT] Update skipRelocation for aarch64.

Nit

Apr 13 2022, 10:50 AM · Restricted Project, Restricted Project
yota9 accepted D123329: [BOLT][TEST] Remove -no-pie from cflags/cxxflags.
Apr 13 2022, 10:38 AM · Restricted Project, Restricted Project
yota9 updated the diff for D123334: [BOLT] Update skipRelocation for aarch64.

Add test

Apr 13 2022, 7:31 AM · Restricted Project, Restricted Project
yota9 added inline comments to D123334: [BOLT] Update skipRelocation for aarch64.
Apr 13 2022, 7:22 AM · Restricted Project, Restricted Project
yota9 updated the diff for D122106: [BOLT] Replace relocations container type.

@rafauler I've decided to add extra arg for relocation emission, it is easy to add and easy to revert in case we won't need it anymore

Apr 13 2022, 4:49 AM · Restricted Project, Restricted Project
yota9 committed rGcaf9eb6e4d73: [BOLT] Fix two aarch64 tests (authored by yota9).
[BOLT] Fix two aarch64 tests
Apr 13 2022, 3:39 AM · Restricted Project
yota9 closed D123332: [BOLT] Fix two aarch64 tests.
Apr 13 2022, 3:39 AM · Restricted Project, Restricted Project

Apr 11 2022

yota9 added inline comments to D123334: [BOLT] Update skipRelocation for aarch64.
Apr 11 2022, 12:57 PM · Restricted Project, Restricted Project
yota9 added a comment to D122106: [BOLT] Replace relocations container type.

@rafauler Well, the time regression is about couple of %, even before patch I got up to 390sec, and 390+ sec after. The memory regression is negligible. It is possible to do what you're suggesting, but it looks to me like extra complication that personally me would like to avoid. I really don't think it is worse it, but it is discussible question

Apr 11 2022, 12:34 PM · Restricted Project, Restricted Project
yota9 added a comment to D122106: [BOLT] Replace relocations container type.

@rafaelauler Gentle ping

Apr 11 2022, 11:20 AM · Restricted Project, Restricted Project
yota9 updated subscribers of D123334: [BOLT] Update skipRelocation for aarch64.

@rafaelauler Gentle ping

Apr 11 2022, 11:20 AM · Restricted Project, Restricted Project
yota9 updated the summary of D123332: [BOLT] Fix two aarch64 tests.
Apr 11 2022, 11:20 AM · Restricted Project, Restricted Project
yota9 updated the diff for D123332: [BOLT] Fix two aarch64 tests.

Update

Apr 11 2022, 11:19 AM · Restricted Project, Restricted Project

Apr 8 2022

yota9 added a comment to D123329: [BOLT][TEST] Remove -no-pie from cflags/cxxflags.

@Amir I think you need to rebase the patch, I will check it on aarch64 then :) Thank you!

Apr 8 2022, 4:50 AM · Restricted Project, Restricted Project
yota9 accepted D123263: [BOLT] Check MCContext errors.
Apr 8 2022, 4:48 AM · Restricted Project, Restricted Project

Apr 7 2022

yota9 added a comment to D122106: [BOLT] Replace relocations container type.

@rafauler I've checked the biggest binary I have. As for the time after couple of launches I see 380-390 sec before patch and 390-400sec after patch, which I assume is just a negligible difference. As for the memory the I've got 38279868kb before and 38348116kb after (+68mb or +0.2%) which is small amount too and matches yours results. So I assume it's a reasonable change with an acceptable overhead :)

Apr 7 2022, 2:41 PM · Restricted Project, Restricted Project
yota9 requested review of D123334: [BOLT] Update skipRelocation for aarch64.
Apr 7 2022, 12:35 PM · Restricted Project, Restricted Project
yota9 retitled D123332: [BOLT] Fix two aarch64 tests from Fix two aarch64 tests to [BOLT] Fix two aarch64 tests.
Apr 7 2022, 12:03 PM · Restricted Project, Restricted Project
yota9 requested review of D123332: [BOLT] Fix two aarch64 tests.
Apr 7 2022, 11:57 AM · Restricted Project, Restricted Project
yota9 updated the diff for D122106: [BOLT] Replace relocations container type.

nit
@rafauler It was my fault, not all tests should be OK, sorry for bothering :)

Apr 7 2022, 10:26 AM · Restricted Project, Restricted Project

Apr 6 2022

yota9 committed rG87a57aada3a0: [BOLT][test] Fix X86 tests (authored by yota9).
[BOLT][test] Fix X86 tests
Apr 6 2022, 11:17 AM · Restricted Project
yota9 closed D123133: [BOLT][test] Fix X86 tests.
Apr 6 2022, 11:17 AM · Restricted Project, Restricted Project
yota9 added a comment to D123133: [BOLT][test] Fix X86 tests.

@Amir Thank you very much, it works now, submitting the patch now :)

Apr 6 2022, 10:16 AM · Restricted Project, Restricted Project
yota9 updated the diff for D123133: [BOLT][test] Fix X86 tests.

clang-format

Apr 6 2022, 8:50 AM · Restricted Project, Restricted Project
yota9 updated the diff for D123133: [BOLT][test] Fix X86 tests.

Fix unreachable.s

Apr 6 2022, 7:35 AM · Restricted Project, Restricted Project

Apr 5 2022

yota9 added a comment to D122106: [BOLT] Replace relocations container type.

@rafaelauler Right now I've got only ubuntu aarch64 :( I will try to check it on x86 ubuntu locally soon, although I don't really see the reason for such a strange behaviour..

Apr 5 2022, 2:58 PM · Restricted Project, Restricted Project
yota9 added a comment to D122106: [BOLT] Replace relocations container type.

@rafaelauler I've tried couple of times, but the result seems to be the same...

Apr 5 2022, 2:23 PM · Restricted Project, Restricted Project