Page MenuHomePhabricator

avl (Alexey Lapshin)
User

Projects

User does not belong to any projects.

User Details

User Since
Aug 17 2017, 6:34 AM (162 w, 2 d)

Recent Activity

Yesterday

avl updated the diff for D88213: [llvm-objcopy][NFC] refactor error handling. part 2..

addressed comments(removed variable renaming, removed std::move() usage, used std::remove_if() implementation.

Fri, Sep 25, 3:54 AM · Restricted Project
avl added inline comments to D88213: [llvm-objcopy][NFC] refactor error handling. part 2..
Fri, Sep 25, 3:51 AM · Restricted Project
avl added inline comments to D88213: [llvm-objcopy][NFC] refactor error handling. part 2..
Fri, Sep 25, 3:38 AM · Restricted Project
avl added inline comments to D88213: [llvm-objcopy][NFC] refactor error handling. part 2..
Fri, Sep 25, 3:16 AM · Restricted Project
avl added inline comments to D88213: [llvm-objcopy][NFC] refactor error handling. part 2..
Fri, Sep 25, 3:10 AM · Restricted Project

Thu, Sep 24

avl updated the diff for D88213: [llvm-objcopy][NFC] refactor error handling. part 2..

renamed variable.

Thu, Sep 24, 9:53 AM · Restricted Project
avl committed rG4da6927de470: Fix a builtbot failure after 3ed04f93e30121867a813a220452b97aebeb1730. (authored by avl).
Fix a builtbot failure after 3ed04f93e30121867a813a220452b97aebeb1730.
Thu, Sep 24, 5:10 AM
avl committed rG3ed04f93e301: [llvm-objcopy][NFC] refactor error handling. part 1. (authored by avl).
[llvm-objcopy][NFC] refactor error handling. part 1.
Thu, Sep 24, 4:39 AM
avl closed D88113: [llvm-objcopy][NFC] refactor error handling. part 1..
Thu, Sep 24, 4:39 AM · Restricted Project
avl requested review of D88213: [llvm-objcopy][NFC] refactor error handling. part 2..
Thu, Sep 24, 4:02 AM · Restricted Project
avl updated the diff for D88113: [llvm-objcopy][NFC] refactor error handling. part 1..

move usage of createFileError at high level.

Thu, Sep 24, 3:02 AM · Restricted Project
avl added inline comments to D88113: [llvm-objcopy][NFC] refactor error handling. part 1..
Thu, Sep 24, 2:46 AM · Restricted Project
avl updated the diff for D88113: [llvm-objcopy][NFC] refactor error handling. part 1..

replaced createStringError with createFileError, renamed variable.

Thu, Sep 24, 2:06 AM · Restricted Project
avl added inline comments to D88113: [llvm-objcopy][NFC] refactor error handling. part 1..
Thu, Sep 24, 1:54 AM · Restricted Project
avl added inline comments to D74169: [WIP][LLD][ELF][DebugInfo] Remove obsolete debug info..
Thu, Sep 24, 1:26 AM · debug-info, lld, Restricted Project
avl updated the diff for D88113: [llvm-objcopy][NFC] refactor error handling. part 1..

renamed variables.

Thu, Sep 24, 1:10 AM · Restricted Project
avl added inline comments to D88113: [llvm-objcopy][NFC] refactor error handling. part 1..
Thu, Sep 24, 1:05 AM · Restricted Project

Wed, Sep 23

avl updated the diff for D88113: [llvm-objcopy][NFC] refactor error handling. part 1..

addressed comments.

Wed, Sep 23, 8:12 AM · Restricted Project
avl added inline comments to D88113: [llvm-objcopy][NFC] refactor error handling. part 1..
Wed, Sep 23, 7:07 AM · Restricted Project
avl updated the diff for D88113: [llvm-objcopy][NFC] refactor error handling. part 1..

addressed comments.

Wed, Sep 23, 4:26 AM · Restricted Project
avl added inline comments to D88113: [llvm-objcopy][NFC] refactor error handling. part 1..
Wed, Sep 23, 2:33 AM · Restricted Project

Tue, Sep 22

avl requested review of D88113: [llvm-objcopy][NFC] refactor error handling. part 1..
Tue, Sep 22, 1:19 PM · Restricted Project
avl added a comment to D87723: [dsymutil][DWARFLinker][NFC] Make interface of AddressMap more general..

What's the scenario where you run the DWARF linker with already-linked binaries?

Tue, Sep 22, 12:57 AM · Restricted Project

Mon, Sep 21

avl added a comment to D85614: [TRE] Reland: allow TRE for non-capturing calls..

Among all the attributes that can be attached to an argument of a tail call, byval is unusual. It significantly changes the semantics of the call: when the call executes, instead of passing the pointer itself, it makes a copy of the data behind the pointer.

Consider, for example, the following testcase on x86-64:

typedef struct A { long long x[100]; } A;
A global;
int printf(const char*, ...);
void dostuff(A arg, int i) { if (i==100) return; arg.x[5]++; printf("%lld\n", arg.x[i]); dostuff(global, i+1); }
__attribute((optnone)) int main() { dostuff(global, 0); }

dostuff has a byval argument. At the point of the call, the compiled code is supposed to copy that argument onto the stack, so in the callee the stack contains the values of all the array elements. If this is working correctly, the fifth line of the output will be "1": each call copies the value from the global, so we only ever increment the array element once. (With optimizations enabled, clang currently gets this wrong.)

Mon, Sep 21, 5:24 AM · Restricted Project
avl added a comment to D87987: [llvm-objcopy][NFC] allow to redefine error handling..

Do we actually have any non-fatal errors in llvm-objcopy etc currently?

yes. there are some. f.e. CopyConfig.cpp::parseObjcopyOptions uses ErrorCallback to decide whether the error would be fatal or non-fatal.
I can leave this callback for places where it is already used and convert interfaces into Expected and Error usage in other places.

Mon, Sep 21, 4:01 AM · Restricted Project

Sun, Sep 20

avl updated the diff for D87987: [llvm-objcopy][NFC] allow to redefine error handling..

fixed several minor mistakes.

Sun, Sep 20, 2:14 PM · Restricted Project
avl requested review of D87987: [llvm-objcopy][NFC] allow to redefine error handling..
Sun, Sep 20, 4:55 AM · Restricted Project

Thu, Sep 17

avl added a comment to D74169: [WIP][LLD][ELF][DebugInfo] Remove obsolete debug info..

@ayermolo Hi Alexander, I rebased on latest but did not check whether current size/performance numbers match with reported previously.

Thu, Sep 17, 4:42 AM · debug-info, lld, Restricted Project
avl updated the diff for D74169: [WIP][LLD][ELF][DebugInfo] Remove obsolete debug info..

rebased.

Thu, Sep 17, 4:21 AM · debug-info, lld, Restricted Project

Tue, Sep 15

avl requested review of D87723: [dsymutil][DWARFLinker][NFC] Make interface of AddressMap more general..
Tue, Sep 15, 1:48 PM · Restricted Project
avl added inline comments to D80163: [X86][VARARG] Avoid spilling xmm registers for va_start..
Tue, Sep 15, 11:00 AM · Restricted Project
avl added inline comments to D80163: [X86][VARARG] Avoid spilling xmm registers for va_start..
Tue, Sep 15, 4:51 AM · Restricted Project

Mon, Sep 14

avl added a comment to D80163: [X86][VARARG] Avoid spilling xmm registers for va_start..

@RKSimon @craig.topper Would you mind to take a look at this review, please?

Mon, Sep 14, 3:01 AM · Restricted Project
avl added a comment to D85614: [TRE] Reland: allow TRE for non-capturing calls..

ping.

Mon, Sep 14, 2:55 AM · Restricted Project

Sun, Sep 6

avl updated the diff for D80163: [X86][VARARG] Avoid spilling xmm registers for va_start..

rebased,
retested(bootstrap with check-all),
added i386/i686 triples into X86/x32-va_start.ll,
regenerated tests with update_llc_test_checks.py.

Sun, Sep 6, 11:17 PM · Restricted Project

Mon, Aug 31

avl added a comment to D85614: [TRE] Reland: allow TRE for non-capturing calls..

@efriedma would you mind to take a look at this patch once more, please?

Mon, Aug 31, 7:21 AM · Restricted Project
avl updated the diff for D86539: [WIP][Debuginfo] dsymutil-like tool for ELF..

cure tests.

Mon, Aug 31, 7:17 AM · debug-info, Restricted Project

Aug 27 2020

avl updated the diff for D86539: [WIP][Debuginfo] dsymutil-like tool for ELF..

updated with recomendations from the thread.

Aug 27 2020, 9:33 AM · debug-info, Restricted Project

Aug 25 2020

avl added a comment to D86539: [WIP][Debuginfo] dsymutil-like tool for ELF..

The link to the llvm-dev with the proposal - http://lists.llvm.org/pipermail/llvm-dev/2020-August/144579.html

Aug 25 2020, 7:31 AM · debug-info, Restricted Project
avl requested review of D86539: [WIP][Debuginfo] dsymutil-like tool for ELF..
Aug 25 2020, 7:04 AM · debug-info, Restricted Project
avl added a comment to D85614: [TRE] Reland: allow TRE for non-capturing calls..

ping.

Aug 25 2020, 2:36 AM · Restricted Project

Aug 17 2020

avl added a comment to D80163: [X86][VARARG] Avoid spilling xmm registers for va_start..

Do we need better i686- triple testing?

Aug 17 2020, 5:33 AM · Restricted Project
avl added a comment to D85614: [TRE] Reland: allow TRE for non-capturing calls..

ping.

Aug 17 2020, 12:52 AM · Restricted Project

Aug 16 2020

avl added a comment to D80163: [X86][VARARG] Avoid spilling xmm registers for va_start..

Do we need better i686- triple testing?

Aug 16 2020, 2:49 PM · Restricted Project

Aug 9 2020

avl requested review of D85614: [TRE] Reland: allow TRE for non-capturing calls..
Aug 9 2020, 9:57 AM · Restricted Project

Aug 6 2020

avl added a comment to D84825: [ELF] Change tombstone values to (.debug_ranges/.debug_loc) 1 and (other .debug_*) 0.

That is a fair argument for the "1" approach for .debug_ranges (although I doubt in practice it makes any difference). It doesn't really help .debug_loc though, since the behaviour there is currently broken in BFD land.

Aug 6 2020, 3:07 AM · Restricted Project
avl committed rGc6eb76093c3b: [dsymutil] Disable dsymutil/X86/reproducer.test on windows. (authored by avl).
[dsymutil] Disable dsymutil/X86/reproducer.test on windows.
Aug 6 2020, 2:52 AM
avl closed D85294: [dsymutil] Disable dsymutil/X86/reproducer.test on windows..
Aug 6 2020, 2:51 AM · Restricted Project
avl added a comment to D84825: [ELF] Change tombstone values to (.debug_ranges/.debug_loc) 1 and (other .debug_*) 0.

However, we can use ANY other single value (1, 2, 123456, -2 etc) except -1 which also has a special meaning, because semantically, those values all result in an empty range (-2, -2)/(1, 1) etc. There is no need for special handling within consumers for any given value in this case (or at least there shouldn't be), and thus the specific BFD-identical value for .debug_ranges shouldn't matter.

Aug 6 2020, 1:47 AM · Restricted Project

Aug 5 2020

avl requested review of D85294: [dsymutil] Disable dsymutil/X86/reproducer.test on windows..
Aug 5 2020, 4:47 AM · Restricted Project

Jul 12 2020

avl added a comment to D82269: [TRE][NFC] Refactor Basic Block Processing.

I'll wait and rebase after D82085.

Jul 12 2020, 3:03 PM · Restricted Project
avl committed rG0a01fc96e24b: Revert "[TRE] allow TRE for non-capturing calls." (authored by avl).
Revert "[TRE] allow TRE for non-capturing calls."
Jul 12 2020, 2:41 PM
avl added a reverting change for rGf7907e9d223d: [TRE] allow TRE for non-capturing calls.: rG0a01fc96e24b: Revert "[TRE] allow TRE for non-capturing calls.".
Jul 12 2020, 2:41 PM

Jul 11 2020

avl committed rGf7907e9d223d: [TRE] allow TRE for non-capturing calls. (authored by avl).
[TRE] allow TRE for non-capturing calls.
Jul 11 2020, 4:03 AM
avl closed D82085: [TRE] allow TRE for non-capturing calls..
Jul 11 2020, 4:03 AM · Restricted Project, Restricted Project

Jul 9 2020

avl added a comment to D82085: [TRE] allow TRE for non-capturing calls..

Thank you, for the review.

Jul 9 2020, 4:20 PM · Restricted Project, Restricted Project
avl updated the diff for D82085: [TRE] allow TRE for non-capturing calls..

addressed comments:

Jul 9 2020, 12:01 PM · Restricted Project, Restricted Project

Jul 8 2020

avl added inline comments to D82085: [TRE] allow TRE for non-capturing calls..
Jul 8 2020, 4:43 PM · Restricted Project, Restricted Project
avl updated the diff for D82085: [TRE] allow TRE for non-capturing calls..

addressed comments.

Jul 8 2020, 4:06 PM · Restricted Project, Restricted Project
avl added inline comments to D82085: [TRE] allow TRE for non-capturing calls..
Jul 8 2020, 8:59 AM · Restricted Project, Restricted Project

Jul 2 2020

avl added a comment to D82085: [TRE] allow TRE for non-capturing calls..

@efriedma What do you think about current state of this patch? Is it OK?

Jul 2 2020, 1:31 PM · Restricted Project, Restricted Project
avl updated the diff for D82085: [TRE] allow TRE for non-capturing calls..

rebased.

Jul 2 2020, 8:05 AM · Restricted Project, Restricted Project

Jun 28 2020

avl added a comment to D80163: [X86][VARARG] Avoid spilling xmm registers for va_start..

ping.

Jun 28 2020, 11:25 PM · Restricted Project
avl added a comment to D82085: [TRE] allow TRE for non-capturing calls..

ping.

Jun 28 2020, 11:25 PM · Restricted Project, Restricted Project

Jun 25 2020

avl updated the diff for D82085: [TRE] allow TRE for non-capturing calls..

removed early check for TRE candidates from canTRE().

Jun 25 2020, 11:20 AM · Restricted Project, Restricted Project
avl added inline comments to D82085: [TRE] allow TRE for non-capturing calls..
Jun 25 2020, 10:46 AM · Restricted Project, Restricted Project
avl added inline comments to D82085: [TRE] allow TRE for non-capturing calls..
Jun 25 2020, 8:34 AM · Restricted Project, Restricted Project

Jun 24 2020

avl updated the diff for D82085: [TRE] allow TRE for non-capturing calls..

check valid TRE candidate into findTRECandidate()().

Jun 24 2020, 3:47 PM · Restricted Project, Restricted Project
avl added inline comments to D82085: [TRE] allow TRE for non-capturing calls..
Jun 24 2020, 2:40 PM · Restricted Project, Restricted Project
avl updated the diff for D82085: [TRE] allow TRE for non-capturing calls..

removed usages of AllocaDerivedValueTracker from canTRE().

Jun 24 2020, 8:36 AM · Restricted Project, Restricted Project
avl added inline comments to D82085: [TRE] allow TRE for non-capturing calls..
Jun 24 2020, 8:04 AM · Restricted Project, Restricted Project

Jun 23 2020

avl added inline comments to D82085: [TRE] allow TRE for non-capturing calls..
Jun 23 2020, 3:38 PM · Restricted Project, Restricted Project
avl updated the diff for D82085: [TRE] allow TRE for non-capturing calls..

addressed comments:

Jun 23 2020, 2:32 PM · Restricted Project, Restricted Project
avl added inline comments to D82085: [TRE] allow TRE for non-capturing calls..
Jun 23 2020, 1:59 PM · Restricted Project, Restricted Project
avl added inline comments to D82085: [TRE] allow TRE for non-capturing calls..
Jun 23 2020, 12:21 PM · Restricted Project, Restricted Project
avl added inline comments to D82085: [TRE] allow TRE for non-capturing calls..
Jun 23 2020, 1:00 AM · Restricted Project, Restricted Project

Jun 22 2020

avl added inline comments to D82085: [TRE] allow TRE for non-capturing calls..
Jun 22 2020, 4:40 PM · Restricted Project, Restricted Project
avl added inline comments to D82085: [TRE] allow TRE for non-capturing calls..
Jun 22 2020, 2:31 PM · Restricted Project, Restricted Project
avl closed D76303: [Pipeliner] Fix the bug in pragma that disables the pipeliner.

Already integrated by this commit - https://reviews.llvm.org/rGa04ab2ec08014d36337d686d43ecef7668622f1b

Jun 22 2020, 8:02 AM · Restricted Project
avl updated subscribers of D82085: [TRE] allow TRE for non-capturing calls..
Jun 22 2020, 4:16 AM · Restricted Project, Restricted Project
avl retitled D82085: [TRE] allow TRE for non-capturing calls. from [TRE] markTails marks call sites as tailcalls though some of them are not. to [TRE] allow TRE for non-capturing calls..
Jun 22 2020, 4:16 AM · Restricted Project, Restricted Project
avl updated the diff for D82085: [TRE] allow TRE for non-capturing calls..
  1. deleted code doing more strict tailcall marking.
  2. left removal of "AllCallsAreTailCalls".
  3. added check for non-capturing calls while tracking alloca.
  4. re-titled the patch.
Jun 22 2020, 4:16 AM · Restricted Project, Restricted Project

Jun 19 2020

avl abandoned D59553: [WIP][LLD][ELF][DebugInfo] Use predefined value to mark debug address ranges pointing to deleted code..
Jun 19 2020, 5:21 AM · lld, Restricted Project
avl added a comment to D59553: [WIP][LLD][ELF][DebugInfo] Use predefined value to mark debug address ranges pointing to deleted code..

abandoned in favor D81784

Jun 19 2020, 5:21 AM · lld, Restricted Project

Jun 18 2020

avl added a comment to D82085: [TRE] allow TRE for non-capturing calls..

It makes sense to teach tail recursion elimination not to depend so heavily on tail markings. But I don't think that implies we want to mess with the markings themselves.

Jun 18 2020, 2:15 PM · Restricted Project, Restricted Project
avl added a comment to D82085: [TRE] allow TRE for non-capturing calls..

It's OK to set "tail" on any call that satisfies these requirements (from https://llvm.org/docs/LangRef.html#call-instruction): "Both markers [tail and musttail] imply that the callee does not access allocas from the caller. The tail marker additionally implies that the callee does not access varargs from the caller."

Jun 18 2020, 12:34 PM · Restricted Project, Restricted Project
avl created D82085: [TRE] allow TRE for non-capturing calls..
Jun 18 2020, 5:57 AM · Restricted Project, Restricted Project
avl added a comment to D81784: [ELF] Resolve relocations in .debug_* referencing (discarded symbols or ICF folded section symbols) to tombstone values.

I am happy with it. There is a small comment inside. other than that lgtm.

Jun 18 2020, 4:19 AM · Restricted Project
avl accepted D81784: [ELF] Resolve relocations in .debug_* referencing (discarded symbols or ICF folded section symbols) to tombstone values.
Jun 18 2020, 4:19 AM · Restricted Project

Jun 15 2020

avl added a comment to D80163: [X86][VARARG] Avoid spilling xmm registers for va_start..

ping.

Jun 15 2020, 3:14 AM · Restricted Project

Jun 12 2020

avl updated the diff for D59553: [WIP][LLD][ELF][DebugInfo] Use predefined value to mark debug address ranges pointing to deleted code..

addressed comments.
(not used yaml, since there is a request to use asm.
added tests for various architectures, not added test for COMDAT
sections yet)

Jun 12 2020, 1:08 PM · lld, Restricted Project

Jun 11 2020

avl added a comment to D59553: [WIP][LLD][ELF][DebugInfo] Use predefined value to mark debug address ranges pointing to deleted code..

would address all comments and rewrite test case with yaml.

Jun 11 2020, 7:09 AM · lld, Restricted Project

Jun 10 2020

avl updated the diff for D59553: [WIP][LLD][ELF][DebugInfo] Use predefined value to mark debug address ranges pointing to deleted code..

removed backward compatibility option.

Jun 10 2020, 9:17 AM · lld, Restricted Project

Jun 9 2020

avl added a comment to D59553: [WIP][LLD][ELF][DebugInfo] Use predefined value to mark debug address ranges pointing to deleted code..

It looks like most common opinion is to not to create an option. Will remove it and update the patch.

Jun 9 2020, 1:48 PM · lld, Restricted Project

Jun 8 2020

avl added a comment to D59553: [WIP][LLD][ELF][DebugInfo] Use predefined value to mark debug address ranges pointing to deleted code..

Case 2 should not occur, I think; the compiler should not produce a range where low/high point to different sections.

Jun 8 2020, 2:25 PM · lld, Restricted Project
avl added a comment to D59553: [WIP][LLD][ELF][DebugInfo] Use predefined value to mark debug address ranges pointing to deleted code..

Yeah, I just worry then it becomes another source of inconsistency between consumers/producers/etc. Perhaps we could name it in some way that's clear that it might be removed later - to encourage people to either reach out to us to explain their use case, or to invest a bit more in working with the new default behavior.

Jun 8 2020, 12:07 PM · lld, Restricted Project
avl added a comment to D59553: [WIP][LLD][ELF][DebugInfo] Use predefined value to mark debug address ranges pointing to deleted code..

I'd like to avoid adding a flag at all, if possible.

Jun 8 2020, 11:02 AM · lld, Restricted Project
avl added a comment to D59553: [WIP][LLD][ELF][DebugInfo] Use predefined value to mark debug address ranges pointing to deleted code..

Do we have agreement on following option syntax;

Jun 8 2020, 5:25 AM · lld, Restricted Project

Jun 1 2020

avl added a comment to D80163: [X86][VARARG] Avoid spilling xmm registers for va_start..

ping

Jun 1 2020, 5:19 AM · Restricted Project

May 31 2020

avl retitled D59553: [WIP][LLD][ELF][DebugInfo] Use predefined value to mark debug address ranges pointing to deleted code. from [LLD][ELF][DebugInfo] llvm-symbolizer shows incorrect source line info if --gc-sections used to [WIP][LLD][ELF][DebugInfo] Use predefined value to mark debug address ranges pointing to deleted code..
May 31 2020, 11:57 PM · lld, Restricted Project