evgeny777 (Eugene Leviant)
User

Projects

User does not belong to any projects.

User Details

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

Recent Activity

Today

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.

Mon, Oct 15, 9:23 AM

Fri, Oct 12

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

Thu, Oct 11

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

Are those ever expected to reference a blockaddress?

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

Mon, Sep 24

evgeny777 committed rL342836: [WholeProgramDevirt] Don't process declarations when building type id map.
[WholeProgramDevirt] Don't process declarations when building type id map
Mon, Sep 24, 7:22 AM
evgeny777 closed D52175: [WholeProgramDevirt] Don't process declarations when building type id map.
Mon, Sep 24, 7:22 AM

Mon, Sep 17

evgeny777 created D52175: [WholeProgramDevirt] Don't process declarations when building type id map.
Mon, Sep 17, 8:14 AM

Aug 20 2018

evgeny777 added a comment to D50066: [IRMover] Don't materialise values from different source module.

@trentxintong Sure, please go on. I'm on vacation till Sep, 12

Aug 20 2018, 11:34 AM

Aug 16 2018

evgeny777 planned changes to D49362: [ThinLTO] Compute constant references.

Found few issues with patch

Aug 16 2018, 4:11 AM

Aug 14 2018

evgeny777 added a comment to D50066: [IRMover] Don't materialise values from different source module.

Out of curiosity, what makes it look like it might be synthetic?

Aug 14 2018, 8:31 AM
evgeny777 added a comment to D50066: [IRMover] Don't materialise values from different source module.

That new DITemplateValueParameter type doesn't look correct to me.

Aug 14 2018, 2:46 AM
evgeny777 updated the diff for D50066: [IRMover] Don't materialise values from different source module.

It turned out that the problem is more complex than it seemed initially, because this forward declaration causes metadata loader to do really horrible things. Here is how metadata of test/ThinLTO/X86/fwd-decl.ll looks after both modules are loaded by addRegularLTO:

Aug 14 2018, 2:33 AM

Aug 9 2018

evgeny777 added a comment to D50066: [IRMover] Don't materialise values from different source module.

Any comments? Teresa?

Aug 9 2018, 9:50 AM

Aug 2 2018

evgeny777 updated the diff for D49362: [ThinLTO] Compute constant references.
  1. Now importing globals list from DICompileUnit in IRMover. This is needed because we may internalise GV in destination module, so it can reach final link.
Aug 2 2018, 9:55 AM

Jul 31 2018

evgeny777 added inline comments to D50066: [IRMover] Don't materialise values from different source module.
Jul 31 2018, 10:02 AM
evgeny777 created D50066: [IRMover] Don't materialise values from different source module.
Jul 31 2018, 7:28 AM

Jul 30 2018

evgeny777 updated the diff for D49362: [ThinLTO] Compute constant references.

I've updated the review with the full version. I've tested on few large applications and results are quite promising in terms of both performance and image size

Jul 30 2018, 12:04 PM

Jul 17 2018

evgeny777 added a comment to D49362: [ThinLTO] Compute constant references.

That's true. Actually, thinking more about the above example - presumably your global analysis on these new const bits would have to look at the references on global variables, and treat that as a non-const ref and basically mark the referenced GUID as non-const, to represent the address as escaping, right?

Jul 17 2018, 1:23 PM

Jul 16 2018

evgeny777 added a comment to D49362: [ThinLTO] Compute constant references.

My understanding of your patch is that there would be a 1-1 association between each bit in the RefAccessBits BitVector and ref edges on that same function

Jul 16 2018, 2:40 PM
evgeny777 added a comment to D49362: [ThinLTO] Compute constant references.

I think it would be cleaner/clearer to encode this info along with the Ref edges

Jul 16 2018, 12:23 PM
evgeny777 created D49362: [ThinLTO] Compute constant references.
Jul 16 2018, 12:09 AM

Jul 10 2018

evgeny777 committed rL336702: [Evaluator] Examine alias when evaluating function call.
[Evaluator] Examine alias when evaluating function call
Jul 10 2018, 9:39 AM

Jul 1 2018

evgeny777 committed rL336059: [Evaluator] Improve evaluation of call instruction.
[Evaluator] Improve evaluation of call instruction
Jul 1 2018, 4:07 AM

Jun 22 2018

evgeny777 committed rL335327: Revert r335324 due to a builtbot failure.
Revert r335324 due to a builtbot failure
Jun 22 2018, 2:01 AM
evgeny777 committed rL335324: [Evaluator] Improve evaluation of call instruction.
[Evaluator] Improve evaluation of call instruction
Jun 22 2018, 1:34 AM
evgeny777 closed D46584: [Evaluator] Improve evaluation of call instruction.
Jun 22 2018, 1:34 AM

