Page MenuHomePhabricator

evgeny777 (Eugene Leviant)
User

Projects

User does not belong to any projects.

User Details

User Since
Sep 1 2015, 3:36 AM (194 w, 4 h)

Recent Activity

Today

evgeny777 committed rGec767b0b4acf: [llvm-objcopy] Strip file symbols with --strip-unneeded (authored by evgeny777).
[llvm-objcopy] Strip file symbols with --strip-unneeded
Tue, May 21, 2:09 AM
evgeny777 committed rL361231: [llvm-objcopy] Strip file symbols with --strip-unneeded.
[llvm-objcopy] Strip file symbols with --strip-unneeded
Tue, May 21, 2:09 AM
evgeny777 closed D61641: [llvm-objcopy] Strip file symbols with --strip-unneeded.
Tue, May 21, 2:09 AM · Restricted Project

Yesterday

evgeny777 added a comment to D56672: [HWASAN] Instrument globals.

I think it should be possible if you make the relocation point to the object itself (which will have local linkage) and not the alias that you're creating.

Mon, May 20, 6:29 AM

Fri, May 17

evgeny777 added a comment to D56672: [HWASAN] Instrument globals.

Could this use a relative relocation so that we aren't paying the cost of a dynamic relocation for each global?

@pcc Sorry I missed your comment

Fri, May 17, 12:09 PM

Thu, May 16

evgeny777 added a comment to D61672: [llvm-objcopy] Allow strip symtab in executables and DSOs.

I'm still confused. If the behavior intended only has to do with the existence of relocations why are we making this change? A clear difference of behavior needs to be pointed out and that hasn't been made clear.

Thu, May 16, 11:33 PM

Wed, May 15

evgeny777 added a comment to D61641: [llvm-objcopy] Strip file symbols with --strip-unneeded.

@paulsemel Any comments?

Wed, May 15, 1:22 AM · Restricted Project

Tue, May 14

evgeny777 added a comment to D60270: [llvm-objcopy] Add support for Intel HEX input/output format.

Any comments on this?

Tue, May 14, 11:11 PM
evgeny777 added a comment to D61672: [llvm-objcopy] Allow strip symtab in executables and DSOs.

I'm still a bit unclear. Does it strip symbols that are duplicates of symbols in .dynsym? Does it just get rid of the the whole symbol table no matter what?

Tue, May 14, 4:13 AM

Mon, May 13

evgeny777 committed rG053c6fc2b8a7: [ThinLTO] Don't internalize weak writeable variables (authored by evgeny777).
[ThinLTO] Don't internalize weak writeable variables
Mon, May 13, 4:52 AM
evgeny777 committed rL360577: [ThinLTO] Don't internalize weak writeable variables.
[ThinLTO] Don't internalize weak writeable variables
Mon, May 13, 4:50 AM
evgeny777 closed D61255: [ThinLTO] Make weak data symbols prevailing when they're visible to regular object.
Mon, May 13, 4:50 AM · Restricted Project
evgeny777 added a comment to D61825: [ARM][AArch64] Put Android Bionic PT_TLS overaligning hack under --android-tls.

If we always align first PT_TLS section on 64 bytes wouldn't this fix the problem?

Mon, May 13, 4:11 AM · Restricted Project
evgeny777 added a comment to D61672: [llvm-objcopy] Allow strip symtab in executables and DSOs.

I'm confused as to what this is trying to accomplish.

Mon, May 13, 3:51 AM

Wed, May 8

evgeny777 created D61672: [llvm-objcopy] Allow strip symtab in executables and DSOs.
Wed, May 8, 3:25 AM

Tue, May 7

evgeny777 added a reviewer for D61641: [llvm-objcopy] Strip file symbols with --strip-unneeded: paulsemel.
Tue, May 7, 10:00 AM · Restricted Project
evgeny777 added a comment to D61641: [llvm-objcopy] Strip file symbols with --strip-unneeded.
I see you originally added it in https://reviews.llvm.org/rL353919.
Tue, May 7, 9:35 AM · Restricted Project
evgeny777 added a comment to D61641: [llvm-objcopy] Strip file symbols with --strip-unneeded.

Does this match GNU objcopy's behaviour? If GNU strips them, we should probably too. If not, we shouldn't.

Tue, May 7, 9:01 AM · Restricted Project
evgeny777 created D61641: [llvm-objcopy] Strip file symbols with --strip-unneeded.
Tue, May 7, 7:39 AM · Restricted Project

