apilipenko (Artur Pilipenko)
User

Projects

User does not belong to any projects.

User Details

User Since
Apr 16 2015, 3:05 AM (131 w, 3 d)

Recent Activity

Fri, Oct 20

apilipenko updated the diff for D39097: [LoopPredication] Handle the case when the guard and the latch IV have different offsets.

Upload diff with context. Minor fix in the header comment.

Fri, Oct 20, 6:23 AM

Thu, Oct 19

apilipenko created D39097: [LoopPredication] Handle the case when the guard and the latch IV have different offsets.
Thu, Oct 19, 9:29 AM

Thu, Oct 12

apilipenko committed rL315623: [LoopPredication] Check whether the loop is already guarded by the first….
[LoopPredication] Check whether the loop is already guarded by the first…
Thu, Oct 12, 2:21 PM
apilipenko committed rL315616: [LoopPredication] Support ule, sle latch predicates.
[LoopPredication] Support ule, sle latch predicates
Thu, Oct 12, 1:40 PM
apilipenko closed D38177: [LoopPredication] Support ule, sle latch predicates by committing rL315616: [LoopPredication] Support ule, sle latch predicates.
Thu, Oct 12, 1:40 PM
apilipenko accepted D38766: [CVP] Process binary operations even when def is local.

Did you measure the compile time impact somehow?

Thu, Oct 12, 6:45 AM

Fri, Oct 6

apilipenko added inline comments to D38177: [LoopPredication] Support ule, sle latch predicates.
Fri, Oct 6, 9:02 AM

Thu, Oct 5

apilipenko committed rL314988: [X86] Fix chains update when lowering BUILD_VECTOR to a vector load.
[X86] Fix chains update when lowering BUILD_VECTOR to a vector load
Thu, Oct 5, 9:30 AM
apilipenko closed D38547: [X86] Fix chains update when lowering BUILD_VECTOR to a vector load by committing rL314988: [X86] Fix chains update when lowering BUILD_VECTOR to a vector load.
Thu, Oct 5, 9:30 AM

Wed, Oct 4

apilipenko added a comment to D38547: [X86] Fix chains update when lowering BUILD_VECTOR to a vector load.

Is this PR10114 ?

Wed, Oct 4, 10:27 AM
apilipenko created D38547: [X86] Fix chains update when lowering BUILD_VECTOR to a vector load.
Wed, Oct 4, 9:44 AM

Sep 22 2017

apilipenko created D38177: [LoopPredication] Support ule, sle latch predicates.
Sep 22 2017, 6:20 AM
apilipenko committed rL313981: Rework loop predication pass.
Rework loop predication pass
Sep 22 2017, 6:15 AM
apilipenko closed D37569: Rework loop predication pass by committing rL313981: Rework loop predication pass.
Sep 22 2017, 6:15 AM

Sep 7 2017

apilipenko updated the summary of D37569: Rework loop predication pass.
Sep 7 2017, 7:20 AM
apilipenko updated the summary of D37569: Rework loop predication pass.
Sep 7 2017, 7:19 AM
apilipenko created D37569: Rework loop predication pass.
Sep 7 2017, 7:18 AM

May 25 2017

apilipenko committed rL303870: [InstCombine] Teach isAllocSiteRemovable to look through addrspacecasts.
[InstCombine] Teach isAllocSiteRemovable to look through addrspacecasts
May 25 2017, 8:15 AM
apilipenko closed D28565: [InstCombine] Teach isAllocSiteRemovable to look through addrspacecasts by committing rL303870: [InstCombine] Teach isAllocSiteRemovable to look through addrspacecasts.
May 25 2017, 8:15 AM

May 22 2017

apilipenko committed rL303544: [LoopPredication] NFC. Add extra debug output in case we fail to parse the….
[LoopPredication] NFC. Add extra debug output in case we fail to parse the…
May 22 2017, 5:07 AM
apilipenko committed rL303543: [LoopPredication] NFC. Move a nested struct declaration before the fields….
[LoopPredication] NFC. Move a nested struct declaration before the fields…
May 22 2017, 5:01 AM

May 19 2017