Jun 20 2018

evgeny777 added inline comments to D47842: [ThinLTO] Add string saver onto index for value names.
Jun 20 2018, 8:46 AM
evgeny777 committed rL335136: [LIT] Enable testing of LLVM gold plugin on Mac OS X.
[LIT] Enable testing of LLVM gold plugin on Mac OS X
Jun 20 2018, 8:38 AM
evgeny777 closed D48350: [LIT] Enable testing of LLVM gold plugin on Mac OS X.
Jun 20 2018, 8:38 AM
evgeny777 updated the diff for D46584: [Evaluator] Improve evaluation of call instruction.

Thanks for looking at it @tejohnson. Sorry I was too busy to respond earlier.
I've added extra test case to check function calls which can be constant folded.
The substCallExprArgument was changed to castCallResultIfNeeded which might sound more reasonable.

Jun 20 2018, 7:04 AM
evgeny777 created D48350: [LIT] Enable testing of LLVM gold plugin on Mac OS X.
Jun 20 2018, 1:55 AM

Jun 6 2018

evgeny777 added a comment to D46584: [Evaluator] Improve evaluation of call instruction.

Any comments on this?

Jun 6 2018, 6:21 AM

May 28 2018

evgeny777 updated the diff for D46584: [Evaluator] Improve evaluation of call instruction.

Addressed review comments

May 28 2018, 7:23 AM

May 8 2018

evgeny777 created D46584: [Evaluator] Improve evaluation of call instruction.
May 8 2018, 9:31 AM
evgeny777 added a comment to D44965: [llvm][Instrumentation/MC] Add Call Graph Profile pass and object file emission..

This and D45850 made 2 - 2.5% performance improvement to a large real world application already built with PGO + full LTO. Any chance to push this anytime soon?

May 8 2018, 9:13 AM

Apr 6 2018

evgeny777 accepted D45198: [GlobalOpt] Fix support for casts in ctors..

LGTM with nit.

Apr 6 2018, 4:17 AM

Apr 5 2018

evgeny777 committed rLLD329281: [ELF] Don't add NOLOAD sections to segment.
[ELF] Don't add NOLOAD sections to segment
Apr 5 2018, 6:27 AM
evgeny777 committed rL329281: [ELF] Don't add NOLOAD sections to segment.
[ELF] Don't add NOLOAD sections to segment
Apr 5 2018, 6:27 AM
evgeny777 closed D45264: [ELF] Don't put NOLOAD section into PT_LOAD.
Apr 5 2018, 6:27 AM · lld

Apr 4 2018

evgeny777 created D45264: [ELF] Don't put NOLOAD section into PT_LOAD.
Apr 4 2018, 9:11 AM · lld
evgeny777 added inline comments to D45198: [GlobalOpt] Fix support for casts in ctors..
Apr 4 2018, 12:54 AM

Mar 13 2018

evgeny777 committed rL327381: [Evaluator] Evaluate load/store with bitcast.
[Evaluator] Evaluate load/store with bitcast
Mar 13 2018, 3:23 AM
evgeny777 closed D43457: [Evaluator] Improve evaluation of load/store.
Mar 13 2018, 3:23 AM

Mar 12 2018

evgeny777 committed rL327254: [ThinLTO] Recommit of import global variables.
[ThinLTO] Recommit of import global variables
Mar 12 2018, 3:35 AM

Mar 7 2018

evgeny777 updated the diff for D43457: [Evaluator] Improve evaluation of load/store.

Unfortunately ConstantFoldLoadFromConstPtr seems to be useful, because it checks for GV initializer being constant and we're not forced by this constraint when evaluating static ctors.
However it turned out we can use ConstantFoldLoadThroughBitcast when evaluating both load and store.

Mar 7 2018, 11:30 AM

Feb 25 2018

evgeny777 added a comment to D43457: [Evaluator] Improve evaluation of load/store.

Any comments on this?

Feb 25 2018, 11:40 PM

Feb 22 2018

evgeny777 added inline comments to D43595: WIP alternative to r325686 (Implement name based structure type mapping)..
Feb 22 2018, 7:13 AM

Feb 21 2018

evgeny777 committed rL325686: [IRMover] Implement name based structure type mapping.
[IRMover] Implement name based structure type mapping
Feb 21 2018, 7:16 AM
evgeny777 closed D43199: [IRMover] Implement name based structure type mapping.
Feb 21 2018, 7:15 AM
evgeny777 accepted D43199: [IRMover] Implement name based structure type mapping.