Mon, May 6

evgeny777 updated the diff for D61255: [ThinLTO] Make weak data symbols prevailing when they're visible to regular object.

We decide what to internalize after computeDeadSymbols, so why wouldn't we be able to use this to block internalization of linkonce_odr global variables (when !ReadOnly)?

Mon, May 6, 8:22 AM · Restricted Project

Tue, Apr 30

evgeny777 added a comment to D61255: [ThinLTO] Make weak data symbols prevailing when they're visible to regular object.

I agree this doesn't look like the correct fix, especially the check !Sym.isExecutable() which doesn't look correct to me

Tue, Apr 30, 12:12 PM · Restricted Project
evgeny777 added a comment to D61255: [ThinLTO] Make weak data symbols prevailing when they're visible to regular object.

Looks like I have another idea how this can be fixed. In addition to 'ReadOnly' we can introduce 'CompileTimeConstant' flag in GlobalVarSummary.
Not marking linkonce_odr and weak_odr data symbols which are preserved and are not 'CompileTimeConstant' live will fix PR41645.
Also such flag allows exploring some new optimization opportunities:

Tue, Apr 30, 9:41 AM · Restricted Project
evgeny777 committed rGfd0831d0f5fe: [llvm-nm] Add --special-syms no-op flag (authored by evgeny777).
[llvm-nm] Add --special-syms no-op flag
Tue, Apr 30, 6:50 AM
evgeny777 committed rL359563: [llvm-nm] Add --special-syms no-op flag.
[llvm-nm] Add --special-syms no-op flag
Tue, Apr 30, 6:50 AM
evgeny777 closed D60502: [llvm-nm] Add --special-syms.
Tue, Apr 30, 6:50 AM · Restricted Project
evgeny777 updated the diff for D60502: [llvm-nm] Add --special-syms.

Addressed comments

Tue, Apr 30, 1:57 AM · Restricted Project
evgeny777 added inline comments to D60502: [llvm-nm] Add --special-syms.
Tue, Apr 30, 1:57 AM · Restricted Project
evgeny777 updated the diff for D60502: [llvm-nm] Add --special-syms.

Ok, as far as I understood from ongoing discussion, we can first implement --special-syms as a dummy flag. That said, I'm updating the diff according to comments from @jhenderson

Tue, Apr 30, 1:31 AM · Restricted Project
evgeny777 updated the diff for D60270: [llvm-objcopy] Add support for Intel HEX input/output format.

Splitted IHEX patch into reader and writer. Diff now contains the "writer" part.

Tue, Apr 30, 12:21 AM

Mon, Apr 29

evgeny777 added a comment to D56672: [HWASAN] Instrument globals.

Ping

Mon, Apr 29, 11:13 PM
evgeny777 added a comment to D61255: [ThinLTO] Make weak data symbols prevailing when they're visible to regular object.

It isn't working, because llvm::computeDeadSymbols keeps non-prevailing linkonce_odr and weak_odr symbols live.
It is possible to check for function summary when doing this to fix the issue:

if (S->linkage() == GlobalValue::AvailableExternallyLinkage ||
    ((S->linkage() == GlobalValue::WeakODRLinkage ||
    S->linkage() == GlobalValue::LinkOnceODRLinkage) && isa<FunctionSummary>(S->getBaseObject())))
  KeepAliveLinkage = true;

however this will prevent optimizing out linkonce_odr and weak_odr constants

Mon, Apr 29, 11:02 AM · Restricted Project
evgeny777 created D61255: [ThinLTO] Make weak data symbols prevailing when they're visible to regular object.
Mon, Apr 29, 2:15 AM · Restricted Project

Thu, Apr 25

evgeny777 accepted D60793: [Evaluator] Walk initial elements when handling load through bitcast.

LGTM, thanks. I suggest waiting for 1-2 days in case @tejohnson has something to say.

Thu, Apr 25, 8:02 AM · Restricted Project

Wed, Apr 24

evgeny777 added a comment to D60270: [llvm-objcopy] Add support for Intel HEX input/output format.

There's a lot of code to review here.

I've responded to some of the comments, meanwhile I'm splitting patch into writer (will go first) and reader (will go next). Will update the review soon

