Page MenuHomePhabricator

yota9 (Vladislav Khmelevsky)
User

Projects

User does not belong to any projects.

User Details

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

Recent Activity

Wed, Mar 22

yota9 updated the diff for D124347: [BOLT] RFC: Add golang support.

remove IsChanged

Wed, Mar 22, 1:54 PM · Restricted Project, Restricted Project
yota9 requested review of D146645: [BOLT] Create section symbols for inserted sections.
Wed, Mar 22, 10:18 AM · Restricted Project, Restricted Project
yota9 updated the diff for D124347: [BOLT] RFC: Add golang support.

fix tests

Wed, Mar 22, 9:37 AM · Restricted Project, Restricted Project
yota9 requested review of D146640: [BOLT] Emit binary section output contents if Set.
Wed, Mar 22, 9:21 AM · Restricted Project, Restricted Project
yota9 updated the diff for D124347: [BOLT] RFC: Add golang support.

Removs BS isChanged

Wed, Mar 22, 9:16 AM · Restricted Project, Restricted Project
yota9 updated the diff for D124347: [BOLT] RFC: Add golang support.

rebase, use new instead of mmap

Wed, Mar 22, 8:40 AM · Restricted Project, Restricted Project
yota9 updated the diff for D141234: [BOLT][Golang support] Core changes.

rebase

Wed, Mar 22, 6:00 AM · Restricted Project, Restricted Project
yota9 added a comment to D146546: [BOLT][RFC] Implement composed relocations.

From my standpoint this patch seems to be more solid and universal. We don't have to change structure, don't have to create pseudo relocation types on BOLT level and can compose relocations with more then 2 symbols easily if needed (although I'm, not sure if there are such cases). Indeed I was interested in this patch since the first thought was that might be re-used in golang support in couple of places and it seems to be a solution that might help with it. But the only major downside of this solution - we don't have special label relocations for aarch64/x86. But it seems to be reasonable addon and probably worth to speak with community about adding such types to other platforms too.

Wed, Mar 22, 5:15 AM · Restricted Project, Restricted Project

Tue, Mar 21

yota9 added a comment to D146546: [BOLT][RFC] Implement composed relocations.

Nice! I didn't know about this feature. May I ask you to create dependent review with getComposeOpcodeFor ? Thank you!

Tue, Mar 21, 10:40 AM · Restricted Project, Restricted Project
yota9 committed rG54ab9541492d: [BOLT] Reject symbols pointing to section end (authored by jobnoorman).
[BOLT] Reject symbols pointing to section end
Tue, Mar 21, 3:00 AM · Restricted Project
yota9 closed D146215: [BOLT] Reject symbols pointing to section end.
Tue, Mar 21, 3:00 AM · Restricted Project, Restricted Project

Mon, Mar 20

yota9 requested changes to D144653: [BOLT][AArch64] ST_Function symbols start a CODE interval.

Sorry @sebpop but I don't think it is part of ARM mapping symbols ABI standard. What type of compiler are you using when observing this? Is there any way to create test to reproduce it?

Mon, Mar 20, 12:05 PM · Restricted Project, Restricted Project, Restricted Project

Sat, Mar 18

yota9 accepted D146215: [BOLT] Reject symbols pointing to section end.

LGTM, but let's wait next week plz, maybe @rafauler have some other thoughts :)

Sat, Mar 18, 4:46 AM · Restricted Project, Restricted Project

Fri, Mar 17

yota9 added a comment to D146215: [BOLT] Reject symbols pointing to section end.

LGTM, but small nit - I would swap this new condition with the " if (!Section->isText()) " condition above, since this one is more "univesal" and might appear not inly in text section. And although currently it does not really matter it probably better from the logical standpoint.

Fri, Mar 17, 12:28 PM · Restricted Project, Restricted Project
yota9 committed rGf9bf9f925e37: [BOLT] Add .relr.dyn section support (authored by yota9).
[BOLT] Add .relr.dyn section support
Fri, Mar 17, 6:27 AM · Restricted Project
yota9 closed D146085: [BOLT] Add .relr.dyn section support.
Fri, Mar 17, 6:26 AM · Restricted Project, Restricted Project

Thu, Mar 16

yota9 updated the diff for D146085: [BOLT] Add .relr.dyn section support.

Address comments

Thu, Mar 16, 8:22 AM · Restricted Project, Restricted Project
yota9 added inline comments to D146085: [BOLT] Add .relr.dyn section support.
Thu, Mar 16, 8:18 AM · Restricted Project, Restricted Project

Wed, Mar 15

yota9 updated the diff for D146085: [BOLT] Add .relr.dyn section support.

Fix merge

Wed, Mar 15, 12:25 AM · Restricted Project, Restricted Project

Tue, Mar 14

yota9 requested review of D146085: [BOLT] Add .relr.dyn section support.
Tue, Mar 14, 1:10 PM · Restricted Project, Restricted Project
yota9 committed rG207ea5f2e4c3: [BOLT] Add writable segment for allocatable sections (authored by yota9).
[BOLT] Add writable segment for allocatable sections
Tue, Mar 14, 1:07 PM · Restricted Project
yota9 closed D143390: [BOLT] Add writable segment for allocatable sections.
Tue, Mar 14, 1:07 PM · Restricted Project, Restricted Project

Mon, Mar 13

yota9 added a comment to D145687: [BOLT] Add minimal RISC-V 64-bit support.

Thank you for this patch :)