Approved in the mailing list

Feb 21 2018, 7:15 AM

Feb 19 2018

evgeny777 retitled D43457: [Evaluator] Improve evaluation of load/store from [Evaluator] Improve evaluation of bitcast to [Evaluator] Improve evaluation of load/store.
Feb 19 2018, 5:16 AM
evgeny777 created D43457: [Evaluator] Improve evaluation of load/store.
Feb 19 2018, 5:16 AM

Feb 16 2018

evgeny777 committed rL325362: [ThinLTO] Fix data race in test #2.
[ThinLTO] Fix data race in test #2
Feb 16 2018, 9:27 AM
evgeny777 committed rL325361: [ThinLTO] Fix data race in test.
[ThinLTO] Fix data race in test
Feb 16 2018, 8:58 AM
evgeny777 committed rL325320: [ThinLTO] Import global variables.
[ThinLTO] Import global variables
Feb 16 2018, 12:13 AM
evgeny777 closed D43077: [ThinLTO] Import globals.
Feb 16 2018, 12:13 AM

Feb 15 2018

evgeny777 updated the diff for D43199: [IRMover] Implement name based structure type mapping.

Addressed review comments in the mailing list:

  • added --initial-module flag to llvm-link
  • test cases now use llvm-link instead of llvm-lto
Feb 15 2018, 9:29 AM

Feb 14 2018

evgeny777 updated the diff for D43199: [IRMover] Implement name based structure type mapping.

Rebased + added @dblaikie

Feb 14 2018, 4:24 AM
evgeny777 committed rL325110: [IRMover] Move type name extraction to a separate function. NFC.
[IRMover] Move type name extraction to a separate function. NFC
Feb 14 2018, 2:34 AM

Feb 13 2018

evgeny777 updated the diff for D43077: [ThinLTO] Import globals.

Addressed review comments

Feb 13 2018, 10:25 AM

Feb 12 2018

evgeny777 created D43199: [IRMover] Implement name based structure type mapping.
Feb 12 2018, 10:03 AM
evgeny777 added inline comments to D43077: [ThinLTO] Import globals.
Feb 12 2018, 7:17 AM
evgeny777 added inline comments to D43077: [ThinLTO] Import globals.
Feb 12 2018, 1:36 AM
evgeny777 added a comment to D43077: [ThinLTO] Import globals.

FYI: Here are some results from running LLVM test suite:

Feb 12 2018, 12:10 AM

Feb 8 2018

evgeny777 created D43077: [ThinLTO] Import globals.
Feb 8 2018, 8:49 AM

Feb 6 2018

evgeny777 committed rL324447: [LegalizeDAG] Truncate condition operand of ISD::SELECT.
[LegalizeDAG] Truncate condition operand of ISD::SELECT
Feb 6 2018, 9:42 PM
evgeny777 closed D42737: [LegalizeDAG] Truncate condition operand of ISD::SELECT.
Feb 6 2018, 9:42 PM
evgeny777 updated the diff for D42737: [LegalizeDAG] Truncate condition operand of ISD::SELECT.

Added checks to test case

Feb 6 2018, 10:11 AM
evgeny777 added inline comments to D42737: [LegalizeDAG] Truncate condition operand of ISD::SELECT.
Feb 6 2018, 8:05 AM
evgeny777 added inline comments to D42737: [LegalizeDAG] Truncate condition operand of ISD::SELECT.
Feb 6 2018, 4:16 AM

Feb 5 2018

evgeny777 added a comment to D42737: [LegalizeDAG] Truncate condition operand of ISD::SELECT.

Any comments on this? @efriedma ?

Feb 5 2018, 10:43 PM
evgeny777 added reviewers for D42737: [LegalizeDAG] Truncate condition operand of ISD::SELECT: kristof.beyls, javed.absar, aemerson.
Feb 5 2018, 10:42 PM

Feb 1 2018

evgeny777 retitled D42737: [LegalizeDAG] Truncate condition operand of ISD::SELECT from [LegalizeDAG] Support expanding condition operand of ISD::SELECT to [LegalizeDAG] Truncate condition operand of ISD::SELECT.
Feb 1 2018, 1:40 AM
evgeny777 updated the diff for D42737: [LegalizeDAG] Truncate condition operand of ISD::SELECT.

Addressed review comments. The new version also handles scalar types which size is not power of 2.

Feb 1 2018, 12:50 AM

Jan 31 2018

