Page MenuHomePhabricator

fedor.sergeev (Fedor Sergeev)
User

Projects

User does not belong to any projects.

User Details

User Since
Feb 10 2017, 1:36 AM (154 w, 3 d)

Recent Activity

Thu, Jan 23

fedor.sergeev committed rG2f6987ba61cc: [LoopRotate] add ability to repeat loop rotation until non-deoptimizing exit is… (authored by fedor.sergeev).
[LoopRotate] add ability to repeat loop rotation until non-deoptimizing exit is…
Thu, Jan 23, 5:35 AM
fedor.sergeev closed D73058: [LoopRotate] add ability to repeat loop rotation until non-deoptimizing exit is found.
Thu, Jan 23, 5:35 AM · Restricted Project
fedor.sergeev updated the diff for D73058: [LoopRotate] add ability to repeat loop rotation until non-deoptimizing exit is found.

unittest added that verifies exit code of successful loop-rotate

Thu, Jan 23, 4:59 AM · Restricted Project

Tue, Jan 21

fedor.sergeev added inline comments to D73058: [LoopRotate] add ability to repeat loop rotation until non-deoptimizing exit is found.
Tue, Jan 21, 9:38 AM · Restricted Project
fedor.sergeev updated the diff for D73058: [LoopRotate] add ability to repeat loop rotation until non-deoptimizing exit is found.

fixing return value on subsequent iterations

Tue, Jan 21, 9:38 AM · Restricted Project
fedor.sergeev updated the diff for D73058: [LoopRotate] add ability to repeat loop rotation until non-deoptimizing exit is found.

converting recursion into inner loop

Tue, Jan 21, 4:34 AM · Restricted Project
fedor.sergeev added a comment to D73058: [LoopRotate] add ability to repeat loop rotation until non-deoptimizing exit is found.

Hmm... phabricator is good in white-space diffs elimination! :)

Tue, Jan 21, 4:34 AM · Restricted Project
fedor.sergeev added inline comments to D73058: [LoopRotate] add ability to repeat loop rotation until non-deoptimizing exit is found.
Tue, Jan 21, 4:11 AM · Restricted Project
fedor.sergeev updated the summary of D73058: [LoopRotate] add ability to repeat loop rotation until non-deoptimizing exit is found.
Tue, Jan 21, 4:11 AM · Restricted Project
fedor.sergeev added a comment to D73058: [LoopRotate] add ability to repeat loop rotation until non-deoptimizing exit is found.

made this change off by default.

Tue, Jan 21, 4:11 AM · Restricted Project
fedor.sergeev updated the diff for D73058: [LoopRotate] add ability to repeat loop rotation until non-deoptimizing exit is found.

improving some comments

Tue, Jan 21, 4:07 AM · Restricted Project

Mon, Jan 20

fedor.sergeev added inline comments to D73058: [LoopRotate] add ability to repeat loop rotation until non-deoptimizing exit is found.
Mon, Jan 20, 11:10 PM · Restricted Project
fedor.sergeev retitled D73058: [LoopRotate] add ability to repeat loop rotation until non-deoptimizing exit is found from [LoopRotate] add ability repeat loop rotation until non-deoptimizing exit is found to [LoopRotate] add ability to repeat loop rotation until non-deoptimizing exit is found.
Mon, Jan 20, 11:50 AM · Restricted Project
fedor.sergeev created D73058: [LoopRotate] add ability to repeat loop rotation until non-deoptimizing exit is found.
Mon, Jan 20, 11:03 AM · Restricted Project

Fri, Jan 17

fedor.sergeev committed rGcc7cb05e9d7f: [BasicBlock] fix looping in getPostdominatingDeoptimizeCall (authored by fedor.sergeev).
[BasicBlock] fix looping in getPostdominatingDeoptimizeCall
Fri, Jan 17, 4:44 AM
fedor.sergeev closed D72908: [BasicBlock] fix looping in getPostdominatingDeoptimizeCall.
Fri, Jan 17, 4:44 AM · Restricted Project
fedor.sergeev updated the diff for D72908: [BasicBlock] fix looping in getPostdominatingDeoptimizeCall.

