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 (139 w, 5 d)

Recent Activity

Wed, Sep 18

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

Great, thanks a lot!

Wed, Sep 18, 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.

Wed, Sep 18, 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...

Wed, Sep 18, 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
fedor.sergeev closed D63823: [InlineCost] make InlineCost assignable.
Jun 27 2019, 4:41 PM · Restricted Project
fedor.sergeev created D63902: [InlineCost] separate stats from CallAnalyzer into InliningStats.
Jun 27 2019, 3:16 PM · Restricted Project

Jun 26 2019

fedor.sergeev created D63823: [InlineCost] make InlineCost assignable.
Jun 26 2019, 7:35 AM · Restricted Project
fedor.sergeev committed rG1a3dc761860d: [InlineCost] cleanup calculations of Cost and Threshold (authored by fedor.sergeev).
[InlineCost] cleanup calculations of Cost and Threshold
Jun 26 2019, 6:28 AM
fedor.sergeev committed rL364422: [InlineCost] cleanup calculations of Cost and Threshold.
[InlineCost] cleanup calculations of Cost and Threshold
Jun 26 2019, 6:25 AM
fedor.sergeev closed D60740: [InlineCost] cleanup calculations of Cost and Threshold.
Jun 26 2019, 6:25 AM · Restricted Project
fedor.sergeev added a comment to D63706: [InlineCost] Fix bug 42084: remember negative result when computing full inline cost.

An example of inline-cost usage for the purpose of "inline body investigation" on inlining validity is in SampleProfileLoader::inlineCallInstruction.
Comments from it:

// Checks if there is anything in the reachable portion of the callee at
// this callsite that makes this inlining potentially illegal.

It is interesting that initial version of D37779 that introduced this usage was initially setting "kinda infinite" Threshold in order to reach the same effect.

Jun 26 2019, 1:40 AM · Restricted Project
fedor.sergeev added a comment to D63706: [InlineCost] Fix bug 42084: remember negative result when computing full inline cost.

Please, see my comment to PR42084: https://bugs.llvm.org/show_bug.cgi?id=42084#c3.
A core of the problem is in two difference Cost-vs-Threshold checks used in analyzeBlock (Cost >= Threshold) and analyzeCall (Cost < max(1, Threshold)).
I believe a proper fix for this bug would be to use a unified Cost-vs-Threshold check everywhere.

I agree that those two checks seem to be inconsistent with each other, but I insist on my fix. It makes the method analyzeBlock() return same result (negative or positive) regardless of the flag ComputeFullInlineCost.
The root cause is that the analyzeBlock() returns different results (negative or positive) for different ComputeFullInlineCost. And the checks you mentioned if fixed could just hide this difference.

The root cause for what?

Jun 26 2019, 1:24 AM · Restricted Project

Jun 24 2019

fedor.sergeev requested changes to D63706: [InlineCost] Fix bug 42084: remember negative result when computing full inline cost.

Please, see my comment to PR42084: https://bugs.llvm.org/show_bug.cgi?id=42084#c3.
A core of the problem is in two difference Cost-vs-Threshold checks used in analyzeBlock (Cost >= Threshold) and analyzeCall (Cost < max(1, Threshold)).
I believe a proper fix for this bug would be to use a unified Cost-vs-Threshold check everywhere.

Jun 24 2019, 9:26 AM · Restricted Project

Jun 21 2019

fedor.sergeev added a comment to D63058: [InlineCost] Fix bug 42084: return the first negative result.

I think this is somewhat the wrong approach.
I think we need to widen the interface a bit to return two pieces of information instead of one:

Jun 21 2019, 9:09 AM · Restricted Project

Jun 17 2019

fedor.sergeev added a comment to D63058: [InlineCost] Fix bug 42084: return the first negative result.

One issue bothers me: results of the InlineCost analyzer will depend on the flag ComputeFullInlineCost. Negative or positive decision will persist but the message and highest computed cost will be changing.

We already have the cost difference depending on this flag.
It seems to be rather obvious consequence of "full inline cost" notion and the difference should not be confusing...

Jun 17 2019, 3:33 AM · Restricted Project

Jun 13 2019