Mon, Mar 13, 1:43 PM · Restricted Project, Restricted Project
yota9 committed rG7117af529ebd: [BOLT] Improve dynamic relocations support for CI (authored by yota9).
[BOLT] Improve dynamic relocations support for CI
Mon, Mar 13, 3:04 AM · Restricted Project
yota9 committed rG40b273998af1: [BOLT] Pass instrumentation-file arg for X86 xmm test (authored by yota9).
[BOLT] Pass instrumentation-file arg for X86 xmm test
Mon, Mar 13, 3:03 AM · Restricted Project
yota9 closed D144865: [BOLT] Pass instrumentation-file arg for X86 xmm test.
Mon, Mar 13, 3:03 AM · Restricted Project, Restricted Project
yota9 closed D143748: [BOLT] Improve dynamic relocations support for CI.
Mon, Mar 13, 3:03 AM · Restricted Project, Restricted Project

Thu, Mar 9

yota9 added a comment to D143390: [BOLT] Add writable segment for allocatable sections.

@rafauler Gentle ping

Thu, Mar 9, 12:31 PM · Restricted Project, Restricted Project

Tue, Mar 7

yota9 added a reviewer for D145465: [BOLT][NFC] Return instruction list from createInstrIncMemory: Elvina.

@Elvina Please check :)
LGTM

Tue, Mar 7, 12:24 AM · Restricted Project, Restricted Project

Fri, Mar 3

yota9 accepted D145202: [BOLT][Instrumentation] Preserve red zone for functions with tail calls only.

Thank you!

Fri, Mar 3, 12:49 AM · Restricted Project, Restricted Project

Tue, Feb 28

yota9 added inline comments to D143390: [BOLT] Add writable segment for allocatable sections.
Tue, Feb 28, 2:52 PM · Restricted Project, Restricted Project
yota9 added inline comments to D143748: [BOLT] Improve dynamic relocations support for CI.
Tue, Feb 28, 12:37 PM · Restricted Project, Restricted Project
yota9 updated the diff for D143748: [BOLT] Improve dynamic relocations support for CI.

Add comments to code

Tue, Feb 28, 12:37 PM · Restricted Project, Restricted Project
yota9 updated the diff for D143390: [BOLT] Add writable segment for allocatable sections.

Add static flag to test

Tue, Feb 28, 10:50 AM · Restricted Project, Restricted Project
yota9 updated the diff for D143390: [BOLT] Add writable segment for allocatable sections.

Fix last segment size

Tue, Feb 28, 8:06 AM · Restricted Project, Restricted Project

Mon, Feb 27

yota9 added a comment to D144653: [BOLT][AArch64] ST_Function symbols start a CODE interval.