adding CHECK-LABEL to the test so it passes with lit

Fri, Jan 17, 2:24 AM · Restricted Project
fedor.sergeev created D72908: [BasicBlock] fix looping in getPostdominatingDeoptimizeCall.
Fri, Jan 17, 2:10 AM · Restricted Project

Thu, Jan 16

fedor.sergeev committed rG1f2dad1fd575: [GVN] add GVN parameters parsing to new pass manager (authored by fedor.sergeev).
[GVN] add GVN parameters parsing to new pass manager
Thu, Jan 16, 12:57 PM
fedor.sergeev closed D72752: [GVN] add GVN parameters parsing to new pass manager.
Thu, Jan 16, 12:57 PM · Restricted Project
fedor.sergeev committed rG3478551bf3d2: [GVN] introduce GVNOptions to control GVN pass behavior (authored by fedor.sergeev).
[GVN] introduce GVNOptions to control GVN pass behavior
Thu, Jan 16, 9:35 AM
fedor.sergeev closed D72732: [GVN] introduce GVNOptions to control GVN pass behavior.
Thu, Jan 16, 9:35 AM · Restricted Project
fedor.sergeev updated the diff for D72732: [GVN] introduce GVNOptions to control GVN pass behavior.

reintroduced default parameter for Legacy pass constructor
(it is necessary for PassSupport.h proper operations and not otherwise used)

Thu, Jan 16, 9:25 AM · Restricted Project

Wed, Jan 15

fedor.sergeev added inline comments to D72732: [GVN] introduce GVNOptions to control GVN pass behavior.
Wed, Jan 15, 2:24 PM · Restricted Project
fedor.sergeev updated the diff for D72732: [GVN] introduce GVNOptions to control GVN pass behavior.

reformatting after the last update

Wed, Jan 15, 2:18 PM · Restricted Project
fedor.sergeev committed rG8a4d12ae5b3e: [BasicBlock] add helper getPostdominatingDeoptimizeCall (authored by fedor.sergeev).
[BasicBlock] add helper getPostdominatingDeoptimizeCall
Wed, Jan 15, 2:18 PM
fedor.sergeev closed D72754: [BasicBlock] add helper getPostdominatingDeoptimizeCall.
Wed, Jan 15, 2:18 PM · Restricted Project
fedor.sergeev added inline comments to D72732: [GVN] introduce GVNOptions to control GVN pass behavior.
Wed, Jan 15, 2:08 PM · Restricted Project
fedor.sergeev updated the diff for D72732: [GVN] introduce GVNOptions to control GVN pass behavior.

fixing NoMemDepAnalysis use in legacy pass

Wed, Jan 15, 2:06 PM · Restricted Project
fedor.sergeev updated the diff for D72752: [GVN] add GVN parameters parsing to new pass manager.

removed old pass entry

Wed, Jan 15, 1:49 PM · Restricted Project
fedor.sergeev created D72754: [BasicBlock] add helper getPostdominatingDeoptimizeCall.
Wed, Jan 15, 12:45 AM · Restricted Project
fedor.sergeev added a parent revision for D72752: [GVN] add GVN parameters parsing to new pass manager: D72732: [GVN] introduce GVNOptions to control GVN pass behavior.
Wed, Jan 15, 12:08 AM · Restricted Project
fedor.sergeev added a child revision for D72732: [GVN] introduce GVNOptions to control GVN pass behavior: D72752: [GVN] add GVN parameters parsing to new pass manager.
Wed, Jan 15, 12:08 AM · Restricted Project

Tue, Jan 14

fedor.sergeev created D72752: [GVN] add GVN parameters parsing to new pass manager.
Tue, Jan 14, 11:58 PM · Restricted Project
fedor.sergeev added a comment to D72732: [GVN] introduce GVNOptions to control GVN pass behavior.

