Page MenuHomePhabricator

evgeny777 (Eugene Leviant)
User

Projects

User does not belong to any projects.

User Details

User Since
Sep 1 2015, 3:36 AM (176 w, 6 d)

Recent Activity

Today

evgeny777 committed rCRT351730: [HWASAN] Improve tag mismatch diagnostics.
[HWASAN] Improve tag mismatch diagnostics
Mon, Jan 21, 1:51 AM
evgeny777 committed rL351730: [HWASAN] Improve tag mismatch diagnostics.
[HWASAN] Improve tag mismatch diagnostics
Mon, Jan 21, 1:51 AM
evgeny777 closed D56603: [HWASAN] Improve tag-mismatch diagnostics.
Mon, Jan 21, 1:51 AM

Fri, Jan 18

evgeny777 updated the diff for D56603: [HWASAN] Improve tag-mismatch diagnostics.

assume that case is not "obvious" when offset is not zero.

Fri, Jan 18, 12:19 AM

Thu, Jan 17

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

BTW, does it make sense to make this patch work for static variables first?

Thu, Jan 17, 9:54 AM
evgeny777 added a comment to D56672: [HWASAN] Instrument globals.

I wonder if the same could be achieved with a clever use of ifunc?

Do you mean generating ifunc for each instrumented global and tagging a pointer there?

Thu, Jan 17, 6:10 AM
evgeny777 added a comment to D56672: [HWASAN] Instrument globals.
Thu, Jan 17, 5:31 AM

Wed, Jan 16

evgeny777 updated the diff for D56603: [HWASAN] Improve tag-mismatch diagnostics.

Addressed

Wed, Jan 16, 4:20 AM

Tue, Jan 15

evgeny777 updated the diff for D56603: [HWASAN] Improve tag-mismatch diagnostics.

Changed way X0 and X1 are assigned on AArch64

Tue, Jan 15, 7:41 AM
evgeny777 abandoned D32895: [ASAN] Insert call to __asan_init and load of dynamic shadow address in correct order.
Tue, Jan 15, 7:35 AM · Restricted Project
evgeny777 added inline comments to D56603: [HWASAN] Improve tag-mismatch diagnostics.
Tue, Jan 15, 6:57 AM
evgeny777 added a comment to D56672: [HWASAN] Instrument globals.

even for internal / non-preemptible globals.

Tue, Jan 15, 2:17 AM

Mon, Jan 14

evgeny777 created D56674: [HWASAN] Invoke module pass from clang to instrument globals.
Mon, Jan 14, 10:28 AM
evgeny777 added a child revision for D56603: [HWASAN] Improve tag-mismatch diagnostics: D56673: [HWASAN/compiler-rt] Instrument globals.
Mon, Jan 14, 10:26 AM
evgeny777 updated the summary of D56673: [HWASAN/compiler-rt] Instrument globals.
Mon, Jan 14, 10:26 AM
evgeny777 created D56673: [HWASAN/compiler-rt] Instrument globals.
Mon, Jan 14, 10:25 AM
evgeny777 created D56672: [HWASAN] Instrument globals.
Mon, Jan 14, 10:22 AM
evgeny777 updated the diff for D56603: [HWASAN] Improve tag-mismatch diagnostics.

Addressed review comments

Mon, Jan 14, 1:55 AM

Fri, Jan 11

evgeny777 created D56603: [HWASAN] Improve tag-mismatch diagnostics.
Fri, Jan 11, 8:33 AM

Mon, Dec 24

evgeny777 committed rL350055: [HWASAN] Instrument memorty intrinsics by default.
[HWASAN] Instrument memorty intrinsics by default
Mon, Dec 24, 8:07 AM
evgeny777 closed D55926: [HWASAN] Instrument memorty intrinsics by default.
Mon, Dec 24, 8:07 AM

Dec 20 2018