apilipenko committed rL303427: [LoopPredication] NFC. Extract LoopICmp struct and parseLoopICmp helper.
[LoopPredication] NFC. Extract LoopICmp struct and parseLoopICmp helper
May 19 2017, 7:16 AM
apilipenko committed rL303426: [LoopPredication] NFC. Extract LoopPredication::expandCheck helper.
[LoopPredication] NFC. Extract LoopPredication::expandCheck helper
May 19 2017, 7:14 AM
apilipenko committed rL303425: [LoopPredication] NFC. Extract CanExpand helper lambda.
[LoopPredication] NFC. Extract CanExpand helper lambda
May 19 2017, 7:13 AM
apilipenko committed rL303424: [LoopPredication] NFC. Add an early exit if there is no guards in the loop.
[LoopPredication] NFC. Add an early exit if there is no guards in the loop
May 19 2017, 7:13 AM

Apr 22 2017

apilipenko committed rL301070: Fix for PR32740 - Invalid floating type, unreachable between r300969 and r301029.
Fix for PR32740 - Invalid floating type, unreachable between r300969 and r301029
Apr 22 2017, 12:37 AM

Apr 21 2017

apilipenko committed rL301018: [InstCombine] fadd double (sitofp x), y check that the promotion is valid.
[InstCombine] fadd double (sitofp x), y check that the promotion is valid
Apr 21 2017, 11:58 AM
apilipenko closed D31182: [InstCombine] fadd double (sitofp x), y check that the promotion is valid by committing rL301018: [InstCombine] fadd double (sitofp x), y check that the promotion is valid.
Apr 21 2017, 11:58 AM
apilipenko added a comment to D31182: [InstCombine] fadd double (sitofp x), y check that the promotion is valid .

@andrew.w.kaylor - ping, do you have any comments about the latest revision?

Apr 21 2017, 3:50 AM

Apr 13 2017

apilipenko updated the diff for D31182: [InstCombine] fadd double (sitofp x), y check that the promotion is valid .

Add the comment about overly conservative legality check, add the test demonstrating it.

Apr 13 2017, 6:06 AM

Mar 30 2017

apilipenko added a comment to D31182: [InstCombine] fadd double (sitofp x), y check that the promotion is valid .

Update, I didn't see that there was a request to add a comment. Will do and update the patch,

Mar 30 2017, 2:46 AM

Mar 23 2017

apilipenko added inline comments to D31182: [InstCombine] fadd double (sitofp x), y check that the promotion is valid .
Mar 23 2017, 12:12 PM
apilipenko updated the diff for D31182: [InstCombine] fadd double (sitofp x), y check that the promotion is valid .

Address review comments.

Mar 23 2017, 12:12 PM

Mar 22 2017

apilipenko added a comment to D31182: [InstCombine] fadd double (sitofp x), y check that the promotion is valid .

Before getting to any details about the patch, we need to address the question raised in PR27036: why are we doing this transform in InstCombine at all? The assumption is that an integer add is more canonical and/or cheaper than an FP add. Is that universally true?

It's difficult to tell. Even if FP addition is cheaper the second combine also saves us one sitofp conversion. It should be also taken into account.

Mar 22 2017, 9:10 AM

Mar 21 2017

apilipenko created D31182: [InstCombine] fadd double (sitofp x), y check that the promotion is valid .
Mar 21 2017, 5:00 AM
apilipenko committed rL298359: NFC. InstCombiner::visitFAdd extract LHSIntVal/RHSIntVal local variables.
NFC. InstCombiner::visitFAdd extract LHSIntVal/RHSIntVal local variables
Mar 21 2017, 4:44 AM

Mar 10 2017

apilipenko accepted D30790: [LVI] Add an LVI printer pass to capture test LVI cache after transformations.
Mar 10 2017, 9:55 AM
apilipenko added inline comments to D30790: [LVI] Add an LVI printer pass to capture test LVI cache after transformations.
Mar 10 2017, 9:06 AM
apilipenko added a comment to D30790: [LVI] Add an LVI printer pass to capture test LVI cache after transformations.