Don't you want to add a code to be able to set GVN options from command line for new pass manager? Or it is a follow-up change?

That should go as a followup.
I did not plan to do that right now, but well, you got a point.
Will post a review for that.

Tue, Jan 14, 11:03 PM · Restricted Project
fedor.sergeev added inline comments to D72732: [GVN] introduce GVNOptions to control GVN pass behavior.
Tue, Jan 14, 11:03 PM · Restricted Project
fedor.sergeev updated the diff for D72732: [GVN] introduce GVNOptions to control GVN pass behavior.

updated comments

Tue, Jan 14, 11:03 PM · Restricted Project
fedor.sergeev added a reviewer for D72732: [GVN] introduce GVNOptions to control GVN pass behavior: fhahn.
Tue, Jan 14, 1:19 PM · Restricted Project
fedor.sergeev created D72732: [GVN] introduce GVNOptions to control GVN pass behavior.
Tue, Jan 14, 1:18 PM · Restricted Project
fedor.sergeev committed rGfe37d9ecaabd: [GVN] fix comment/argument name to match actual implementation. NFC (authored by fedor.sergeev).
[GVN] fix comment/argument name to match actual implementation. NFC
Tue, Jan 14, 1:00 PM

Mon, Jan 6

fedor.sergeev accepted D71086: Let PassBuilder Expose PassInstrumentationCallbacks.

LGTM.

Mon, Jan 6, 8:34 AM · Restricted Project

Dec 13 2019

fedor.sergeev added a comment to D69596: [Attributor] Add the Attributor to the new PM pipeline.

Is there any testing that does enable attributor?

Okey, I did find a fair amount of tests that run individual -attributor *or* -passes=attributor (with -attributor-disable=false).
Are there any near plans to enable attributor (setting -attributor-disable=false by default)?

Dec 13 2019, 2:26 AM · Restricted Project
fedor.sergeev added a comment to D69596: [Attributor] Add the Attributor to the new PM pipeline.

So, this enables Attributor pass, but in fact has all its functionality disabled unless -attributor-disable is set to false.
Is there any testing that does enable attributor?
If yes, then I would like to see this testing being run with new pass manager as well.

Dec 13 2019, 2:02 AM · Restricted Project
fedor.sergeev added a comment to D69596: [Attributor] Add the Attributor to the new PM pipeline.

Is there a particular reason for choosing this spot in pipeline?
I see that in legacy pipeline Attributor follows IPSCCP/CVP, and here it goes right before.

Dec 13 2019, 1:58 AM · Restricted Project

Dec 12 2019

fedor.sergeev added a comment to D71086: Let PassBuilder Expose PassInstrumentationCallbacks.

Overall I'm fine with this.
Bikeshedding-wise, getPIC seems to be overly cryptic to me.
Do you believe full name getPassInstrumentationCallbacks is too much?

Dec 12 2019, 3:22 AM · Restricted Project

Dec 10 2019

fedor.sergeev added a comment to D70157: Align branches within 32-Byte boundary(NOP padding).

What if I insert explicit align(8) right *after* the sequence?

If your insert explicit .align 8 after the sequence, and the sequence doesn't has any branch to be aligned, the current solution won't change the sequence.

Well, I kinda figure that from the code behavior right now, however is it really by design or just happens to work now?
Seeing that assembler becomes very intelligent now I would rather have a strict guarantee similar to "hardcode" thing that you have here that protects my sequence
rather than relying on a fact that in current settings moving my label by 8 does not appear to be profitable to assembler.

Dec 10 2019, 6:02 AM · Restricted Project, Restricted Project

Dec 9 2019

fedor.sergeev added a comment to D70157: Align branches within 32-Byte boundary(NOP padding).

The point is that we have explicit requirement at the start and we have a lowering into 16-byte sequence that we need to be preserved exactly as it is.
Essentially what we need is a "protection" for this sequence from any changes by machinery that generates the binary code.
How can we protect a particular byte sequence from being changed by this branch aligner?