@sebpop But it is wrong behaviour. All the symbols after mmaping symbol are considered to be that type before new symbols is located. It is not per-symbol thing

Mon, Feb 27, 10:38 PM · Restricted Project, Restricted Project, Restricted Project
yota9 accepted D144807: [BOLT] Change call count output for ICF.

LGTM Thank you!

Mon, Feb 27, 1:47 PM · Restricted Project, Restricted Project
yota9 accepted D144806: [BOLT] Fix intermittent crash with instrumentation.

LGTM

Mon, Feb 27, 12:01 PM · Restricted Project, Restricted Project
yota9 added a comment to D144653: [BOLT][AArch64] ST_Function symbols start a CODE interval.

Well it looks to me that for some reason mapping symbols are corrupted. Basically it is not bolt problem, the only way you can overcome this issue without binary fixing is ignoring these functions manually with skip-funcs option. Even with this patch bolt won't produce working binary anyway.

Mon, Feb 27, 11:44 AM · Restricted Project, Restricted Project, Restricted Project
yota9 added inline comments to D144807: [BOLT] Change call count output for ICF.
Mon, Feb 27, 11:39 AM · Restricted Project, Restricted Project
yota9 added inline comments to D144806: [BOLT] Fix intermittent crash with instrumentation.
Mon, Feb 27, 7:04 AM · Restricted Project, Restricted Project
yota9 added inline comments to D144807: [BOLT] Change call count output for ICF.
Mon, Feb 27, 6:42 AM · Restricted Project, Restricted Project
yota9 added a comment to D144653: [BOLT][AArch64] ST_Function symbols start a CODE interval.

@maksfb I think you're right, probably mappings symbols has something to do here. Currently islands are not printed, but I think it is a good idea to add such functionality.
@sebpop I was unable to briefly find the sources of "lj_vm_ffi_call" function, probably it is auto generated, maybe it is using the same hack then openssl using .long directive to emit instruction using opcode.. Anyway please try to find the closest $d or $x symbol to the lj_vm_ffi_call function with symbol adress <= lj_vm_ffi_call address. If it is $d it means that the instruction would be interpreted like a data rather then code and we need to find the source of the problem somewhere where lj_vm_ffi_call function is created..

Mon, Feb 27, 6:19 AM · Restricted Project, Restricted Project, Restricted Project
yota9 requested review of D144865: [BOLT] Pass instrumentation-file arg for X86 xmm test.
Mon, Feb 27, 5:13 AM · Restricted Project, Restricted Project

Feb 23 2023

yota9 accepted D144593: fix check-bolt tests on arm64.

LGTM thanks

Feb 23 2023, 6:36 AM · Restricted Project, Restricted Project

Feb 22 2023

yota9 committed rGb0d1f87b5943: [BOLT] Fix data reoder for aarch64 (authored by yota9).
[BOLT] Fix data reoder for aarch64
Feb 22 2023, 5:01 AM · Restricted Project
yota9 closed D144095: [BOLT] Fix data reoder for aarch64.
Feb 22 2023, 5:01 AM · Restricted Project, Restricted Project

Feb 21 2023

yota9 accepted D143887: [BOLT][AArch64] Replace NOP with adrp in AdrRelaxationPass to preserve relative offsets..

LGTM, please check @rafaelauler comments.

Feb 21 2023, 1:30 PM · Restricted Project, Restricted Project, Restricted Project
yota9 added a comment to D144500: [BOLT] initial version of stale profile matching.

Wow, would definitely take a look to this patch, thank you!

Feb 21 2023, 8:48 AM · Restricted Project, Restricted Project

Feb 17 2023

yota9 updated subscribers of D144095: [BOLT] Fix data reoder for aarch64.

@rafaelauler Yes, I know about that. I don't really use it (although I think we can give it a try), but it seems to be working fine, the test in the RW segment patch shows it :)

Feb 17 2023, 11:32 AM · Restricted Project, Restricted Project

Feb 15 2023

yota9 updated the summary of D143390: [BOLT] Add writable segment for allocatable sections.
Feb 15 2023, 11:22 AM · Restricted Project, Restricted Project
yota9 updated the diff for D143390: [BOLT] Add writable segment for allocatable sections.