Wed, Apr 24, 10:42 AM
evgeny777 added a reviewer for D56672: [HWASAN] Instrument globals: pcc.
Wed, Apr 24, 8:36 AM
evgeny777 updated the diff for D56673: [HWASAN/compiler-rt] Instrument globals.

Rebased

Wed, Apr 24, 8:33 AM
evgeny777 updated the diff for D56672: [HWASAN] Instrument globals.

Ok, I finally have some time to work on this again
Changes

Wed, Apr 24, 8:29 AM

Apr 19 2019

evgeny777 added a comment to D60502: [llvm-nm] Add --special-syms.

How about making a symlink nm -> llvm_nm and use different behavior depending on tool name?
The same approach is used by llvm-addr2line, AFAIR.

Apr 19 2019, 1:28 AM · Restricted Project

Apr 18 2019

evgeny777 added a comment to D60793: [Evaluator] Walk initial elements when handling load through bitcast.

what's wrong with keeping it like it is?

Apr 18 2019, 1:31 AM · Restricted Project
evgeny777 added a comment to D60502: [llvm-nm] Add --special-syms.

So what are further actions with this? Is emulating GNU nm seems like a better choice?

Apr 18 2019, 1:17 AM · Restricted Project

Apr 17 2019

evgeny777 added a comment to D60793: [Evaluator] Walk initial elements when handling load through bitcast.

Can't operand 0 of bitcast (%union.A* %u) be used as a key?

Apr 17 2019, 10:05 AM · Restricted Project
evgeny777 added a comment to D60793: [Evaluator] Walk initial elements when handling load through bitcast.

"MutatedMemory" is only used to hold evaluated store values

Apr 17 2019, 8:54 AM · Restricted Project
evgeny777 added a comment to D60793: [Evaluator] Walk initial elements when handling load through bitcast.

I wonder if it's possible to stop using MutatedMemory for checks in ComputeLoadResult and instead start using separate map which can also be filled
in EvaluateBlock. In this new map you can use bitcast (or even first operand of bitcast) as a key.

Apr 17 2019, 12:44 AM · Restricted Project

Apr 15 2019

evgeny777 added a comment to D60270: [llvm-objcopy] Add support for Intel HEX input/output format.

btw, some people at euro llvm also requested srec supprt, which seems extremely similar to ihex

Apr 15 2019, 8:31 AM
evgeny777 committed rG4918738c0702: [llvm-readelf] Correctly dump symbols whose section id is SHN_XINDEX (authored by evgeny777).
[llvm-readelf] Correctly dump symbols whose section id is SHN_XINDEX
Apr 15 2019, 4:23 AM
evgeny777 committed rL358396: [llvm-readelf] Correctly dump symbols whose section id is SHN_XINDEX.
[llvm-readelf] Correctly dump symbols whose section id is SHN_XINDEX
Apr 15 2019, 4:23 AM
evgeny777 closed D60614: [llvm-readelf] Fix dumping of SHN_XINDEX symbols.
Apr 15 2019, 4:22 AM · Restricted Project
evgeny777 added a comment to D60614: [llvm-readelf] Fix dumping of SHN_XINDEX symbols.

My only concern with this patch: how long does this test take to run, specifically, how long does llvm-mc take to generate a file with this many sections?

Apr 15 2019, 4:22 AM · Restricted Project

Apr 12 2019

evgeny777 updated the diff for D60614: [llvm-readelf] Fix dumping of SHN_XINDEX symbols.

Addressed comments

Apr 12 2019, 8:02 AM · Restricted Project
evgeny777 updated the diff for D60614: [llvm-readelf] Fix dumping of SHN_XINDEX symbols.

Addressed

Apr 12 2019, 7:33 AM · Restricted Project
evgeny777 updated the diff for D60614: [llvm-readelf] Fix dumping of SHN_XINDEX symbols.

Addressed comments from @MaskRay

Apr 12 2019, 7:33 AM · Restricted Project
evgeny777 updated the diff for D60614: [llvm-readelf] Fix dumping of SHN_XINDEX symbols.

Addressed