No, in general we can't. The current solution is based on assembler to insert prefix or nop before the cross (or against) boundary branches. It can only ensure the explicit alignment specified by directive, but not any implicit alignment. I don't think any fixup based on assembler can do it. On the other hand, any code sequence after the alignment directive or even just in a function has some kind of implicit alignment. It's hard for assembler to tell which implicit alignment to preserve. The preferred way is to use explicit alignment directive to specify it.

For your scenario, a NOP padding is more controllable. NOP padding will be inserted just before the branch instructions (or macro fusion branch instructions). So if there's no branches (or macro fusion branches) in your code sequence, there will be no NOP inserted.

What if I insert explicit align(8) right *after* the sequence?

Dec 9 2019, 8:52 AM · Restricted Project, Restricted Project
fedor.sergeev added a comment to D70157: Align branches within 32-Byte boundary(NOP padding).

I could not reproduce the phenomenon that N-byte nop becomes (N+M) bytes with your example. So according to my understanding, I slightly modified your case. (If my understand is wrong, I hope you can point it out :-). )

    .text
    nop
.Ltmp0:
    .p2align 3, 0x90
    .rept 16
    nop
    .endr
.Ltmp3:
    movl  %eax, -4(%rsp)

In our case it was

andl $1, %eax

but it does not matter that much.

Dec 9 2019, 2:21 AM · Restricted Project, Restricted Project

Dec 5 2019

fedor.sergeev added a comment to D70157: Align branches within 32-Byte boundary(NOP padding).

FYI: I did close the bug as fixed after verifying that the fix works for me.

Dec 5 2019, 2:26 PM · Restricted Project, Restricted Project

Dec 3 2019

fedor.sergeev requested changes to D70157: Align branches within 32-Byte boundary(NOP padding).

Working on getting upstream reproducer....

Hangs on a moderately small piece (~150 lines) of x86 assembly, filed a bug on it here:

Dec 3 2019, 2:46 PM · Restricted Project, Restricted Project
fedor.sergeev added a comment to D70157: Align branches within 32-Byte boundary(NOP padding).

Just FYI for now as I'm trying to dig futher...
I have been trying this fix in our downstream environment and managed to get a hang with this backtrace:

Dec 3 2019, 8:50 AM · Restricted Project, Restricted Project

Nov 13 2019

fedor.sergeev added inline comments to D69830: [LoopPred/WC] Use a dominating widenable condition to remove analyze loop exits.
Nov 13 2019, 1:43 PM · Restricted Project
fedor.sergeev added inline comments to D69830: [LoopPred/WC] Use a dominating widenable condition to remove analyze loop exits.
Nov 13 2019, 5:48 AM · Restricted Project

Nov 12 2019

fedor.sergeev accepted D69349: [InlineCost] Fix infinite loop in indirect call evaluation.

The change you suggest, doesn't cause the crash.

would you mind to add that test here?
It should exercise a path of logic where argument comes through SimplifiedValues, so it is worth having it.

Nov 12 2019, 9:32 AM · Restricted Project
fedor.sergeev added inline comments to D69830: [LoopPred/WC] Use a dominating widenable condition to remove analyze loop exits.
Nov 12 2019, 5:46 AM · Restricted Project
fedor.sergeev added a comment to D69349: [InlineCost] Fix infinite loop in indirect call evaluation.

Can you add a test similar to what you have here that excercises indirect call through a parameter?
Say, do

define void @func1() {
  %t = bitcast void ()* @func3 to void ()*
  tail call void @func2(void()* %t)
  ret void
}
define void @func2(void()* %f) {
  tail call void %f()
  ret void
}

and then......

define void @func6() {
  %t2 = bitcast void (void()*)* @func2 to void (void()*)* 
  %t3 = bitcast void ()* @func3 to void ()*
  tail call void %t2(void()* %t3)
  ret void
}

This results in recursive call to func2+ and your fix should handle it just right.

Nov 12 2019, 4:16 AM · Restricted Project
fedor.sergeev added a comment to D69349: [InlineCost] Fix infinite loop in indirect call evaluation.

