Page MenuHomePhabricator
Feed Advanced Search

Yesterday

lkail added a comment to D65267: [MachineCopyPropagation] Remove redundant copies after TailDup via machine-cp.

ping.

Thu, Aug 22, 6:39 PM · Restricted Project
lkail updated the summary of D65267: [MachineCopyPropagation] Remove redundant copies after TailDup via machine-cp.
Thu, Aug 22, 6:39 PM · Restricted Project

Mon, Aug 19

lkail abandoned D62890: [DAGCombiner] Merge consecutive stores of vector elements before types are legalized.

Since this patch has long been not updated, I'll close it and plan another patch that also works for PowerPC.

Mon, Aug 19, 6:33 PM · Restricted Project
lkail added a comment to D62890: [DAGCombiner] Merge consecutive stores of vector elements before types are legalized.

Hi @RKSimon , currently I'm not working on it. I should have abandoned this patch. I might have another patch which also works for PowerPC.

Mon, Aug 19, 6:33 PM · Restricted Project

Sun, Aug 18

lkail updated the summary of D65267: [MachineCopyPropagation] Remove redundant copies after TailDup via machine-cp.
Sun, Aug 18, 9:53 PM · Restricted Project
lkail updated the diff for D65267: [MachineCopyPropagation] Remove redundant copies after TailDup via machine-cp.
Sun, Aug 18, 9:45 PM · Restricted Project
lkail updated the summary of D65267: [MachineCopyPropagation] Remove redundant copies after TailDup via machine-cp.
Sun, Aug 18, 7:38 PM · Restricted Project
lkail updated the diff for D65267: [MachineCopyPropagation] Remove redundant copies after TailDup via machine-cp.

Updated the patch and summary.

Sun, Aug 18, 6:40 PM · Restricted Project
lkail updated the summary of D65267: [MachineCopyPropagation] Remove redundant copies after TailDup via machine-cp.
Sun, Aug 18, 6:37 PM · Restricted Project

Wed, Aug 14

lkail updated the diff for D65267: [MachineCopyPropagation] Remove redundant copies after TailDup via machine-cp.
Wed, Aug 14, 1:35 AM · Restricted Project
lkail added a comment to D65267: [MachineCopyPropagation] Remove redundant copies after TailDup via machine-cp.

Updated patch to remove redundant copies by implementing backward copy propagation in machine-cp.

Wed, Aug 14, 12:18 AM · Restricted Project
lkail updated the diff for D65267: [MachineCopyPropagation] Remove redundant copies after TailDup via machine-cp.
Wed, Aug 14, 12:18 AM · Restricted Project

Tue, Aug 13

lkail added a comment to D65267: [MachineCopyPropagation] Remove redundant copies after TailDup via machine-cp.
//   $reg0 = OP ....
// ...
//   $reg1 = COPY $reg0

If we can be sure that $reg0 is renamable, and no use of $reg0 or $reg1 in between (and of course there might be other restrictions, like ReservedReg etc),
we should be able to remove the COPY here.

// `$reg1` = OP ..
// ...