fedor.sergeev added a comment to D63034: Slightly increase LastCallToStaticBonus for cold callsites.

Btw, please, take a look at this review: https://reviews.llvm.org/D60740
I have not found time to integrate it yet, but it slightly changes the approach on handling this bonus
(main idea is to apply it to threshold, like majority of other bonues, instead of applying it to cost).

Jun 13 2019, 12:40 AM · Restricted Project
fedor.sergeev added a reviewer for D63034: Slightly increase LastCallToStaticBonus for cold callsites: fedor.sergeev.
Jun 13 2019, 12:40 AM · Restricted Project

May 8 2019

fedor.sergeev added a comment to D60935: [IndVarSimplify] Fixup nowrap flags during LFTR when moving to post-inc (PR31181).

discovered an unfinished review that Sanjoy was doing to address PR31181: D30446
(mentioning just in case it appears to be useful)

May 8 2019, 1:27 AM · Restricted Project

Apr 30 2019

fedor.sergeev committed rGeeae45dc77d2: [NFC][InlineCost] cleanup - comments, overflow handling. (authored by fedor.sergeev).
[NFC][InlineCost] cleanup - comments, overflow handling.
Apr 30 2019, 1:43 PM
fedor.sergeev committed rL359609: [NFC][InlineCost] cleanup - comments, overflow handling..
[NFC][InlineCost] cleanup - comments, overflow handling.
Apr 30 2019, 1:43 PM
fedor.sergeev closed D60751: [NFC][InlineCost] cleanup - comments, overflow handling..
Apr 30 2019, 1:43 PM · Restricted Project

Apr 27 2019

fedor.sergeev updated the diff for D60740: [InlineCost] cleanup calculations of Cost and Threshold.

removing InlineCallBonus

Apr 27 2019, 11:34 AM · Restricted Project
fedor.sergeev updated the summary of D60740: [InlineCost] cleanup calculations of Cost and Threshold.
Apr 27 2019, 11:34 AM · Restricted Project
fedor.sergeev updated the diff for D60751: [NFC][InlineCost] cleanup - comments, overflow handling..

adding assert

Apr 27 2019, 6:35 AM · Restricted Project
fedor.sergeev added inline comments to D60751: [NFC][InlineCost] cleanup - comments, overflow handling..
Apr 27 2019, 3:35 AM · Restricted Project

Apr 23 2019

fedor.sergeev committed rG652168a99b5c: [CallSite removal] move InlineCost to CallBase usage (authored by fedor.sergeev).
[CallSite removal] move InlineCost to CallBase usage
Apr 23 2019, 5:42 AM
fedor.sergeev committed rL358982: [CallSite removal] move InlineCost to CallBase usage.
[CallSite removal] move InlineCost to CallBase usage
Apr 23 2019, 5:41 AM
fedor.sergeev closed D60636: [CallSite removal] move InlineCost to CallBase usage.
Apr 23 2019, 5:41 AM · Restricted Project
fedor.sergeev added inline comments to D60636: [CallSite removal] move InlineCost to CallBase usage.
Apr 23 2019, 5:02 AM · Restricted Project

Apr 22 2019

fedor.sergeev abandoned D60814: [PassBuilder] promote pass-pipeline parsing API to public.
Apr 22 2019, 3:50 AM · Restricted Project
fedor.sergeev added a comment to D60740: [InlineCost] cleanup calculations of Cost and Threshold.

ping?

Apr 22 2019, 3:48 AM · Restricted Project
fedor.sergeev added a comment to D60636: [CallSite removal] move InlineCost to CallBase usage.

ping?

Apr 22 2019, 3:48 AM · Restricted Project
fedor.sergeev added reviewers for D60636: [CallSite removal] move InlineCost to CallBase usage: asbirlea, yrouban.
Apr 22 2019, 3:48 AM · Restricted Project
fedor.sergeev accepted D60676: [NewPM] Add Option handling for SimpleLoopUnswitch.

LGTM.

Apr 22 2019, 2:37 AM · Restricted Project

Apr 21 2019