llvm/test/Transforms/Inline/pr35469.ll

btw, I would rather have this test named by its functionality and not by PR number.

Nov 12 2019, 4:16 AM · Restricted Project
fedor.sergeev added inline comments to D69349: [InlineCost] Fix infinite loop in indirect call evaluation.
Nov 12 2019, 3:29 AM · Restricted Project
fedor.sergeev added inline comments to D69349: [InlineCost] Fix infinite loop in indirect call evaluation.
Nov 12 2019, 3:17 AM · Restricted Project

Oct 29 2019

fedor.sergeev committed rG4aee4c99c543: [ADT] add equality operator for SmallSet (authored by fedor.sergeev).
[ADT] add equality operator for SmallSet
Oct 29 2019, 5:46 PM
fedor.sergeev closed D69417: [ADT] add equality operator for SmallSet.
Oct 29 2019, 5:46 PM · Restricted Project

Oct 24 2019

fedor.sergeev updated the diff for D69417: [ADT] add equality operator for SmallSet.

slightly modified test

Oct 24 2019, 5:11 PM · Restricted Project
fedor.sergeev created D69417: [ADT] add equality operator for SmallSet.
Oct 24 2019, 4:59 PM · Restricted Project

Sep 18 2019

fedor.sergeev accepted D67701: [Unroll] Add an option to control complete unrolling.

Great, thanks a lot!

Sep 18 2019, 10:54 PM · Restricted Project
fedor.sergeev requested changes to D67701: [Unroll] Add an option to control complete unrolling.

I might be in need for the morning coffee, but I cant find the actual use of UP.FullUnrollMaxCount...

Ugh... I was looking for that use in the new code, but it is there in the old code, sorry.

Sep 18 2019, 9:55 PM · Restricted Project
fedor.sergeev added a comment to D67701: [Unroll] Add an option to control complete unrolling.

I might be in need for the morning coffee, but I cant find the actual use of UP.FullUnrollMaxCount...

Sep 18 2019, 9:22 PM · Restricted Project

Sep 7 2019

fedor.sergeev committed rL371295: Adding myself (fedor.sergeev) to the github committers list..
Adding myself (fedor.sergeev) to the github committers list.
Sep 7 2019, 2:18 AM

Aug 27 2019

fedor.sergeev added a comment to D63972: [CodeGen] Do the Simple Early Return in block-placement pass to optimize the blocks.

This reproducer fails with assertion:

] cat reduced.ll
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128-ni:1"
target triple = "x86_64-unknown-linux-gnu"
Aug 27 2019, 3:30 PM · Restricted Project

Aug 13 2019

fedor.sergeev accepted D65975: [NewPM][PassInstrumentation] IR printing support from clang driver.

LGTM.
Thanks for addressing this!

Aug 13 2019, 11:56 PM · Restricted Project, Restricted Project

Aug 9 2019

fedor.sergeev committed rG92e160ababd1: [MemDep] allow to select block-scan-limit when constructing… (authored by fedor.sergeev).
[MemDep] allow to select block-scan-limit when constructing…
Aug 9 2019, 6:27 PM
fedor.sergeev committed rL368502: [MemDep] allow to select block-scan-limit when constructing….
[MemDep] allow to select block-scan-limit when constructing…
Aug 9 2019, 6:22 PM
fedor.sergeev closed D65806: [MemDep] allow to select block-scan-limit when constructing MemoryDependenceAnalysis.
Aug 9 2019, 6:22 PM · Restricted Project
fedor.sergeev added a comment to D64179: [CodeGen] Define an interface for the new pass manager..

Which part of the basics specifically?

Also, avoid adding anything into the adaptor except just basic functionality of passing control to the target pass.
(say, as I commented already - skip remarks stuff altogether). This commit better contain the general comments on what MachineFunction is
and basics required for PassManager/Adaptor to start working, and nothing else.
Since you will have to add PassInstrumentation interfaces in order for PassManager to operate you might be able to add its usage into PassAdaptor as well.
But that could be done as a follow up change.