Apr 12 2019, 7:13 AM · Restricted Project
evgeny777 created D60614: [llvm-readelf] Fix dumping of SHN_XINDEX symbols.
Apr 12 2019, 6:49 AM · Restricted Project
evgeny777 committed rG88089fed9c79: [llvm-objcopy] Fill .symtab_shndx section correctly (authored by evgeny777).
[llvm-objcopy] Fill .symtab_shndx section correctly
Apr 12 2019, 4:59 AM
evgeny777 committed rL358278: [llvm-objcopy] Fill .symtab_shndx section correctly.
[llvm-objcopy] Fill .symtab_shndx section correctly
Apr 12 2019, 4:59 AM
evgeny777 closed D60555: [llvm-objcopy] Fill .symtab_shndx section correctly.
Apr 12 2019, 4:59 AM · Restricted Project
evgeny777 added a comment to D60555: [llvm-objcopy] Fill .symtab_shndx section correctly.

Looks to me like you've hit a bug here

Apr 12 2019, 4:38 AM · Restricted Project
evgeny777 added a comment to D60502: [llvm-nm] Add --special-syms.

Okay, thanks. llvm-nm shows them by default, I take it?

Apr 12 2019, 3:17 AM · Restricted Project
evgeny777 added a comment to D60270: [llvm-objcopy] Add support for Intel HEX input/output format.

FYI, most of the other llvm-objcopy developers are still away following Euro LLVM

Apr 12 2019, 3:16 AM
evgeny777 added a comment to D60270: [llvm-objcopy] Add support for Intel HEX input/output format.

Ping

Apr 12 2019, 12:49 AM

Apr 11 2019

evgeny777 added inline comments to D60502: [llvm-nm] Add --special-syms.
Apr 11 2019, 3:24 AM · Restricted Project
evgeny777 added inline comments to D60502: [llvm-nm] Add --special-syms.
Apr 11 2019, 3:24 AM · Restricted Project
evgeny777 updated the diff for D60555: [llvm-objcopy] Fill .symtab_shndx section correctly.

Added test case, addressed comments.

Apr 11 2019, 3:21 AM · Restricted Project
evgeny777 added a comment to D60555: [llvm-objcopy] Fill .symtab_shndx section correctly.

That was helpful, thanks! I'll update diff shortly

Apr 11 2019, 3:05 AM · Restricted Project
evgeny777 added inline comments to D60555: [llvm-objcopy] Fill .symtab_shndx section correctly.
Apr 11 2019, 2:38 AM · Restricted Project
evgeny777 added a comment to D60555: [llvm-objcopy] Fill .symtab_shndx section correctly.

Test case?

Apr 11 2019, 2:38 AM · Restricted Project
evgeny777 created D60555: [llvm-objcopy] Fill .symtab_shndx section correctly.
Apr 11 2019, 1:35 AM · Restricted Project

Apr 10 2019

evgeny777 created D60502: [llvm-nm] Add --special-syms.
Apr 10 2019, 4:00 AM · Restricted Project

Apr 8 2019

evgeny777 committed rG7671a1daa72a: Use llvm::crc32 instead of crc32. NFC (authored by evgeny777).
Use llvm::crc32 instead of crc32. NFC
Apr 8 2019, 6:42 AM
evgeny777 committed rL357911: Use llvm::crc32 instead of crc32. NFC.
Use llvm::crc32 instead of crc32. NFC
Apr 8 2019, 6:39 AM
evgeny777 committed rG18873b22be08: Attempt to recommit r357901 (authored by evgeny777).
Attempt to recommit r357901
Apr 8 2019, 5:30 AM
evgeny777 committed rL357905: Attempt to recommit r357901.
Attempt to recommit r357901
Apr 8 2019, 5:30 AM
evgeny777 committed rG03d28a4490ff: Reverting r357901 as fails to build on some of the buildbots (authored by evgeny777).
Reverting r357901 as fails to build on some of the buildbots
Apr 8 2019, 4:36 AM
evgeny777 committed rL357902: Reverting r357901 as fails to build on some of the buildbots.
Reverting r357901 as fails to build on some of the buildbots
Apr 8 2019, 4:36 AM
evgeny777 committed rGad69bd687008: [Support] Add zlib independent CRC32 (authored by evgeny777).
[Support] Add zlib independent CRC32
Apr 8 2019, 4:25 AM
evgeny777 committed rL357901: [Support] Add zlib independent CRC32.
[Support] Add zlib independent CRC32
Apr 8 2019, 4:25 AM
evgeny777 closed D59816: [Support] Implement zlib independent crc32 computation.
Apr 8 2019, 4:25 AM · Restricted Project

Apr 5 2019

evgeny777 updated the diff for D60270: [llvm-objcopy] Add support for Intel HEX input/output format.