fedor.sergeev requested changes to D60676: [NewPM] Add Option handling for SimpleLoopUnswitch.
Apr 21 2019, 7:26 AM · Restricted Project
fedor.sergeev accepted D56336: [Support] unflake TempFileCollisions test.

Looks good!

Apr 21 2019, 7:22 AM · Restricted Project

Apr 18 2019

fedor.sergeev added inline comments to D60676: [NewPM] Add Option handling for SimpleLoopUnswitch.
Apr 18 2019, 10:54 PM · Restricted Project
fedor.sergeev added a comment to D60814: [PassBuilder] promote pass-pipeline parsing API to public.

see D60870 for a proof-of-concept implementation of PipelineParser.

Apr 18 2019, 2:05 PM · Restricted Project
fedor.sergeev added a comment to D60870: POC. [PassBuilder] introduce a separate pass-pipeline parsing API.

This is not yet complete (in particular parseAA is still in PassBuilder atm).
However I would like to get a feedback on overall organization.
Right now:

  • PipelineParser is a nested class in PassBuilder
  • it is created for a single text-pipeline-parsing query
  • text is processed into a pipeline vector and kept in the parser
  • callbacks still reside in pass builder, accessed through a reference to pass builder kept in the parser
  • callbacks take both Parser and array of Elements
Apr 18 2019, 8:24 AM · Restricted Project
fedor.sergeev created D60870: POC. [PassBuilder] introduce a separate pass-pipeline parsing API.
Apr 18 2019, 7:50 AM · Restricted Project

Apr 17 2019

fedor.sergeev accepted D60681: [NewPM] Add Option handling for LoopVectorize.

LGTM.

Apr 17 2019, 10:42 PM · Restricted Project
fedor.sergeev requested changes to D60676: [NewPM] Add Option handling for SimpleLoopUnswitch.
Apr 17 2019, 10:42 PM · Restricted Project
fedor.sergeev added a comment to D60814: [PassBuilder] promote pass-pipeline parsing API to public.

Yeah, the array-ref API here is already pretty leaky. It'd be really nice if we could only give the callbacks the necessary APIs here, but not sure its worth building that abstraction. I think the way I'd do it is create a parser type that is only built by the PassBuilder and is passed into the callbacks. It would then have these APIs, etc. It'd also be used internally to implement the main parsing API. Thoughts?

It might be a bit conceptually cleaner, but other than renaming the object from PassBuilder to PassPipelineParser (and internally talking to PassBuilder), what would be the API difference
compared to what is being suggested here?
I see a bunch of questions, e.g. - should we keep the callbacks in the parser object? etc
And I dont really see what practical benefits would we get from separating the parsing API out...

Apr 17 2019, 8:05 AM · Restricted Project
fedor.sergeev added a comment to D60814: [PassBuilder] promote pass-pipeline parsing API to public.

What is your specific usecase for this? You have a custom PassManager which can contain, e.g., a function pass pipeline?

Right. We are building our own "kinda-SCC" pass manager, which runs inlining-devirtualization iteration doing walk over functions in rather different order than current SCC does.
This pass manager right now accepts at least one function pass pipeline (and we think about adding one more), and I would like to be able to populate this pass manager from -passes.

Apr 17 2019, 3:33 AM · Restricted Project

Apr 16 2019

fedor.sergeev added a comment to D60783: [LoopPred] Implement a version of the profitability heuristic w/o BPI.

In the new pass manager, getting access to BPI reliability is a challenge. In practice, we've been running downstream with a variation of this non-BPI based heuristic.

Can you please explain why? The new pass manager was supposed to make our problems getting a hold of analysis results in different places easier, not harder.

New pass manager provides proper organization of analyses but it cant (and shouldnt!) hide innate asymmetry in relationship between Function-level analysis and Loop-level transformation.
NPM specifically prohibits reruns of outer-level analysis from within a inner-level-pass (proxy is readonly).
When working on loop-level you can only *use* function/module-level analysis, manually *preserve* it or automatically invalidate analysis results as a whole after the changes to IR.
That seems to be a proper design decision.