It's worth noting for others that the motivation for the change is a bug we found in JumpThreading LVI cache invalidation. The bug is easily triggered with our downstream changes, but is difficult to trigger it upstream. We need the printer pass to write an isolated upstream test case for this problem.

Mar 10 2017, 3:04 AM

Mar 1 2017

apilipenko committed rL296651: [DAGCombiner] Support {a|s}ext, {a|z|s}ext load nodes in load combine.
[DAGCombiner] Support {a|s}ext, {a|z|s}ext load nodes in load combine
Mar 1 2017, 10:24 AM

Feb 27 2017

apilipenko committed rL296345: Loop predication expand both sides of the widened condition.
Loop predication expand both sides of the widened condition
Feb 27 2017, 7:56 AM
apilipenko closed D30099: Loop predication expand both sides of the widened condition by committing rL296345: Loop predication expand both sides of the widened condition.
Feb 27 2017, 7:56 AM
apilipenko committed rL296336: [DAGCombine] Fix for a load combine bug with non-zero offset patterns on BE….
[DAGCombine] Fix for a load combine bug with non-zero offset patterns on BE…
Feb 27 2017, 5:16 AM
apilipenko committed rL296332: [DAGCombine] NFC. MatchLoadCombine extract MemoryByteOffset lambda helper.
[DAGCombine] NFC. MatchLoadCombine extract MemoryByteOffset lambda helper
Feb 27 2017, 3:54 AM
apilipenko committed rL296331: [DAGCombine] NFC. MatchLoadCombine remember the first byte provider, not the….
[DAGCombine] NFC. MatchLoadCombine remember the first byte provider, not the…
Feb 27 2017, 3:52 AM

Feb 17 2017

apilipenko created D30099: Loop predication expand both sides of the widened condition.
Feb 17 2017, 8:13 AM

Feb 16 2017

apilipenko committed rL295336: [DAGCombiner] Support {a|s}ext, {a|z|s}ext load nodes in load combine.
[DAGCombiner] Support {a|s}ext, {a|z|s}ext load nodes in load combine
Feb 16 2017, 9:19 AM
apilipenko committed rL295316: Rever -r295314 "[DAGCombiner] Support {a|s}ext, {a|z|s}ext load nodes in load….
Rever -r295314 "[DAGCombiner] Support {a|s}ext, {a|z|s}ext load nodes in load…
Feb 16 2017, 5:16 AM
apilipenko committed rL295314: [DAGCombiner] Support {a|s}ext, {a|z|s}ext load nodes in load combine.
[DAGCombiner] Support {a|s}ext, {a|z|s}ext load nodes in load combine
Feb 16 2017, 5:05 AM
apilipenko closed D29591: [DAGCombiner] Support {a|s}ext, {a|z|s}ext load nodes in load combine by committing rL295314: [DAGCombiner] Support {a|s}ext, {a|z|s}ext load nodes in load combine.
Feb 16 2017, 5:05 AM

Feb 9 2017

apilipenko committed rL294591: Add DAGCombiner load combine tests for partially available values.
Add DAGCombiner load combine tests for partially available values
Feb 9 2017, 7:25 AM
apilipenko committed rL294582: [DAGCombiner] Support non-zero offset in load combine.
[DAGCombiner] Support non-zero offset in load combine
Feb 9 2017, 4:18 AM
apilipenko closed D29394: [DAGCombiner] Support non-zero offset in load combine by committing rL294582: [DAGCombiner] Support non-zero offset in load combine.
Feb 9 2017, 4:17 AM

Feb 8 2017

apilipenko committed rL294494: [DAGCombiner] NFC. Mark ByteProvider accessors as const.
[DAGCombiner] NFC. Mark ByteProvider accessors as const
Feb 8 2017, 10:11 AM
apilipenko updated the diff for D29394: [DAGCombiner] Support non-zero offset in load combine.

Add an assert as suggested.

Feb 8 2017, 7:48 AM

Feb 7 2017

