Page MenuHomePhabricator
Feed Advanced Search

Mar 16 2018

a.elovikov added inline comments to D44338: [LV][VPlan] Build plain CFG with simple VPInstructions for outer loops..
Mar 16 2018, 5:45 AM

Mar 15 2018

a.elovikov committed rL327617: [LoopUnroll] Ignore ephemeral values when checking full unroll profitability..
[LoopUnroll] Ignore ephemeral values when checking full unroll profitability.
Mar 15 2018, 3:03 AM
a.elovikov closed D43931: [LoopUnroll] Ignore ephemeral values when checking full unroll profitability..
Mar 15 2018, 3:03 AM
a.elovikov updated the diff for D43812: [LV] Let recordVectorLoopValueForInductionCast to check if IV was created from the cast..

Improve some comments.

Mar 15 2018, 2:26 AM

Mar 14 2018

a.elovikov added inline comments to D43812: [LV] Let recordVectorLoopValueForInductionCast to check if IV was created from the cast..
Mar 14 2018, 6:10 AM

Mar 1 2018

a.elovikov updated the summary of D43931: [LoopUnroll] Ignore ephemeral values when checking full unroll profitability..
Mar 1 2018, 1:59 AM
a.elovikov created D43931: [LoopUnroll] Ignore ephemeral values when checking full unroll profitability..
Mar 1 2018, 1:59 AM

Feb 27 2018

a.elovikov updated the diff for D43812: [LV] Let recordVectorLoopValueForInductionCast to check if IV was created from the cast..
Feb 27 2018, 11:25 AM
a.elovikov created D43812: [LV] Let recordVectorLoopValueForInductionCast to check if IV was created from the cast..
Feb 27 2018, 2:23 AM

Feb 15 2018

a.elovikov added a comment to D42717: [JumpThreading] sync DT for LVI analysis (PR 36133).

@a.elovikov and @dberlin does this look good to commit?

Feb 15 2018, 9:51 AM

Feb 14 2018

a.elovikov added a comment to D42717: [JumpThreading] sync DT for LVI analysis (PR 36133).

I might be missing something, but why don't we enable DT back in LVI after the JT pass finishes and flushes the DDT? Is it possible that we end up with disabled DT *after* the JT?

Feb 14 2018, 3:47 AM

Feb 13 2018

a.elovikov added inline comments to D42717: [JumpThreading] sync DT for LVI analysis (PR 36133).
Feb 13 2018, 1:45 AM

Jan 30 2018

a.elovikov committed rL323762: [X86FixupBWInsts] mir-simplify fixup-bw-inst.mir test. NFC..
[X86FixupBWInsts] mir-simplify fixup-bw-inst.mir test. NFC.
Jan 30 2018, 6:26 AM

Jan 29 2018

a.elovikov added a comment to D34135: [JumpThreading] Use DT to avoid processing dead blocks.

I've just submitted https://llvm.org/PR36133 containing a testcase that show how JumpThreadings miscompiles (without crashes) the code due to DomTree not being updated between the iterations of JumpThreading itself.

Jan 29 2018, 3:21 AM
a.elovikov committed rL323635: [X86FixupBWInsts] Fix miscompilation if sibling sub-register is live..
[X86FixupBWInsts] Fix miscompilation if sibling sub-register is live.
Jan 29 2018, 1:29 AM
a.elovikov closed D42533: [X86FixupBWInsts] Fix miscompilation if sibling sub-register is live..
Jan 29 2018, 1:29 AM

Jan 26 2018

a.elovikov added inline comments to D42533: [X86FixupBWInsts] Fix miscompilation if sibling sub-register is live..
Jan 26 2018, 7:31 AM
a.elovikov updated the diff for D42533: [X86FixupBWInsts] Fix miscompilation if sibling sub-register is live..

Use regsOverlap instead of isSuperOrSubRegisterEq.

Jan 26 2018, 7:30 AM
a.elovikov committed rL323513: [X86FixupBWInsts] Prefer positive checks in the test. NFC.
[X86FixupBWInsts] Prefer positive checks in the test. NFC
Jan 26 2018, 1:54 AM
a.elovikov closed D42531: [X86FixupBWInsts] Prefer positive checks in the test. NFC.
Jan 26 2018, 1:54 AM

Jan 25 2018

a.elovikov updated the diff for D42533: [X86FixupBWInsts] Fix miscompilation if sibling sub-register is live..

Indeed, on X86 checkRegistersAlias is just isSuperOrSubRegisterEq (although the former would be the right choice if that was not so :)).
Comment was added - thanks for the exact text!

Jan 25 2018, 10:00 AM
a.elovikov created D42533: [X86FixupBWInsts] Fix miscompilation if sibling sub-register is live..
Jan 25 2018, 5:59 AM
a.elovikov created D42531: [X86FixupBWInsts] Prefer positive checks in the test. NFC.
Jan 25 2018, 5:49 AM