Apr 16 2019, 11:52 PM · Restricted Project
fedor.sergeev created D60814: [PassBuilder] promote pass-pipeline parsing API to public.
Apr 16 2019, 11:21 PM · Restricted Project
fedor.sergeev updated the summary of D60740: [InlineCost] cleanup calculations of Cost and Threshold.
Apr 16 2019, 3:13 AM · Restricted Project
fedor.sergeev updated the summary of D60740: [InlineCost] cleanup calculations of Cost and Threshold.
Apr 16 2019, 3:13 AM · Restricted Project
fedor.sergeev added a reviewer for D60751: [NFC][InlineCost] cleanup - comments, overflow handling.: apilipenko.
Apr 16 2019, 3:08 AM · Restricted Project
fedor.sergeev added a reviewer for D60740: [InlineCost] cleanup calculations of Cost and Threshold: apilipenko.
Apr 16 2019, 3:07 AM · Restricted Project

Apr 15 2019

fedor.sergeev updated the summary of D60740: [InlineCost] cleanup calculations of Cost and Threshold.
Apr 15 2019, 10:40 PM · Restricted Project
fedor.sergeev updated the summary of D60740: [InlineCost] cleanup calculations of Cost and Threshold.
Apr 15 2019, 10:40 PM · Restricted Project
fedor.sergeev added a child revision for D60751: [NFC][InlineCost] cleanup - comments, overflow handling.: D60740: [InlineCost] cleanup calculations of Cost and Threshold.
Apr 15 2019, 10:33 PM · Restricted Project
fedor.sergeev added a parent revision for D60740: [InlineCost] cleanup calculations of Cost and Threshold: D60751: [NFC][InlineCost] cleanup - comments, overflow handling..
Apr 15 2019, 10:33 PM · Restricted Project
fedor.sergeev created D60751: [NFC][InlineCost] cleanup - comments, overflow handling..
Apr 15 2019, 10:33 PM · Restricted Project
fedor.sergeev updated the diff for D60740: [InlineCost] cleanup calculations of Cost and Threshold.

moving NFC part out of this change

Apr 15 2019, 10:32 PM · Restricted Project
fedor.sergeev added a child revision for D60412: [CallSite removal] Move the legacy PM, call graph, and some inliner code to `CallBase`.: D60636: [CallSite removal] move InlineCost to CallBase usage.
Apr 15 2019, 9:53 PM · Restricted Project
fedor.sergeev added a parent revision for D60636: [CallSite removal] move InlineCost to CallBase usage: D60412: [CallSite removal] Move the legacy PM, call graph, and some inliner code to `CallBase`..
Apr 15 2019, 9:53 PM · Restricted Project
fedor.sergeev added inline comments to D60740: [InlineCost] cleanup calculations of Cost and Threshold.
Apr 15 2019, 9:45 PM · Restricted Project
fedor.sergeev created D60740: [InlineCost] cleanup calculations of Cost and Threshold.
Apr 15 2019, 5:16 PM · Restricted Project
fedor.sergeev added a reviewer for D59918: [Attributor] Pass infrastructure and fixpoint framework: chandlerc.
Apr 15 2019, 3:00 PM · Restricted Project

Apr 14 2019

fedor.sergeev accepted D60675: [NewPM] Add Option handling for SimplifyCFG.

LGTM.

Apr 14 2019, 11:30 PM · Restricted Project
fedor.sergeev added inline comments to D60675: [NewPM] Add Option handling for SimplifyCFG.
Apr 14 2019, 11:02 PM · Restricted Project

Apr 12 2019

fedor.sergeev created D60636: [CallSite removal] move InlineCost to CallBase usage.
Apr 12 2019, 3:00 PM · Restricted Project

Apr 9 2019

fedor.sergeev added a reviewer for D59920: [FunctionAttrs] Remove old "returned" argument deduction: chandlerc.
Apr 9 2019, 2:03 AM · Restricted Project
fedor.sergeev added a reviewer for D59919: [Attributor] Deduce "returned" argument attribute: chandlerc.
Apr 9 2019, 2:03 AM · Restricted Project, Restricted Project

Apr 8 2019

fedor.sergeev accepted D60412: [CallSite removal] Move the legacy PM, call graph, and some inliner code to `CallBase`..

LGTM, thanks!

Apr 8 2019, 9:07 AM · Restricted Project