evgeny777 created D55926: [HWASAN] Instrument memorty intrinsics by default.
Dec 20 2018, 6:30 AM
evgeny777 committed rCRT349730: [HWASAN] Add support for memory intrinsics.
[HWASAN] Add support for memory intrinsics
Dec 20 2018, 1:13 AM
evgeny777 committed rL349730: [HWASAN] Add support for memory intrinsics.
[HWASAN] Add support for memory intrinsics
Dec 20 2018, 1:13 AM
evgeny777 closed D55554: [HWASAN/rt] Implement support for memory intrinsics.
Dec 20 2018, 1:13 AM
evgeny777 committed rL349728: [HWASAN] Add support for memory intrinsics.
[HWASAN] Add support for memory intrinsics
Dec 20 2018, 1:07 AM
evgeny777 closed D55117: [HWASAN] Instrument memory intrinsics.
Dec 20 2018, 1:07 AM

Dec 17 2018

evgeny777 updated the diff for D55554: [HWASAN/rt] Implement support for memory intrinsics.

Addressed comments

Dec 17 2018, 11:42 PM
evgeny777 updated the diff for D55554: [HWASAN/rt] Implement support for memory intrinsics.

Addressed

Dec 17 2018, 5:30 AM

Dec 14 2018

evgeny777 added inline comments to D55554: [HWASAN/rt] Implement support for memory intrinsics.
Dec 14 2018, 2:10 AM

Dec 12 2018

evgeny777 updated the diff for D55554: [HWASAN/rt] Implement support for memory intrinsics.

Addressed

Dec 12 2018, 11:27 PM
evgeny777 updated the diff for D55554: [HWASAN/rt] Implement support for memory intrinsics.

Addressed some of review comments
Unfortunately I don't know how to use memset from __hwasan_memset, given this comment in hwasan.cc

// ACHTUNG! No system header includes in this file.
Dec 12 2018, 4:28 AM

Dec 11 2018

evgeny777 updated the diff for D55117: [HWASAN] Instrument memory intrinsics.

Addressed review comments. Now the patch uses approach identical to ASAN.
ASAN doesn't add prefix in kernel compilation mode (my guess is that memset and friends are part of Linux kernel and are always instrumented in such scenario)

Dec 11 2018, 5:00 AM
evgeny777 created D55554: [HWASAN/rt] Implement support for memory intrinsics.
Dec 11 2018, 4:54 AM

Dec 10 2018

evgeny777 added a comment to D55117: [HWASAN] Instrument memory intrinsics.

In fact, I changed my mind - let's do __hwasan_memset.

What about kernel compilation mode?

Dec 10 2018, 7:39 AM

Dec 7 2018

evgeny777 updated the diff for D55117: [HWASAN] Instrument memory intrinsics.

Added test case

Dec 7 2018, 3:13 AM
evgeny777 added a comment to D55117: [HWASAN] Instrument memory intrinsics.

Would it be more flexible to use the same approach here?

Dec 7 2018, 1:03 AM

Dec 5 2018

evgeny777 added a comment to D55309: ThinLTO: Do not import debug info for imported global constants.

Could you tell me the commands I need to run to test this?

Dec 5 2018, 8:45 AM

Dec 4 2018

evgeny777 added a comment to D55309: ThinLTO: Do not import debug info for imported global constants.

Hello David,

Dec 4 2018, 11:47 PM
evgeny777 added a comment to D54905: [AddressSanitizer] Add flag to disable linking with CXX runtime.

ASan uses -Wl,-whole-archive to pull all its members

Dec 4 2018, 3:45 AM

Dec 3 2018

evgeny777 committed rCRT348140: [SanitizerCommon] Remove RenameFile.
[SanitizerCommon] Remove RenameFile
Dec 3 2018, 6:10 AM
evgeny777 committed rL348140: [SanitizerCommon] Remove RenameFile.
[SanitizerCommon] Remove RenameFile
Dec 3 2018, 6:07 AM
evgeny777 closed D55123: [SanitizerCommon] Remove unused(?) function.
Dec 3 2018, 6:07 AM