Jan 15 2018

a.elovikov committed rL322473: [LV] Don't call recordVectorLoopValueForInductionCast for newly-created IV from….
[LV] Don't call recordVectorLoopValueForInductionCast for newly-created IV from…
Jan 15 2018, 2:57 AM
a.elovikov closed D41913: [LV] Don't call recordVectorLoopValueForInductionCast for newly-created IV from a trunc..
Jan 15 2018, 2:57 AM

Jan 11 2018

a.elovikov updated the diff for D41913: [LV] Don't call recordVectorLoopValueForInductionCast for newly-created IV from a trunc..
  • Move TODO from the test to the actual code.
Jan 11 2018, 2:12 PM
a.elovikov added a comment to D41913: [LV] Don't call recordVectorLoopValueForInductionCast for newly-created IV from a trunc..

Also, this should be a release blocker if it's not already. Thanks!

Jan 11 2018, 1:35 PM

Jan 10 2018

a.elovikov created D41913: [LV] Don't call recordVectorLoopValueForInductionCast for newly-created IV from a trunc..
Jan 10 2018, 11:35 AM

Dec 12 2017

a.elovikov added a comment to D40524: Handle the case of live 16-bit subregisters in X86FixupBWInsts.

In D40524#951832, @andrew.w.kaylor wrote:
I'm not terribly familiar with MIR as it appears in a test like this, but I can't see any reason that your proposed testcase would be invalid. I do think it's extremely unlikely to arise in actual generated Machine IR, since we hardly ever use the 8-bit high registers. What I'd like to do is commit the change from this review as is, and file a new Bugzilla report to track the 8bit_hi issue. Does that sound reasonable to you?

Dec 12 2017, 12:33 AM

Nov 30 2017

a.elovikov added inline comments to D40524: Handle the case of live 16-bit subregisters in X86FixupBWInsts.
Nov 30 2017, 4:12 AM
a.elovikov added a comment to D40524: Handle the case of live 16-bit subregisters in X86FixupBWInsts.

I'm not sure if the following is possible/legal but it fails even with this patch:

Nov 30 2017, 4:06 AM

Nov 28 2017

a.elovikov added inline comments to D40524: Handle the case of live 16-bit subregisters in X86FixupBWInsts.
Nov 28 2017, 8:16 AM

Sep 19 2017

a.elovikov committed rL313617: Test commit..
Test commit.
Sep 19 2017, 12:58 AM

Sep 14 2017

a.elovikov added a comment to D37453: [X86] In combineLoopSADPattern, pad result with zeros and use full size add instead of using a smaller add and inserting..

There is a typo in the summary: "were are", "make award".

Sep 14 2017, 3:02 PM
a.elovikov updated the diff for D37559: [X86FixupBWInsts] More presise register liveness if no <imp-use> on MOVs..
  • Address review comments.
Sep 14 2017, 12:59 AM

Sep 12 2017

a.elovikov added a comment to D37559: [X86FixupBWInsts] More presise register liveness if no <imp-use> on MOVs..

Ping.

Sep 12 2017, 11:28 AM

Sep 7 2017

a.elovikov created D37559: [X86FixupBWInsts] More presise register liveness if no <imp-use> on MOVs..
Sep 7 2017, 4:07 AM

Jul 27 2017

a.elovikov updated the diff for D33186: [InstCombine] Canonicalize clamp of float types to minmax in fast mode..

Rebased to updated D35002 where fptosi tests were added. That also included re-base to the current master.
No changes in the instcombine results for these added tests though.

Jul 27 2017, 4:24 AM
a.elovikov updated the diff for D35002: Add some tests for cast+clamp/min/max before D33186..

Added mixed clamp tests with fptosi.

Jul 27 2017, 4:14 AM

Jul 5 2017

a.elovikov updated the diff for D33186: [InstCombine] Canonicalize clamp of float types to minmax in fast mode..

Compare types instead of their sizes to decide if CastInst is needed.

Jul 5 2017, 2:23 AM
a.elovikov updated the diff for D33186: [InstCombine] Canonicalize clamp of float types to minmax in fast mode..

Rebase onto D35002.

Jul 5 2017, 2:21 AM
a.elovikov created D35002: Add some tests for cast+clamp/min/max before D33186..
Jul 5 2017, 2:18 AM

Jul 3 2017