Aug 9 2019, 6:22 PM · Restricted Project
fedor.sergeev added a comment to D64179: [CodeGen] Define an interface for the new pass manager..

I believe in order to make progress here we first need to settle down on a very principal matter -

what kind of IRUnit MachineFunction is?

Okey, everything you said there makes perfect sense. Thanks for clarification.

Aug 9 2019, 5:59 PM · Restricted Project
fedor.sergeev added a comment to D65975: [NewPM][PassInstrumentation] IR printing support from clang driver.

@fedor.sergeev @yamauchi I saw your discussions over llvm-dev mailing list regarding IR printing with the new pass manager, and though this might be the reason why IR printing is not supported under new PM with clang. I would appreciate if you can take a look.

Yep, you are right, standard instrumentation needs to be passed into PassBuilder for printing and time-passes to work.
Main changes are fine, just a small note on the test below.

Aug 9 2019, 12:57 PM · Restricted Project, Restricted Project

Aug 7 2019

fedor.sergeev retitled D65806: [MemDep] allow to select block-scan-limit when constructing MemoryDependenceAnalysis from [MemDep] allow customization of block-scan-limit of MemoryDependenceAnalysis instance to [MemDep] allow to select block-scan-limit when constructing MemoryDependenceAnalysis.
Aug 7 2019, 9:09 AM · Restricted Project
fedor.sergeev added reviewers for D65806: [MemDep] allow to select block-scan-limit when constructing MemoryDependenceAnalysis: Prazek, reames.
Aug 7 2019, 9:04 AM · Restricted Project
fedor.sergeev updated the diff for D65806: [MemDep] allow to select block-scan-limit when constructing MemoryDependenceAnalysis.

add parameter to MemoryDependenceAnalysis constructor, clang-format

Aug 7 2019, 9:02 AM · Restricted Project
fedor.sergeev removed a parent revision for D65805: [PassManager] add setupAnalysis() to customize analyses registered in AnalysisManager: D65806: [MemDep] allow to select block-scan-limit when constructing MemoryDependenceAnalysis.
Aug 7 2019, 8:48 AM · Restricted Project
fedor.sergeev removed a child revision for D65806: [MemDep] allow to select block-scan-limit when constructing MemoryDependenceAnalysis: D65805: [PassManager] add setupAnalysis() to customize analyses registered in AnalysisManager.
Aug 7 2019, 8:48 AM · Restricted Project
fedor.sergeev abandoned D65805: [PassManager] add setupAnalysis() to customize analyses registered in AnalysisManager.

Had a chat with @ppf and there is a feeling that we are getting too many ways of customizing the pass (global command line options, explicit arguments passed to constructors, command line parsing etc).
If there is a need to customize passes/analyzes in a way similar to this patch then it should better be done by introducing a generic notion of PassSettings, handled in somewhat general manner through PassManager/PassBuilder.

Aug 7 2019, 8:48 AM · Restricted Project

Aug 6 2019

fedor.sergeev added a comment to D65805: [PassManager] add setupAnalysis() to customize analyses registered in AnalysisManager.

( D65805 is not really a parent, just showing parts of the changes supporting my usecase )

Aug 6 2019, 7:12 AM · Restricted Project
fedor.sergeev added a comment to D65805: [PassManager] add setupAnalysis() to customize analyses registered in AnalysisManager.

and yes, this is more of a request for feedback than anything else...