nit test

Feb 15 2023, 8:14 AM · Restricted Project, Restricted Project
yota9 updated the diff for D143390: [BOLT] Add writable segment for allocatable sections.

clang-format

Feb 15 2023, 8:11 AM · Restricted Project, Restricted Project
yota9 updated the diff for D143390: [BOLT] Add writable segment for allocatable sections.

Add test. The test is using reorder data pass and .data section which must appear in the writable segment.
@rafauler @maksfb gentle ping. Also please check D144095 D143748 . Thank you!

Feb 15 2023, 6:51 AM · Restricted Project, Restricted Project
yota9 requested review of D144095: [BOLT] Fix data reoder for aarch64.
Feb 15 2023, 5:20 AM · Restricted Project, Restricted Project

Feb 14 2023

yota9 updated the diff for D143748: [BOLT] Improve dynamic relocations support for CI.

clang format

Feb 14 2023, 1:07 PM · Restricted Project, Restricted Project
yota9 updated the diff for D143748: [BOLT] Improve dynamic relocations support for CI.

nit
@rafauler Gentle ping :)

Feb 14 2023, 10:54 AM · Restricted Project, Restricted Project

Feb 10 2023

yota9 requested review of D143748: [BOLT] Improve dynamic relocations support for CI.
Feb 10 2023, 8:51 AM · Restricted Project, Restricted Project

Feb 7 2023

yota9 updated the diff for D141234: [BOLT][Golang support] Core changes.

Change patch according to https://reviews.llvm.org/D143390
@maksfb @rafauler please review D143390 :)

Feb 7 2023, 10:57 AM · Restricted Project, Restricted Project

Feb 6 2023

yota9 updated the diff for D143085: [BOLT] Search section based on relocation symbol.

nit

Feb 6 2023, 3:23 PM · Restricted Project, Restricted Project
yota9 updated the diff for D143085: [BOLT] Search section based on relocation symbol.

@rafauler I've found out that we can make small linker scripts for lld, it uses it as a hint and adds missing sections by it self.

Feb 6 2023, 3:18 PM · Restricted Project, Restricted Project
yota9 updated the diff for D143085: [BOLT] Search section based on relocation symbol.

Address comments

Feb 6 2023, 12:23 PM · Restricted Project, Restricted Project
yota9 added inline comments to D143085: [BOLT] Search section based on relocation symbol.
Feb 6 2023, 12:14 PM · Restricted Project, Restricted Project
yota9 updated the summary of D143390: [BOLT] Add writable segment for allocatable sections.
Feb 6 2023, 5:46 AM · Restricted Project, Restricted Project
yota9 added a comment to D143085: [BOLT] Search section based on relocation symbol.

Gentle ping @maksfb @rafauler

Feb 6 2023, 5:21 AM · Restricted Project, Restricted Project
yota9 updated subscribers of D141234: [BOLT][Golang support] Core changes.

New writable segment creation was re-developed and separate review was created, let's start from there https://reviews.llvm.org/D143390 @maksfb @rafaelauler @Amir

Feb 6 2023, 5:20 AM · Restricted Project, Restricted Project
yota9 requested review of D143390: [BOLT] Add writable segment for allocatable sections.
Feb 6 2023, 5:18 AM · Restricted Project, Restricted Project
yota9 accepted D141848: [Test] Fix YAML mapping keys duplication. NFC..

BOLT part LGTM

Feb 6 2023, 2:31 AM · Restricted Project, Restricted Project

Feb 2 2023

yota9 added a comment to D143085: [BOLT] Search section based on relocation symbol.

Gentle reminder

Feb 2 2023, 1:00 PM · Restricted Project, Restricted Project
yota9 accepted D142572: [AArch64] fix bug #55005 handle DW_CFA_GNU_window_save.

LGTM

Feb 2 2023, 11:49 AM · Restricted Project, Restricted Project

Feb 1 2023

yota9 added a comment to D142572: [AArch64] fix bug #55005 handle DW_CFA_GNU_window_save.