a.elovikov added inline comments to D33186: [InstCombine] Canonicalize clamp of float types to minmax in fast mode..
Jul 3 2017, 12:59 PM
a.elovikov added inline comments to D33186: [InstCombine] Canonicalize clamp of float types to minmax in fast mode..
Jul 3 2017, 12:55 PM
a.elovikov requested review of D33186: [InstCombine] Canonicalize clamp of float types to minmax in fast mode..
Jul 3 2017, 7:33 AM
a.elovikov added a comment to D33186: [InstCombine] Canonicalize clamp of float types to minmax in fast mode..

Hi @efriedma, original commit caused the failure under UBSan. The latest uploaded revision fixes it.
Can you please take a look and say if it's ok?

Jul 3 2017, 7:33 AM
a.elovikov updated the diff for D33186: [InstCombine] Canonicalize clamp of float types to minmax in fast mode..
  • Fix UBSan error after D33186/r306525.
Jul 3 2017, 7:33 AM
a.elovikov reopened D33186: [InstCombine] Canonicalize clamp of float types to minmax in fast mode..
Jul 3 2017, 7:33 AM

Jun 28 2017

a.elovikov added a comment to D32994: [NFC] Use stdin for some tests instead of positional argument..

Remove the '-o -' too?

Just curious: why only these files? The problem occurs in hundreds of tests from what I can tell. Shouldn't we fix all of them?

Jun 28 2017, 6:26 AM
a.elovikov updated the diff for D32994: [NFC] Use stdin for some tests instead of positional argument..
  • Remove "-o -" too.
Jun 28 2017, 6:24 AM
a.elovikov added reviewers for D32994: [NFC] Use stdin for some tests instead of positional argument.: spatel, efriedma.

Ping.

Jun 28 2017, 1:40 AM

Jun 27 2017

a.elovikov updated the diff for D33186: [InstCombine] Canonicalize clamp of float types to minmax in fast mode..

Limit clamp->min/max transformation to float types only.

Jun 27 2017, 12:55 PM
a.elovikov added a comment to D33186: [InstCombine] Canonicalize clamp of float types to minmax in fast mode..

I'm okay with limiting it to FP vectors for now.

Jun 27 2017, 12:06 PM
a.elovikov added inline comments to D33186: [InstCombine] Canonicalize clamp of float types to minmax in fast mode..
Jun 27 2017, 2:00 AM

Jun 26 2017

a.elovikov added a comment to D34350: Add tests to document current InstCombine behavior for clamp pattern..

Do you need someone to commit this for you?

Jun 26 2017, 8:29 AM
a.elovikov updated the diff for D33186: [InstCombine] Canonicalize clamp of float types to minmax in fast mode..

Properly update keeping the dependence on D34350.

Jun 26 2017, 3:44 AM
a.elovikov added inline comments to D33186: [InstCombine] Canonicalize clamp of float types to minmax in fast mode..
Jun 26 2017, 3:33 AM
a.elovikov updated the diff for D33186: [InstCombine] Canonicalize clamp of float types to minmax in fast mode..
  • Update comments as requested in the review.
Jun 26 2017, 3:30 AM

Jun 19 2017

a.elovikov updated the diff for D33186: [InstCombine] Canonicalize clamp of float types to minmax in fast mode..

Now, properly re-base onto D34350 where the current status of the tests was captured.

Jun 19 2017, 8:26 AM
a.elovikov updated the diff for D33186: [InstCombine] Canonicalize clamp of float types to minmax in fast mode..
Re-base onto D34350 where the current status of the tests was captured.
Jun 19 2017, 8:05 AM
a.elovikov created D34350: Add tests to document current InstCombine behavior for clamp pattern..
Jun 19 2017, 8:01 AM

Jun 13 2017

a.elovikov updated the diff for D33185: Fix m_[Ord|Unord][FMin|FMax] matchers to correctly match ordering..
  • Fix typos in comments/move m_UnordFMin function as asked.
Jun 13 2017, 12:45 AM

Jun 12 2017

a.elovikov added a comment to D33185: Fix m_[Ord|Unord][FMin|FMax] matchers to correctly match ordering..

Sorry for the delay. Can this bug be exposed with an IR transform or a codegen test?

Jun 12 2017, 9:13 AM
a.elovikov added a comment to D33186: [InstCombine] Canonicalize clamp of float types to minmax in fast mode..

ping?..

Jun 12 2017, 12:23 AM

Jun 7 2017

a.elovikov added a comment to D33186: [InstCombine] Canonicalize clamp of float types to minmax in fast mode..

Ping.

Jun 7 2017, 1:42 AM

May 31 2017

a.elovikov added a comment to D33185: Fix m_[Ord|Unord][FMin|FMax] matchers to correctly match ordering..

Ping.

May 31 2017, 12:02 AM
a.elovikov added a comment to D33186: [InstCombine] Canonicalize clamp of float types to minmax in fast mode..

Ping.

May 31 2017, 12:02 AM

May 25 2017

a.elovikov added a comment to D32994: [NFC] Use stdin for some tests instead of positional argument..