apilipenko added a dependency for D29591: [DAGCombiner] Support {a|s}ext, {a|z|s}ext load nodes in load combine: D29394: [DAGCombiner] Support non-zero offset in load combine.
Feb 7 2017, 7:16 AM
apilipenko added a dependent revision for D29394: [DAGCombiner] Support non-zero offset in load combine: D29591: [DAGCombiner] Support {a|s}ext, {a|z|s}ext load nodes in load combine.
Feb 7 2017, 7:16 AM
apilipenko added inline comments to D29591: [DAGCombiner] Support {a|s}ext, {a|z|s}ext load nodes in load combine.
Feb 7 2017, 7:15 AM
apilipenko updated the diff for D29591: [DAGCombiner] Support {a|s}ext, {a|z|s}ext load nodes in load combine.
  • Land tests separately and rebase the patch against it.
  • Remove addrspace(1) from the test cases.
  • Change CHECK pattern matching in fp16-promote.ll test_extractelement slightly.
Feb 7 2017, 7:04 AM
apilipenko committed rL294305: Add DAGCombiner load combine tests for {a|s}ext, {a|z|s}ext load nodes.
Add DAGCombiner load combine tests for {a|s}ext, {a|z|s}ext load nodes
Feb 7 2017, 6:21 AM

Feb 6 2017

apilipenko created D29591: [DAGCombiner] Support {a|s}ext, {a|z|s}ext load nodes in load combine.
Feb 6 2017, 10:06 AM
apilipenko committed rL294201: [DAGCombiner] Support bswap as a part of load combine patterns.
[DAGCombiner] Support bswap as a part of load combine patterns
Feb 6 2017, 9:59 AM
apilipenko closed D29397: [DAGCombiner] Support bswap as a part of load combine patterns by committing rL294201: [DAGCombiner] Support bswap as a part of load combine patterns.
Feb 6 2017, 9:59 AM
apilipenko updated the diff for D29397: [DAGCombiner] Support bswap as a part of load combine patterns .
Feb 6 2017, 7:49 AM
apilipenko updated the diff for D29397: [DAGCombiner] Support bswap as a part of load combine patterns .

Fix the type CHECK64 -> CHECK-ARMv6 in ARM load-combine.ll test case.

Feb 6 2017, 7:06 AM
apilipenko updated the diff for D29394: [DAGCombiner] Support non-zero offset in load combine.

The test cases have been landed separately (rL294185), rebase the patch.

Feb 6 2017, 7:02 AM
apilipenko committed rL294185: Add DAGCombiner load combine tests with non-zero offset.
Add DAGCombiner load combine tests with non-zero offset
Feb 6 2017, 6:27 AM

Feb 1 2017

apilipenko created D29397: [DAGCombiner] Support bswap as a part of load combine patterns .
Feb 1 2017, 7:58 AM
apilipenko updated the summary of D29394: [DAGCombiner] Support non-zero offset in load combine.
Feb 1 2017, 6:36 AM
apilipenko created D29394: [DAGCombiner] Support non-zero offset in load combine.
Feb 1 2017, 6:36 AM
apilipenko committed rL293762: [LoopPredication] Add a new line to debug output in LoopPredication pass.
[LoopPredication] Add a new line to debug output in LoopPredication pass
Feb 1 2017, 4:37 AM

Jan 31 2017

apilipenko added inline comments to D29220: [InstCombine] Re-enable guard canonicalization for AND and NOT OR.
Jan 31 2017, 12:41 AM

Jan 25 2017