evgeny777 created D42737: [LegalizeDAG] Truncate condition operand of ISD::SELECT.
Jan 31 2018, 7:07 AM
evgeny777 abandoned D26857: [ELF] Print output name for command line errors.
Jan 31 2018, 6:56 AM · lld
evgeny777 abandoned D34459: [ELF] Better handling of _GLOBAL_OFFSET_TABLE_.
Jan 31 2018, 6:56 AM · lld

Jan 25 2018

evgeny777 committed rL323407: [IRMover] Add comment and fix test case.
[IRMover] Add comment and fix test case
Jan 25 2018, 12:38 AM

Jan 23 2018

evgeny777 abandoned D42418: IRMover: remove unused (?) code.

Ok, I found an answer. Calling this off.

Jan 23 2018, 11:59 PM
evgeny777 added a comment to D42418: IRMover: remove unused (?) code.

Yes, I've seen that as well, but it seems to me that type mapping logic has changed since then. @rafael ?

Jan 23 2018, 7:59 AM
evgeny777 created D42418: IRMover: remove unused (?) code.
Jan 23 2018, 5:39 AM

Jan 22 2018

evgeny777 committed rL323116: [ThinLTO] Re-commit of dot dumper after test fix.
[ThinLTO] Re-commit of dot dumper after test fix
Jan 22 2018, 5:37 AM

Jan 21 2018

evgeny777 committed rL323065: Temporarily revert r323062 to investigate buildbot failures.
Temporarily revert r323062 to investigate buildbot failures
Jan 21 2018, 2:25 AM
evgeny777 committed rL323063: An attempt to fix buildbot after rL323062.
An attempt to fix buildbot after rL323062
Jan 21 2018, 12:50 AM

Jan 20 2018

evgeny777 committed rL323062: [ThinLTO] Implement summary visualizer.
[ThinLTO] Implement summary visualizer
Jan 20 2018, 11:29 PM
evgeny777 closed D41297: [ThinLTO] Implement summary visualizer.
Jan 20 2018, 11:29 PM
evgeny777 updated the diff for D41297: [ThinLTO] Implement summary visualizer.

Addressed review comments

Jan 20 2018, 6:08 AM
evgeny777 added inline comments to D41297: [ThinLTO] Implement summary visualizer.
Jan 20 2018, 12:24 AM

Jan 19 2018

evgeny777 updated the diff for D41297: [ThinLTO] Implement summary visualizer.

Addressed review comments

Jan 19 2018, 6:00 AM
evgeny777 added inline comments to D41297: [ThinLTO] Implement summary visualizer.
Jan 19 2018, 5:30 AM
evgeny777 added inline comments to D41297: [ThinLTO] Implement summary visualizer.
Jan 19 2018, 5:23 AM

Jan 17 2018

evgeny777 added a comment to D42107: [ThinLTO] - Stop internalizing and drop non-prevailing symbols..

@tejohnson Can't we use ThinLTO.PrevailingModuleForGUID in the backend?

Jan 17 2018, 11:56 AM

Jan 16 2018

evgeny777 added a comment to D42107: [ThinLTO] - Stop internalizing and drop non-prevailing symbols..

@grimar Can't internalization be skipped during backend processing rather than changing linkage in summary index?. At the very first glance it is possible to check if def is prevailing or not in MustPreserveGV (see thinLTOInternalizeModule)

Jan 16 2018, 8:17 AM
evgeny777 added a comment to D41297: [ThinLTO] Implement summary visualizer.

ModuleId issue was also fixed

Jan 16 2018, 5:35 AM
evgeny777 updated the diff for D41297: [ThinLTO] Implement summary visualizer.

Changes:

  • Var/function name StringRef is not saved for legacy summary formats (when VST is used instead of strtab).
  • Now printing full module path in comment before cluster definition
  • Added comments to every edge/node
  • Added test case
Jan 16 2018, 5:34 AM

Jan 12 2018

evgeny777 added inline comments to D41297: [ThinLTO] Implement summary visualizer.
Jan 12 2018, 10:45 AM
evgeny777 added a comment to D41297: [ThinLTO] Implement summary visualizer.

@tejohnson The BM.parseModule is invoked in the very end of thin link (see runThinLTOBackendThread). How can it work if it's not guaranteed that we have valid BC data till this moment? Note: parse module uses Stream

Jan 12 2018, 9:46 AM
evgeny777 added a comment to D41297: [ThinLTO] Implement summary visualizer.

At which point of the API is this guarantee?

Jan 12 2018, 9:23 AM
evgeny777 added inline comments to D41297: [ThinLTO] Implement summary visualizer.
Jan 12 2018, 8:51 AM