Aug 6 2019, 7:12 AM · Restricted Project
fedor.sergeev added a parent revision for D65805: [PassManager] add setupAnalysis() to customize analyses registered in AnalysisManager: D65806: [MemDep] allow to select block-scan-limit when constructing MemoryDependenceAnalysis.
Aug 6 2019, 7:10 AM · Restricted Project
fedor.sergeev added a child revision for D65806: [MemDep] allow to select block-scan-limit when constructing MemoryDependenceAnalysis: D65805: [PassManager] add setupAnalysis() to customize analyses registered in AnalysisManager.
Aug 6 2019, 7:10 AM · Restricted Project
fedor.sergeev created D65806: [MemDep] allow to select block-scan-limit when constructing MemoryDependenceAnalysis.
Aug 6 2019, 7:10 AM · Restricted Project
fedor.sergeev created D65805: [PassManager] add setupAnalysis() to customize analyses registered in AnalysisManager.
Aug 6 2019, 7:10 AM · Restricted Project

Jul 31 2019

fedor.sergeev added a comment to D64183: [NewPM] Port MachineModuleInfo to the new pass manager..

Please, add a meaningful commit message that describes in high-level terms what/why you are doing here.

Jul 31 2019, 9:09 AM · Restricted Project

Jul 30 2019

fedor.sergeev added a comment to D64179: [CodeGen] Define an interface for the new pass manager..

I believe in order to make progress here we first need to settle down on a very principal matter -

what kind of IRUnit MachineFunction is?
Jul 30 2019, 6:43 AM · Restricted Project
fedor.sergeev requested changes to D64179: [CodeGen] Define an interface for the new pass manager..

This definitely needs unit tests.
Please, check llvm/unittests/IR/PassManagerTest.cpp for Function/Module unit tests, and, say, llvm/unittest/Analysis/LoopPassManagerTest.cpp for Loop unit tests.

Jul 30 2019, 5:36 AM · Restricted Project
fedor.sergeev added a comment to D64188: [NewPM] Port the MIR Printing pass to new pass manager..

I took the liberty of setting a parent revision, hopefully thats what you did intend to do...

Jul 30 2019, 5:18 AM · Restricted Project
fedor.sergeev added a parent revision for D64188: [NewPM] Port the MIR Printing pass to new pass manager.: D64179: [CodeGen] Define an interface for the new pass manager..
Jul 30 2019, 5:15 AM · Restricted Project
fedor.sergeev added a child revision for D64179: [CodeGen] Define an interface for the new pass manager.: D64188: [NewPM] Port the MIR Printing pass to new pass manager..
Jul 30 2019, 5:15 AM · Restricted Project
fedor.sergeev added a comment to D64188: [NewPM] Port the MIR Printing pass to new pass manager..

I'm not familiar with MIR printing usecases, and there are no tests for MIR printer.
Yet if MIR printing pass is to be applied to the Module only then there is no need to make it a MachineFunction pass, just do everything in a single run(Module...) method.

Jul 30 2019, 5:11 AM · Restricted Project

Jul 2 2019

fedor.sergeev added a comment to D60740: [InlineCost] cleanup calculations of Cost and Threshold.

Thanks for the explanation. Temporarily reverted in r365000.

Thanks for @chandlerc doing the analysis and @rupprecht doing a revert!
I will surely get to addressing this issue now.

Jul 2 2019, 11:12 PM · Restricted Project

Jun 28 2019

fedor.sergeev added a comment to D63890: [CodeGen] First steps at porting CodeGen to new pass manager,.

Thanks for starting this effort!

Jun 28 2019, 3:26 AM · Restricted Project
fedor.sergeev added a reviewer for D63890: [CodeGen] First steps at porting CodeGen to new pass manager,: chandlerc.
Jun 28 2019, 3:16 AM · Restricted Project
fedor.sergeev edited reviewers for D63890: [CodeGen] First steps at porting CodeGen to new pass manager,, added: philip.pfaffe, fedor.sergeev; removed: chandlerc.
Jun 28 2019, 3:16 AM · Restricted Project

Jun 27 2019

fedor.sergeev committed rG92e625c2233c: [InlineCost] make InlineCost assignable (authored by fedor.sergeev).
[InlineCost] make InlineCost assignable
Jun 27 2019, 4:42 PM
fedor.sergeev committed rL364612: [InlineCost] make InlineCost assignable.
[InlineCost] make InlineCost assignable
Jun 27 2019, 4:41 PM