Overall LGTM, although usually we have a policy to minimise yaml tests as much as we can, removing unneeded for the tests sections, symbols, data & etc.

Feb 1 2023, 8:39 AM · Restricted Project, Restricted Project
yota9 updated the diff for D143085: [BOLT] Search section based on relocation symbol.

nit

Feb 1 2023, 8:29 AM · Restricted Project, Restricted Project
yota9 requested review of D143085: [BOLT] Search section based on relocation symbol.
Feb 1 2023, 8:28 AM · Restricted Project, Restricted Project

Jan 28 2023

yota9 added inline comments to D141234: [BOLT][Golang support] Core changes.
Jan 28 2023, 6:19 AM · Restricted Project, Restricted Project
yota9 added a comment to D141234: [BOLT][Golang support] Core changes.

I'm not sure what causes clang-format to complain about BF.h , locally I'm unable to repeat this.
Anyway I've commented about 3 main problems in this patch. I would be happy to discuss them and submit the golang support patches one-by-one, it would be the most right and simple away I think.
@maksfb @rafauler @Amir

Jan 28 2023, 6:05 AM · Restricted Project, Restricted Project

Jan 26 2023

yota9 added a comment to D142572: [AArch64] fix bug #55005 handle DW_CFA_GNU_window_save.

I'm not sure why check-bolt doesn't work for you, it works fine for me..
Plus we've got more complicated tests than this one, probably it is something in env causes the problem. I don't say that there is no problem, but I would say that probably we need another test or maybe pre-built binary in yaml format, we have some tests like that. Also be aware that %cflags contains nostdlib, so no startup files (that seems to have a problem) would be linked in...

Jan 26 2023, 9:18 AM · Restricted Project, Restricted Project
yota9 added a comment to D142572: [AArch64] fix bug #55005 handle DW_CFA_GNU_window_save.

Please try make check-bolt. Although test seems to be too easy, I doubt that it could check the problem..

Jan 26 2023, 8:52 AM · Restricted Project, Restricted Project
yota9 updated the diff for D141234: [BOLT][Golang support] Core changes.

Small changes

Jan 26 2023, 6:27 AM · Restricted Project, Restricted Project

Jan 18 2023

yota9 accepted D141733: [BOLT][NFC] Replace ambiguous BinarySection::isReadOnly with isWritable.

Nice, thank you!

Jan 18 2023, 1:48 PM · Restricted Project, Restricted Project
yota9 accepted D141983: [BOLT][NFC] Remove AArch64 override for evaluateBranch.

LGTM either, thank you!

Jan 18 2023, 1:08 PM · Restricted Project, Restricted Project

Jan 11 2023

yota9 accepted D141465: [BOLT][AArch64] add lock to FixRelaxations pass.

Thanks

Jan 11 2023, 2:09 AM · Restricted Project, Restricted Project, Restricted Project

Jan 9 2023

yota9 updated the summary of D141234: [BOLT][Golang support] Core changes.
Jan 9 2023, 5:24 AM · Restricted Project, Restricted Project

Jan 8 2023

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

Hello @Amir ! As you suggested I'm starting to splitting this patch to the parts. I suggest not to use stack of changes, it would be more convenient for me to post group of changes one-by-one, you can refer to the rest of the changes on this patch. As I understand your idea although smaller changes by it self are not very useful we still can commit them one by one due to the size of this patch. So the first change was prepared for core: https://reviews.llvm.org/D141234 . Thank you!

Jan 8 2023, 1:49 PM · Restricted Project, Restricted Project
yota9 requested review of D141234: [BOLT][Golang support] Core changes.
Jan 8 2023, 1:42 PM · Restricted Project, Restricted Project
yota9 updated the summary of D124347: [BOLT] RFC: Add golang support.
Jan 8 2023, 12:43 PM · Restricted Project, Restricted Project
yota9 updated the diff for D124347: [BOLT] RFC: Add golang support.

Rebase & some updates

Jan 8 2023, 12:36 PM · Restricted Project, Restricted Project

Jan 7 2023