Line parser moved to IHexRecord::parse
Better test case for reader
Addressed some of review comments

Apr 5 2019, 10:40 AM
evgeny777 added inline comments to D60270: [llvm-objcopy] Add support for Intel HEX input/output format.
Apr 5 2019, 10:36 AM
evgeny777 added a reviewer for D59816: [Support] Implement zlib independent crc32 computation: aprantl.
Apr 5 2019, 6:40 AM · Restricted Project
evgeny777 updated the diff for D59816: [Support] Implement zlib independent crc32 computation.

Addressed comments

Apr 5 2019, 4:34 AM · Restricted Project

Apr 4 2019

evgeny777 created D60270: [llvm-objcopy] Add support for Intel HEX input/output format.
Apr 4 2019, 8:37 AM

Mar 28 2019

evgeny777 updated the diff for D59816: [Support] Implement zlib independent crc32 computation.

Addressed review comments

Mar 28 2019, 1:03 AM · Restricted Project

Mar 27 2019

evgeny777 updated the diff for D59816: [Support] Implement zlib independent crc32 computation.

New implementation taken from libarchive (dynamic crc table)

Mar 27 2019, 3:51 AM · Restricted Project
evgeny777 added a reviewer for D59816: [Support] Implement zlib independent crc32 computation: joerg.
Mar 27 2019, 3:51 AM · Restricted Project

Mar 26 2019

evgeny777 added a comment to D59816: [Support] Implement zlib independent crc32 computation.

It doesn't matter, at most a single memory fence is necessary.

Yep. However, you don't have it in your code. The volatile int crc_tbl_inited prevents compiler optimizations but doesn't prevent out-of-order execution as far as I know.

Mar 26 2019, 9:31 AM · Restricted Project
evgeny777 added a comment to D59816: [Support] Implement zlib independent crc32 computation.

@aprantl

Shouldn't this be only conditionally compiled if zlib isn't available?

Mar 26 2019, 9:31 AM · Restricted Project
evgeny777 added a comment to D59816: [Support] Implement zlib independent crc32 computation.

don't bother with the 1KB table in both binary and source, just recompute it on the first use

Mar 26 2019, 6:24 AM · Restricted Project
evgeny777 added inline comments to D59816: [Support] Implement zlib independent crc32 computation.
Mar 26 2019, 6:01 AM · Restricted Project
evgeny777 created D59816: [Support] Implement zlib independent crc32 computation.
Mar 26 2019, 5:22 AM · Restricted Project

Mar 19 2019

evgeny777 added inline comments to D59351: [llvm-objcopy] Add --update-section.
Mar 19 2019, 3:09 AM

Mar 18 2019

evgeny777 added a comment to D59351: [llvm-objcopy] Add --update-section.

I suspect that this is going to interact nastily with D59843.

Mar 18 2019, 6:56 AM

Mar 14 2019

evgeny777 accepted D57470: [ThinLTO] Restructure AliasSummary to contain ValueInfo of Aliasee.

This should be rebased against r354850. Otherwise LGTM.

Mar 14 2019, 4:14 AM · Restricted Project
evgeny777 created D59351: [llvm-objcopy] Add --update-section.
Mar 14 2019, 3:11 AM

Mar 12 2019

evgeny777 committed rGc76671b23191: [llvm-objcopy] Remove unneeded checks. NFC (authored by evgeny777).
[llvm-objcopy] Remove unneeded checks. NFC
Mar 12 2019, 5:43 AM
evgeny777 committed rL355914: [llvm-objcopy] Remove unneeded checks. NFC.
[llvm-objcopy] Remove unneeded checks. NFC
Mar 12 2019, 5:43 AM
evgeny777 closed D59081: [llvm-objcopy] Remove unneeded checks. NFC.
Mar 12 2019, 5:43 AM · Restricted Project
evgeny777 committed rG1e249caaec39: [CGP] Fix UB when GEP is bound to trivial PHINode (authored by evgeny777).
[CGP] Fix UB when GEP is bound to trivial PHINode
Mar 12 2019, 3:10 AM
evgeny777 committed rL355904: [CGP] Fix UB when GEP is bound to trivial PHINode.
[CGP] Fix UB when GEP is bound to trivial PHINode
Mar 12 2019, 3:10 AM
evgeny777 closed D59140: [CGP] Fix UB when removing trivial PHINode.
Mar 12 2019, 3:10 AM · Restricted Project