Ping.

May 25 2017, 7:08 AM

May 22 2017

a.elovikov added a comment to D33186: [InstCombine] Canonicalize clamp of float types to minmax in fast mode..

Why wouldn't you state that they are custom lowered, and copy the generic bailout code from SelectionDAGBuilder.cpp if "nnan" isn't set?

May 22 2017, 3:32 AM
a.elovikov added a comment to D33186: [InstCombine] Canonicalize clamp of float types to minmax in fast mode..

ping.

May 22 2017, 12:42 AM

May 15 2017

a.elovikov added a comment to D33186: [InstCombine] Canonicalize clamp of float types to minmax in fast mode..

Right; that's X86's strange not-a-maxnum-not-a-maxnan behaviour where it just selects the zeroth operand.

You should be able to select that for either of FMAXNAN or FMAXNUM though when the "nnan" flag is set on the instruction, which should be the case in fast-math mode?

May 15 2017, 6:16 AM
a.elovikov added a comment to D33186: [InstCombine] Canonicalize clamp of float types to minmax in fast mode..

Hi,

On the other hand, some backends (e.g. X86) have only

FMIN/FMAX nodes that do not care about NaNS and the former NAN/NUM
nodes are illegal thus selection is not happening.

For my own reference so I can more effectively review this, could you please explain this a bit more? What is the defined behaviour for such instructions when given a NaN?

May 15 2017, 4:52 AM
a.elovikov created D33186: [InstCombine] Canonicalize clamp of float types to minmax in fast mode..
May 15 2017, 4:25 AM
a.elovikov added reviewers for D33185: Fix m_[Ord|Unord][FMin|FMax] matchers to correctly match ordering.: jmolloy, spatel.
May 15 2017, 4:13 AM
a.elovikov created D33185: Fix m_[Ord|Unord][FMin|FMax] matchers to correctly match ordering..
May 15 2017, 4:11 AM

May 9 2017

a.elovikov added a reviewer for D32994: [NFC] Use stdin for some tests instead of positional argument.: rengolin.
May 9 2017, 8:20 AM
a.elovikov updated subscribers of D32994: [NFC] Use stdin for some tests instead of positional argument..
May 9 2017, 3:49 AM
a.elovikov created D32994: [NFC] Use stdin for some tests instead of positional argument..
May 9 2017, 3:48 AM

Apr 18 2017

a.elovikov added reviewers for D32158: {GVNHoist] Mark GlobalsAA as preserved by GVNHoist.: sebpop, hiraditya.

I don't add a test here because it'll be added as part of https://reviews.llvm.org/D32015.

Apr 18 2017, 1:50 AM
a.elovikov created D32158: {GVNHoist] Mark GlobalsAA as preserved by GVNHoist..
Apr 18 2017, 1:45 AM

Apr 14 2017

a.elovikov added a comment to D32015: Make globalaa-retained.ll test catching more cases..

I have to note that after http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20170410/444886.html
[llvm] r300200 - Re-apply "[GVNHoist] Move GVNHoist to function simplification part of pipeline."
that test starts failing.

Does this mean that the test (if it had already been committed), would have found that r300200 breaks retaining GlobalsAA info; or is something wrong with the test?
Should GVNHoist be marked as preserving GlobalsAA? Or does it break GlobalsAA?

Apr 14 2017, 2:59 AM
a.elovikov added a comment to D32015: Make globalaa-retained.ll test catching more cases..

I have to note that after http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20170410/444886.html
[llvm] r300200 - Re-apply "[GVNHoist] Move GVNHoist to function simplification part of pipeline."
that test starts failing.

Apr 14 2017, 2:38 AM
a.elovikov updated the diff for D32015: Make globalaa-retained.ll test catching more cases..
  • Make the comment more detailed.
Apr 14 2017, 2:08 AM

Apr 13 2017

a.elovikov updated subscribers of D32015: Make globalaa-retained.ll test catching more cases..
Apr 13 2017, 8:15 AM
a.elovikov added a reviewer for D32015: Make globalaa-retained.ll test catching more cases.: kristof.beyls.
Apr 13 2017, 8:08 AM
a.elovikov created D32015: Make globalaa-retained.ll test catching more cases..
Apr 13 2017, 8:02 AM

Apr 6 2017

a.elovikov updated subscribers of rL299446: [PGO] Memory intrinsic calls optimization based on profiled size.

It seems that this new pass does not preserve GlobalsAA analysis which resulted in LICM not doing as many optimizations as it used to do before this change.
Does it really invalidate this analysis or maybe it just was missed in the list of preserved ones? And do you want me to provide some reduced test case for the issue (I don't have them yet, but probably can come up with it)?

Apr 6 2017, 8:53 AM