yota9 added a comment to D140425: [BOLT] Fix hugify on new Linux kernels.

@maksfb I see, thank you. I assume that the application code becomes locked due to some kind of meta optimisations for the services on the kernel level or interpreter , probably it is not common situation... Because of that I don't really think this munlock call may harm somehow, so LGTM.

Jan 7 2023, 10:44 AM · Restricted Project, Restricted Project
yota9 added a comment to D129089: [BOLT] Fix concurrent hash table modification in the instrumentation runtime.

@michoecho
Oh, you are totally right about the locks, I've briefly checked that moment and made a wrong assumption, thank you!
As for tryLocks I'm totally agree with you that basically it should have the same behaviour as lock. But I don't see how __bolt_instr_data_dump could be called from signal handler. Basically we've got 2 situation when this function is called - when DT_FINI is called or (my situation) when we've got forked process waiting for the parent to be dead. The DT_FINI (probably) never get called from the signal handler and our fork doesn't have signal handlers.
Plus when the deadlock occurs the parent process is already normally exited at that moment, so no deadlock should be at that moment.. So I'm still confused why it happens sometimes.

Jan 7 2023, 10:26 AM · Restricted Project, Restricted Project

Dec 22 2022

yota9 committed rG17ed8f29287b: [BOLT][AArch64] Handle adrp+ld64 linker relaxations (authored by yota9).
[BOLT][AArch64] Handle adrp+ld64 linker relaxations
Dec 22 2022, 1:20 PM · Restricted Project
yota9 closed D138097: [BOLT][AArch64] Handle adrp+ld64 linker relaxations.
Dec 22 2022, 1:20 PM · Restricted Project, Restricted Project

Dec 21 2022

yota9 updated the diff for D138097: [BOLT][AArch64] Handle adrp+ld64 linker relaxations.

The CI lld does not support this relaxation for now, revert test to prebuilt blob.

Dec 21 2022, 9:15 AM · Restricted Project, Restricted Project
yota9 updated the diff for D138097: [BOLT][AArch64] Handle adrp+ld64 linker relaxations.

Thanks @Amir ! For now I would probably just remove this option, I don't think it is really necessary to be honest :)

Dec 21 2022, 8:50 AM · Restricted Project, Restricted Project
yota9 added a comment to D140425: [BOLT] Fix hugify on new Linux kernels.

@maksfb I'm just not completely understand why mlock has something todo with it? Why the binary memory even get locked on startup?

Dec 21 2022, 4:22 AM · Restricted Project, Restricted Project

Dec 20 2022

yota9 added a comment to D140425: [BOLT] Fix hugify on new Linux kernels.

Could you please provide related kernel commit? Thank you!

Dec 20 2022, 12:44 PM · Restricted Project, Restricted Project
yota9 added a comment to D138097: [BOLT][AArch64] Handle adrp+ld64 linker relaxations.

It seems to be that CI prebuilt lld is a bit out of date and does not support --relax option. I may remove this since it is the default, although I think it is probably good to have one. What do you think @Amir ?

Dec 20 2022, 7:03 AM · Restricted Project, Restricted Project
yota9 updated the diff for D138097: [BOLT][AArch64] Handle adrp+ld64 linker relaxations.

Add lld relax option

Dec 20 2022, 6:37 AM · Restricted Project, Restricted Project
yota9 updated the diff for D138097: [BOLT][AArch64] Handle adrp+ld64 linker relaxations.

Replace test

Dec 20 2022, 6:30 AM · Restricted Project, Restricted Project
yota9 added inline comments to D138097: [BOLT][AArch64] Handle adrp+ld64 linker relaxations.
Dec 20 2022, 6:29 AM · Restricted Project, Restricted Project

Dec 16 2022

yota9 updated the diff for D138097: [BOLT][AArch64] Handle adrp+ld64 linker relaxations.

Address comments

Dec 16 2022, 6:33 AM · Restricted Project, Restricted Project
yota9 updated the summary of D138097: [BOLT][AArch64] Handle adrp+ld64 linker relaxations.
Dec 16 2022, 6:32 AM · Restricted Project, Restricted Project