Dec 2 2018

evgeny777 added a comment to D54905: [AddressSanitizer] Add flag to disable linking with CXX runtime.
don't think so. It's just symbol interposition. Every module in the process gets the same definition.
Dec 2 2018, 1:02 AM

Nov 30 2018

evgeny777 created D55123: [SanitizerCommon] Remove unused(?) function.
Nov 30 2018, 7:13 AM
evgeny777 created D55117: [HWASAN] Instrument memory intrinsics.
Nov 30 2018, 4:07 AM
evgeny777 added a comment to D54905: [AddressSanitizer] Add flag to disable linking with CXX runtime.

How do you do this now?

Nov 30 2018, 1:40 AM

Nov 29 2018

evgeny777 accepted D55048: [ThinLTO] Allow importing of multiple symbols with same GUID.

LGTM

Nov 29 2018, 7:19 AM
evgeny777 accepted D55047: [ThinLTO] Import local variables from the same module as caller.

LGTM

Nov 29 2018, 7:19 AM
evgeny777 added inline comments to D55047: [ThinLTO] Import local variables from the same module as caller.
Nov 29 2018, 4:41 AM

Nov 28 2018

evgeny777 added a comment to D54905: [AddressSanitizer] Add flag to disable linking with CXX runtime.

Unfortunately, this is not an option. I have very custom heap implementation (in fact multiple heap types sharing contiguous memory block), so ASAN heap can't be a drop-in replacement. I'm using manual poisoning and it works pretty well, but have to disable C++ runtime each time I build with ASAN.

Nov 28 2018, 7:53 PM

Nov 27 2018

evgeny777 added a reviewer for D54905: [AddressSanitizer] Add flag to disable linking with CXX runtime: eugenis.
Nov 27 2018, 10:57 PM

Nov 26 2018

evgeny777 created D54905: [AddressSanitizer] Add flag to disable linking with CXX runtime.
Nov 26 2018, 9:11 AM

Nov 23 2018

evgeny777 committed rL347492: Attempt to fix buildbot after r347489.
Attempt to fix buildbot after r347489
Nov 23 2018, 3:32 AM
evgeny777 committed rL347489: [ThinLTO] Assembly representation of ReadOnly attribute.
[ThinLTO] Assembly representation of ReadOnly attribute
Nov 23 2018, 2:57 AM
evgeny777 closed D54754: [ThinLTO] Assembly representation of ReadOnly attribute.
Nov 23 2018, 2:57 AM

Nov 22 2018

evgeny777 added inline comments to D54754: [ThinLTO] Assembly representation of ReadOnly attribute.
Nov 22 2018, 1:16 AM

Nov 20 2018

evgeny777 created D54754: [ThinLTO] Assembly representation of ReadOnly attribute.
Nov 20 2018, 6:42 AM

Nov 19 2018

evgeny777 committed rL347207: [ThinLTO] Fix comment. NFC.
[ThinLTO] Fix comment. NFC
Nov 19 2018, 6:22 AM

Nov 16 2018

evgeny777 accepted D54642: [ThinLTO] Add some stats for read only variable internalization.

Thanks!

Nov 16 2018, 10:17 PM

Nov 15 2018

evgeny777 committed rL347033: [ThinLTO] Internalize readonly globals.
[ThinLTO] Internalize readonly globals
Nov 15 2018, 11:10 PM

Nov 11 2018

evgeny777 closed D54306: [ThinLTO] Check if propaagteConstants has been run, before marking GV for internalization.
Nov 11 2018, 7:42 AM
evgeny777 accepted D54306: [ThinLTO] Check if propaagteConstants has been run, before marking GV for internalization.
Nov 11 2018, 7:42 AM

Nov 10 2018