One concern here, there might be uses of $reg0 in succ BBs. To overcome it, we might constraint this opt in terminal BBs considering current machine-cp working on single BB. To summarize, without complex uses and defs(thus we don't need to do complex replace-uses-with after RA), in a terminal BB we should have

$reg0 = OP ...
... <<< No uses of $reg0 and $reg1
$reg1 = COPY $reg0 <<< $reg0 is killed
...
<RET>
Tue, Aug 13, 7:38 PM · Restricted Project

Mon, Aug 12

lkail added a comment to D65267: [MachineCopyPropagation] Remove redundant copies after TailDup via machine-cp.

Have you considered extend MachineCopyPropagation to cover this? Looks like to me that this is a 'backward' COPY propagation.

Mon, Aug 12, 11:14 PM · Restricted Project
lkail added a comment to D65267: [MachineCopyPropagation] Remove redundant copies after TailDup via machine-cp.
Mon, Aug 12, 10:49 PM · Restricted Project
lkail added a comment to D65267: [MachineCopyPropagation] Remove redundant copies after TailDup via machine-cp.
Mon, Aug 12, 6:47 PM · Restricted Project

Thu, Aug 8

lkail added a comment to D65267: [MachineCopyPropagation] Remove redundant copies after TailDup via machine-cp.

ping

Thu, Aug 8, 4:42 PM · Restricted Project

Tue, Aug 6

lkail committed rG02b8056cc1ac: [MachineCSE][NFC] Use 'profitable' rather than 'beneficial' to name method. (authored by lkail).
[MachineCSE][NFC] Use 'profitable' rather than 'beneficial' to name method.
Tue, Aug 6, 10:41 PM
lkail committed rL368124: [MachineCSE][NFC] Use 'profitable' rather than 'beneficial' to name method..
[MachineCSE][NFC] Use 'profitable' rather than 'beneficial' to name method.
Tue, Aug 6, 10:39 PM

Thu, Aug 1

lkail committed rGfec7da8285b1: [PowerPC][Peephole] Check if `extsw`'s second operand is a virtual register (authored by lkail).
[PowerPC][Peephole] Check if `extsw`'s second operand is a virtual register
Thu, Aug 1, 8:16 PM
lkail committed rL367645: [PowerPC][Peephole] Check if `extsw`'s second operand is a virtual register.
[PowerPC][Peephole] Check if `extsw`'s second operand is a virtual register
Thu, Aug 1, 8:14 PM
lkail closed D65315: [PowerPC][Peephole] Check if `extsw`'s second operand is a virtual register.
Thu, Aug 1, 8:14 PM · Restricted Project
lkail added a comment to D65267: [MachineCopyPropagation] Remove redundant copies after TailDup via machine-cp.

Is this something that could be fixed in TailDuplication?

Thu, Aug 1, 8:03 PM · Restricted Project
lkail requested review of D65315: [PowerPC][Peephole] Check if `extsw`'s second operand is a virtual register.

Updated patch to use llvm::Register::isVirtualRegister.

Thu, Aug 1, 6:50 PM · Restricted Project
lkail updated the diff for D65315: [PowerPC][Peephole] Check if `extsw`'s second operand is a virtual register.
Thu, Aug 1, 6:47 PM · Restricted Project

Wed, Jul 31

lkail updated the summary of D65267: [MachineCopyPropagation] Remove redundant copies after TailDup via machine-cp.
Wed, Jul 31, 6:35 PM · Restricted Project
lkail added a comment to D65267: [MachineCopyPropagation] Remove redundant copies after TailDup via machine-cp.

Ping

Wed, Jul 31, 6:35 PM · Restricted Project

Thu, Jul 25

lkail created D65315: [PowerPC][Peephole] Check if `extsw`'s second operand is a virtual register.
Thu, Jul 25, 7:55 PM · Restricted Project
lkail added a comment to D65131: [PowerPC][NFC] Added `getDefMIPostRA` method so that other methods don't need to implement it repeatedly.

FYI, I should have make getDefMIPostRA public. So I committed another NFC patch to make getDefMIPostRA public. https://reviews.llvm.org/rG985e52a4c1c6

Thu, Jul 25, 2:57 AM · Restricted Project
lkail created D65267: [MachineCopyPropagation] Remove redundant copies after TailDup via machine-cp.
Thu, Jul 25, 2:15 AM · Restricted Project
lkail committed rG985e52a4c1c6: [PowerPC][NFC] Make `getDefMIPostRA` public (authored by lkail).
[PowerPC][NFC] Make `getDefMIPostRA` public
Thu, Jul 25, 1:40 AM
lkail committed rL366995: [PowerPC][NFC] Make `getDefMIPostRA` public.
[PowerPC][NFC] Make `getDefMIPostRA` public
Thu, Jul 25, 1:39 AM
lkail committed rG5c8af5380660: [PowerPC][NFC] Added `getDefMIPostRA` method (authored by lkail).
[PowerPC][NFC] Added `getDefMIPostRA` method
Thu, Jul 25, 12:48 AM
lkail committed rL366990: [PowerPC][NFC] Added `getDefMIPostRA` method.
[PowerPC][NFC] Added `getDefMIPostRA` method
Thu, Jul 25, 12:47 AM
lkail closed D65131: [PowerPC][NFC] Added `getDefMIPostRA` method so that other methods don't need to implement it repeatedly.
Thu, Jul 25, 12:47 AM · Restricted Project

Jul 22 2019

lkail retitled D65131: [PowerPC][NFC] Added `getDefMIPostRA` method so that other methods don't need to implement it repeatedly from [PowerPC] Added `getDefMIPostRA` method so that other methods don't need to implement it repeatedly to [PowerPC][NFC] Added `getDefMIPostRA` method so that other methods don't need to implement it repeatedly.
Jul 22 2019, 10:23 PM · Restricted Project
lkail created D65131: [PowerPC][NFC] Added `getDefMIPostRA` method so that other methods don't need to implement it repeatedly.
Jul 22 2019, 10:20 PM · Restricted Project

Jul 21 2019

lkail committed rG3d72a58981e9: [PowerPC][NFC] Precommit a test case where ppc-mi-peepholes miscompiles extswsli (authored by lkail).
[PowerPC][NFC] Precommit a test case where ppc-mi-peepholes miscompiles extswsli
Jul 21 2019, 10:33 PM
lkail committed rL366666: [PowerPC][NFC] Precommit a test case where ppc-mi-peepholes miscompiles extswsli.
[PowerPC][NFC] Precommit a test case where ppc-mi-peepholes miscompiles extswsli
Jul 21 2019, 10:32 PM
lkail updated subscribers of rGdec624682e06: [MachineCSE][MachinePRE] Avoid hoisting code from code regions into hot BBs..

Hi @xbolva00 , I have some concern that @anton-afanasyev might have plan to revert some patches related to these files. If not so, I'll backport it to 9.0.

Jul 21 2019, 7:27 PM

Jul 20 2019

lkail added inline comments to D56772: [MIR] Add simple PRE pass to MachineCSE.
Jul 20 2019, 8:08 AM · Restricted Project

Jul 19 2019

lkail committed rGdec624682e06: [MachineCSE][MachinePRE] Avoid hoisting code from code regions into hot BBs. (authored by lkail).
[MachineCSE][MachinePRE] Avoid hoisting code from code regions into hot BBs.
Jul 19 2019, 6:01 AM
lkail committed rL366570: [MachineCSE][MachinePRE] Avoid hoisting code from code regions into hot BBs..
[MachineCSE][MachinePRE] Avoid hoisting code from code regions into hot BBs.
Jul 19 2019, 5:58 AM
lkail closed D64394: [MachineCSE][MachinePRE] Do not hoist common computations into hot BBs.
Jul 19 2019, 5:58 AM · Restricted Project

Jul 18 2019

lkail updated the diff for D64394: [MachineCSE][MachinePRE] Do not hoist common computations into hot BBs.

Use hasMinSize to check if optimized for size.

Jul 18 2019, 6:39 PM · Restricted Project
lkail added a comment to D64394: [MachineCSE][MachinePRE] Do not hoist common computations into hot BBs.

Btw, this change breaks multiple (more than two) hoisting to common dominator. I've tested this patch for the original test case taken from here: https://bugs.llvm.org/show_bug.cgi?id=38917. There are several comparisons giving 96 > 40 + 10, 96 > 29 + 10, 96 > 18 + 10 (so no hoisting at all), meanwhile 96 < 97 = 40 + 29 + 18 + 10.
However I do not see easy solution for this issue.

Jul 18 2019, 6:31 PM · Restricted Project

Jul 17 2019

lkail updated the diff for D64394: [MachineCSE][MachinePRE] Do not hoist common computations into hot BBs.

Updated patch following @dmgreen 's suggestion.

Jul 17 2019, 7:52 PM · Restricted Project
lkail added a reviewer for D64394: [MachineCSE][MachinePRE] Do not hoist common computations into hot BBs: dmgreen.
Jul 17 2019, 6:36 PM · Restricted Project

Jul 15 2019

lkail added a comment to D64394: [MachineCSE][MachinePRE] Do not hoist common computations into hot BBs.

Ping

Jul 15 2019, 6:33 PM · Restricted Project
lkail added inline comments to D64394: [MachineCSE][MachinePRE] Do not hoist common computations into hot BBs.
Jul 15 2019, 6:33 PM · Restricted Project

Jul 12 2019

lkail updated the diff for D64394: [MachineCSE][MachinePRE] Do not hoist common computations into hot BBs.

Address @jsji 's comments and added new test.

Jul 12 2019, 2:43 AM · Restricted Project
lkail committed rG1e49a96c127f: [NFC][PowerPC] Added test for MachinePRE. (authored by lkail).
[NFC][PowerPC] Added test for MachinePRE.
Jul 12 2019, 2:12 AM
lkail committed rL365883: [NFC][PowerPC] Added test for MachinePRE..
[NFC][PowerPC] Added test for MachinePRE.
Jul 12 2019, 2:12 AM

Jul 11 2019

lkail committed rGcfd4c333448b: [NFC][PowerPC] Added test to track current behaviour of TailDup (authored by lkail).
[NFC][PowerPC] Added test to track current behaviour of TailDup
Jul 11 2019, 2:44 AM
lkail committed rL365746: [NFC][PowerPC] Added test to track current behaviour of TailDup.
[NFC][PowerPC] Added test to track current behaviour of TailDup
Jul 11 2019, 2:42 AM

Jul 10 2019

lkail updated the diff for D64394: [MachineCSE][MachinePRE] Do not hoist common computations into hot BBs.
Jul 10 2019, 1:25 AM · Restricted Project

Jul 9 2019

lkail retitled D64394: [MachineCSE][MachinePRE] Do not hoist common computations into hot BBs from [MachineCSE][MachinePRE] Do not hoist common computations into loop bodies to [MachineCSE][MachinePRE] Do not hoist common computations into hot BBs.
Jul 9 2019, 11:59 PM · Restricted Project
lkail updated the diff for D64394: [MachineCSE][MachinePRE] Do not hoist common computations into hot BBs.

Updated the patch, using MachineBlockFrequency as metric to check if CMBB is appropriate to hoist into.

Jul 9 2019, 11:47 PM · Restricted Project
lkail added a reviewer for D64394: [MachineCSE][MachinePRE] Do not hoist common computations into hot BBs: anil9.
Jul 9 2019, 6:56 PM · Restricted Project
lkail added a comment to D64394: [MachineCSE][MachinePRE] Do not hoist common computations into hot BBs.

@hfinkel , thanks for review.

Jul 9 2019, 6:49 PM · Restricted Project
lkail added a reviewer for D64394: [MachineCSE][MachinePRE] Do not hoist common computations into hot BBs: nemanjai.
Jul 9 2019, 2:43 AM · Restricted Project
lkail added reviewers for D64394: [MachineCSE][MachinePRE] Do not hoist common computations into hot BBs: rtereshin, greened, mzolotukhin.
Jul 9 2019, 2:40 AM · Restricted Project
lkail created D64394: [MachineCSE][MachinePRE] Do not hoist common computations into hot BBs.
Jul 9 2019, 2:26 AM · Restricted Project
lkail committed rG09329ce6c4b9: [NFC][PowerPC] Added a test to show current codegen of MachinePRE (authored by lkail).
[NFC][PowerPC] Added a test to show current codegen of MachinePRE
Jul 9 2019, 2:14 AM
lkail committed rL365447: [NFC][PowerPC] Added a test to show current codegen of MachinePRE.
[NFC][PowerPC] Added a test to show current codegen of MachinePRE
Jul 9 2019, 2:14 AM

Jul 8 2019

lkail committed rG619e39bc729a: [NFC][PowerPC] Fixed unused variable 'NewInstr'. (authored by lkail).
[NFC][PowerPC] Fixed unused variable 'NewInstr'.
Jul 8 2019, 8:35 PM
lkail committed rL365433: [NFC][PowerPC] Fixed unused variable 'NewInstr'..
[NFC][PowerPC] Fixed unused variable 'NewInstr'.
Jul 8 2019, 8:33 PM
lkail committed rG1931ed73c3d2: [PowerPC][Peephole] Combine extsw and sldi after instruction selection (authored by lkail).
[PowerPC][Peephole] Combine extsw and sldi after instruction selection
Jul 8 2019, 7:56 PM
lkail committed rL365430: [PowerPC][Peephole] Combine extsw and sldi after instruction selection.
[PowerPC][Peephole] Combine extsw and sldi after instruction selection
Jul 8 2019, 7:55 PM
lkail closed D63806: [PowerPC][Peephole] Combine extsw and sldi after instruction selection.
Jul 8 2019, 7:55 PM · Restricted Project
lkail added inline comments to D63806: [PowerPC][Peephole] Combine extsw and sldi after instruction selection.
Jul 8 2019, 7:52 PM · Restricted Project
lkail updated the diff for D63806: [PowerPC][Peephole] Combine extsw and sldi after instruction selection.
Jul 8 2019, 7:47 PM · Restricted Project
lkail added inline comments to D63806: [PowerPC][Peephole] Combine extsw and sldi after instruction selection.
Jul 8 2019, 6:45 PM · Restricted Project

Jul 7 2019

lkail added a comment to D63806: [PowerPC][Peephole] Combine extsw and sldi after instruction selection.

Ping.

Jul 7 2019, 6:35 PM · Restricted Project

Jul 1 2019

lkail added a comment to D63806: [PowerPC][Peephole] Combine extsw and sldi after instruction selection.

Gentle ping.

Jul 1 2019, 2:48 AM · Restricted Project

Jun 27 2019

lkail added reviewers for D63806: [PowerPC][Peephole] Combine extsw and sldi after instruction selection: stefanp, RolandF.
Jun 27 2019, 6:56 PM · Restricted Project
lkail updated the diff for D63806: [PowerPC][Peephole] Combine extsw and sldi after instruction selection.

Updated the patch to reflect recent changes.

Jun 27 2019, 6:56 PM · Restricted Project
lkail committed rGc6fe8436e88e: [PowerPC][NFC] Use `|=` to update `Simplified` flag (authored by lkail).
[PowerPC][NFC] Use `|=` to update `Simplified` flag
Jun 27 2019, 6:40 PM
lkail committed rL364617: [PowerPC][NFC] Use `|=` to update `Simplified` flag.
[PowerPC][NFC] Use `|=` to update `Simplified` flag
Jun 27 2019, 6:39 PM

Jun 26 2019

lkail closed D63754: [PowerPC][NFC] Move current peephole optimization of RLDICR into a method.

llvm-svn: 364372

Jun 26 2019, 4:25 AM · Restricted Project
lkail reopened D63754: [PowerPC][NFC] Move current peephole optimization of RLDICR into a method.
Jun 26 2019, 4:21 AM · Restricted Project
lkail closed D63754: [PowerPC][NFC] Move current peephole optimization of RLDICR into a method.
Jun 26 2019, 4:20 AM · Restricted Project
lkail added a comment to D63754: [PowerPC][NFC] Move current peephole optimization of RLDICR into a method.
Jun 26 2019, 4:17 AM · Restricted Project
lkail added a comment to D63801: [PowerPC] Fixed missing change flag of emitRLDICWhenLoweringJumpTables.

Thanks @steven.zhang, I think using = rather than |= in line 764 might cause error. I fixed it in https://reviews.llvm.org/D63806. Other updates of Simplified are all Simplified = true, no need to replace = with |=.

Jun 26 2019, 12:48 AM · Restricted Project

Jun 25 2019

lkail updated the summary of D63806: [PowerPC][Peephole] Combine extsw and sldi after instruction selection.
Jun 25 2019, 10:47 PM · Restricted Project
lkail updated the summary of D63806: [PowerPC][Peephole] Combine extsw and sldi after instruction selection.
Jun 25 2019, 10:46 PM · Restricted Project
lkail created D63806: [PowerPC][Peephole] Combine extsw and sldi after instruction selection.
Jun 25 2019, 10:44 PM · Restricted Project
lkail committed rGd6a8bc7a1258: [PowerPC] Fixed missing change flag of emitRLDICWhenLoweringJumpTables (authored by lkail).
[PowerPC] Fixed missing change flag of emitRLDICWhenLoweringJumpTables
Jun 25 2019, 10:29 PM
lkail committed rL364383: [PowerPC] Fixed missing change flag of emitRLDICWhenLoweringJumpTables.
[PowerPC] Fixed missing change flag of emitRLDICWhenLoweringJumpTables
Jun 25 2019, 10:25 PM
lkail closed D63801: [PowerPC] Fixed missing change flag of emitRLDICWhenLoweringJumpTables.
Jun 25 2019, 10:25 PM · Restricted Project
lkail created D63801: [PowerPC] Fixed missing change flag of emitRLDICWhenLoweringJumpTables.
Jun 25 2019, 7:03 PM · Restricted Project
lkail committed rG174b4ff781a5: [PowerPC][NFC] Move peephole optimization of RLDICR into a method. (authored by lkail).
[PowerPC][NFC] Move peephole optimization of RLDICR into a method.
Jun 25 2019, 6:36 PM
lkail committed rL364372: [PowerPC][NFC] Move peephole optimization of RLDICR into a method..
[PowerPC][NFC] Move peephole optimization of RLDICR into a method.
Jun 25 2019, 6:35 PM
lkail added a comment to D62890: [DAGCombiner] Merge consecutive stores of vector elements before types are legalized.

Considering suggestions of @niravd and @uweigand , is it proper to have an implementation like

bool DAGCombiner::isAbleToMergeConsecutiveStoresPreLegalize(ArrayRef<SNode*> elements, .../* Params related to align, addrspace and etc.*/) {
  if (LegalTypes)
    return false;
  // Let target decides cost of merging stores.
  return TLI.canMergeConsecutiveStoresOfVectorElements(elements, ...);
}

And new check is

if (isTypeLegal(Ty) &&
    TLI.canMergeStoresTo(FirstStoreAS, Ty, DAG) &&
    ((TLI.allowsMemoryAccess(Context, DL, Ty,
                           *FirstInChain->getMemOperand(), &IsFast) &&
      IsFast) || isAbleToMergeConsecutiveStoresPreLegalize(elements, ...))
Jun 25 2019, 1:26 AM · Restricted Project
lkail added a reviewer for D63754: [PowerPC][NFC] Move current peephole optimization of RLDICR into a method: hfinkel.
Jun 25 2019, 1:00 AM · Restricted Project
lkail created D63754: [PowerPC][NFC] Move current peephole optimization of RLDICR into a method.
Jun 25 2019, 12:26 AM · Restricted Project

Jun 23 2019

lkail added a comment to D62890: [DAGCombiner] Merge consecutive stores of vector elements before types are legalized.

Hi @jonpa, could you have a look if it is a real reg in SystemZ's change?

Jun 23 2019, 6:38 PM · Restricted Project

Jun 20 2019

lkail added a comment to D62890: [DAGCombiner] Merge consecutive stores of vector elements before types are legalized.

Also, what happened to the PPC test changes?

Jun 20 2019, 6:29 PM · Restricted Project

Jun 19 2019

lkail edited reviewers for D62890: [DAGCombiner] Merge consecutive stores of vector elements before types are legalized, added: craig.topper, RKSimon, uweigand; removed: MaskRay.
Jun 19 2019, 11:34 PM · Restricted Project
lkail added a comment to D62890: [DAGCombiner] Merge consecutive stores of vector elements before types are legalized.

Updated patch following @niravd's suggestions.

Jun 19 2019, 11:31 PM · Restricted Project