apilipenko committed rL293064: [Guards] Introduce loop-predication pass.
[Guards] Introduce loop-predication pass
Jan 25 2017, 8:12 AM
apilipenko closed D29034: [Guards] Introduce loop-predication pass by committing rL293064: [Guards] Introduce loop-predication pass.
Jan 25 2017, 8:12 AM
apilipenko committed rL293062: NFC. Make ScalarEvolution::isMonotonicPredicate public.
NFC. Make ScalarEvolution::isMonotonicPredicate public
Jan 25 2017, 7:19 AM
apilipenko committed rL293061: [InstCombine] Canonicalize guards for NOT OR condition.
[InstCombine] Canonicalize guards for NOT OR condition
Jan 25 2017, 6:56 AM
apilipenko closed D29075: Canonicalize guards for NOT OR condition by committing rL293061: [InstCombine] Canonicalize guards for NOT OR condition.
Jan 25 2017, 6:56 AM
apilipenko committed rL293058: [InstCombine] Canonicalize guards for AND condition.
[InstCombine] Canonicalize guards for AND condition
Jan 25 2017, 6:32 AM
apilipenko closed D29074: Canonicalize guards for AND condition by committing rL293058: [InstCombine] Canonicalize guards for AND condition.
Jan 25 2017, 6:32 AM
apilipenko committed rL293056: [InstCombine] Allow InstrCombine to remove one of adjacent guards if they are….
[InstCombine] Allow InstrCombine to remove one of adjacent guards if they are…
Jan 25 2017, 6:23 AM
apilipenko closed D29071: Allow InstrCombine to remove one of adjacent guards if they are equivalent by committing rL293056: [InstCombine] Allow InstrCombine to remove one of adjacent guards if they are….
Jan 25 2017, 6:23 AM
apilipenko accepted D29075: Canonicalize guards for NOT OR condition.
Jan 25 2017, 1:47 AM
apilipenko accepted D29074: Canonicalize guards for AND condition.
Jan 25 2017, 1:46 AM
apilipenko committed rL293039: Fix buildbot failures introduced by 293036.
Fix buildbot failures introduced by 293036
Jan 25 2017, 1:21 AM
apilipenko committed rL293036: [DAGCombiner] Match load by bytes idiom and fold it into a single load. Attempt….
[DAGCombiner] Match load by bytes idiom and fold it into a single load. Attempt…
Jan 25 2017, 1:05 AM
apilipenko closed D27861: [DAGCombiner] Match load by bytes idiom and fold it into a single load. Attempt #2. by committing rL293036: [DAGCombiner] Match load by bytes idiom and fold it into a single load. Attempt….
Jan 25 2017, 1:04 AM
apilipenko updated subscribers of D29034: [Guards] Introduce loop-predication pass.
Jan 25 2017, 12:35 AM
apilipenko updated subscribers of D27861: [DAGCombiner] Match load by bytes idiom and fold it into a single load. Attempt #2..
Jan 25 2017, 12:35 AM
apilipenko accepted D29071: Allow InstrCombine to remove one of adjacent guards if they are equivalent.
Jan 25 2017, 12:31 AM
apilipenko added inline comments to D29075: Canonicalize guards for NOT OR condition.
Jan 25 2017, 12:30 AM
apilipenko added inline comments to D29074: Canonicalize guards for AND condition.
Jan 25 2017, 12:28 AM

Jan 24 2017

apilipenko updated the diff for D29034: [Guards] Introduce loop-predication pass.

Address Sanjoy's comments: add new pass manager support, fix nits here and there.
Add an early exit if the module doesn't use guards.

Jan 24 2017, 10:23 AM
apilipenko added a comment to D27861: [DAGCombiner] Match load by bytes idiom and fold it into a single load. Attempt #2..

@chandlerc since none of your comments express explicit objections or concerns and the patch has already been accepted I'm going to go ahead and land it tomorrow. Let me know if I misinterpreted your comments and you do want some changes.

Jan 24 2017, 10:02 AM
apilipenko added inline comments to D29075: Canonicalize guards for NOT OR condition.
Jan 24 2017, 9:54 AM
apilipenko added inline comments to D29074: Canonicalize guards for AND condition.
Jan 24 2017, 9:51 AM
apilipenko added inline comments to D29071: Allow InstrCombine to remove one of adjacent guards if they are equivalent.
Jan 24 2017, 9:33 AM

Jan 23 2017

apilipenko updated the summary of D29034: [Guards] Introduce loop-predication pass.
Jan 23 2017, 8:10 AM
apilipenko created D29034: [Guards] Introduce loop-predication pass.
Jan 23 2017, 8:08 AM

Jan 16 2017

apilipenko updated the diff for D27861: [DAGCombiner] Match load by bytes idiom and fold it into a single load. Attempt #2..

Address review comments:

  • Add recursion depth limit
  • Add comments about combine before legalize
Jan 16 2017, 4:54 AM
apilipenko added inline comments to D27861: [DAGCombiner] Match load by bytes idiom and fold it into a single load. Attempt #2..
Jan 16 2017, 4:45 AM