evgeny777 committed rL346584: [ThinLTO] Internalize readonly globals.
[ThinLTO] Internalize readonly globals
Nov 10 2018, 12:34 AM
evgeny777 closed D49362: [ThinLTO] Internalize read only globals.
Nov 10 2018, 12:33 AM

Nov 9 2018

evgeny777 added a comment to D49362: [ThinLTO] Internalize read only globals.

Oh, my bad. opt -function-import gets index from llvm-lto2, not from opt -thinlto-bc. Sorry about that

Nov 9 2018, 7:36 AM
evgeny777 added a comment to D49362: [ThinLTO] Internalize read only globals.

Why won't it work for distributed builds? The read only gvar flag is being serialized out and back in, so shouldn't it show up in the distributed indexes?

Nov 9 2018, 7:16 AM
evgeny777 added a comment to D49362: [ThinLTO] Internalize read only globals.

Sorry I have to suggest small amendment to this patch before committing after looking test/ThinLTO/X86/distributed_import.ll.
It looks like distributed import is using per-module indexes, so internalization of RO vars will not work correctly. To overcome this
I suggest adding a check for propagateConstants to have been run before marking GV for internalization

Nov 9 2018, 6:03 AM
evgeny777 updated subscribers of D54306: [ThinLTO] Check if propaagteConstants has been run, before marking GV for internalization.
Nov 9 2018, 5:59 AM
evgeny777 created D54306: [ThinLTO] Check if propaagteConstants has been run, before marking GV for internalization.
Nov 9 2018, 5:59 AM

Nov 8 2018

evgeny777 updated the diff for D49362: [ThinLTO] Internalize read only globals.
  • Addressed review comments
  • Reverted changes in llvm-link.cpp
  • No longer clearing read only attribute on dead variables in propagateConstants. As a result the following tests were updated
test/Linker/funcimport.ll
test/Transforms/FunctionImport/funcimport.ll
  • Changed isLive() to isGlobalValueLive() in propagateConstants
Nov 8 2018, 5:28 AM
evgeny777 added inline comments to D49362: [ThinLTO] Internalize read only globals.
Nov 8 2018, 1:51 AM

Nov 7 2018

evgeny777 added inline comments to D49362: [ThinLTO] Internalize read only globals.
Nov 7 2018, 8:35 AM
evgeny777 updated the diff for D49362: [ThinLTO] Internalize read only globals.

Rebased and addressed review comments

Nov 7 2018, 2:38 AM

Nov 6 2018

evgeny777 added a comment to D49362: [ThinLTO] Internalize read only globals.

the call to propagateConstantsToRefs only on function summaries

Nov 6 2018, 1:02 PM
evgeny777 added a comment to D49362: [ThinLTO] Internalize read only globals.

I'm not sure why we couldn't import and make a local copy of the aliasee when an alias to it is preserved and/or not eligible to import

Nov 6 2018, 11:11 AM
evgeny777 added inline comments to D49362: [ThinLTO] Internalize read only globals.
Nov 6 2018, 12:43 AM

Nov 1 2018

evgeny777 added a comment to D53986: [LTO] Fix a crash caused by accessing an empty ValueInfo.

Can you please post the *.index.bc file? It is saved before dot, so it should be there

Nov 1 2018, 11:22 AM
evgeny777 added a reviewer for D53986: [LTO] Fix a crash caused by accessing an empty ValueInfo: tejohnson.
Nov 1 2018, 11:21 AM

Oct 31 2018

evgeny777 updated the diff for D49362: [ThinLTO] Internalize read only globals.
  • Addressed review comments
  • Added call to propagateConstants to createCombinedModuleSummaryIndex to support -thinlto mode of llvm-lto
Oct 31 2018, 9:19 AM

Oct 30 2018

evgeny777 added inline comments to D49362: [ThinLTO] Internalize read only globals.
Oct 30 2018, 10:33 AM
evgeny777 added inline comments to D49362: [ThinLTO] Internalize read only globals.
Oct 30 2018, 10:15 AM
evgeny777 added inline comments to D49362: [ThinLTO] Internalize read only globals.
Oct 30 2018, 9:24 AM
evgeny777 added inline comments to D49362: [ThinLTO] Internalize read only globals.
Oct 30 2018, 9:01 AM

Oct 26 2018

evgeny777 added inline comments to D49362: [ThinLTO] Internalize read only globals.
Oct 26 2018, 12:19 AM

Oct 25 2018

evgeny777 added a comment to D49362: [ThinLTO] Internalize read only globals.

I see, yes that explanation makes sense. I suppose on the importing side we could go back and update the linkage for imported variables based on the linkage in the index after the IRMover importing is complete for the module (since the linkage in the index is currently ignored on the importing side). On the exporting side it would get internalized as usual during the index-based internalization. This has the advantage of being more consistent with how we currently internalize based on thin link analysis. Would that not work as expected?

Oct 25 2018, 12:45 AM

Oct 24 2018

evgeny777 committed rL345124: [ThinLTO] Change parameter type. NFC.
[ThinLTO] Change parameter type. NFC
Oct 24 2018, 2:02 AM
evgeny777 committed rL345118: [ThinLTO] Fix dot dumper for regular LTO modules.
[ThinLTO] Fix dot dumper for regular LTO modules
Oct 24 2018, 12:51 AM
evgeny777 closed D53583: [ThinLTO] Fix dot dumper for full-LTO modules.
Oct 24 2018, 12:51 AM

Oct 23 2018

evgeny777 created D53583: [ThinLTO] Fix dot dumper for full-LTO modules.
Oct 23 2018, 9:19 AM
evgeny777 updated the diff for D49362: [ThinLTO] Internalize read only globals.
  • ReadOnly attribute's been moved to GlobalVarSummary and is calculated on analysis phase
  • Added flag to ValueInfo which indicates "constantness" instead of using constant reference counter in FunctionSummary
  • Fixed incremental build
  • Fixed few issues including GV to GV references
  • Fixed bitcode tests and added extra test cases
Oct 23 2018, 5:40 AM

Oct 18 2018

evgeny777 added a comment to D49362: [ThinLTO] Internalize read only globals.

In fact I think that making this change to shouldPromoteLocalToGlobal on the importing side to get the linkage type from the index would work today

Oct 18 2018, 4:42 AM

Oct 16 2018

evgeny777 updated the diff for D49362: [ThinLTO] Internalize read only globals.

Finally I have some time to work on this again
I've simplified a patch to a large extent and tested it on a number of real applications (see below)

Oct 16 2018, 10:29 AM
evgeny777 retitled D49362: [ThinLTO] Internalize read only globals from [ThinLTO] Compute constant references to [ThinLTO] Internalize read only globals.
Oct 16 2018, 10:24 AM
evgeny777 requested review of D49362: [ThinLTO] Internalize read only globals.
Oct 16 2018, 10:23 AM

Oct 15 2018

evgeny777 added a comment to D52966: [Merge SImilar Function ThinLTO 3/n] Add hash code to function summary.

Yeah, I'm also wondering what's this for.

Oct 15 2018, 9:23 AM

Oct 12 2018

evgeny777 committed rL344325: [ThinLTO] Don't import GV which contains blockaddress.
[ThinLTO] Don't import GV which contains blockaddress
Oct 12 2018, 12:26 AM
evgeny777 closed D53139: [ThinLTO] Don't import GV which contains blockaddress.
Oct 12 2018, 12:26 AM

Oct 11 2018

evgeny777 updated the diff for D53139: [ThinLTO] Don't import GV which contains blockaddress.

Are those ever expected to reference a blockaddress?

Oct 11 2018, 10:48 AM
evgeny777 created D53139: [ThinLTO] Don't import GV which contains blockaddress.
Oct 11 2018, 7:52 AM