kparzysz (Krzysztof Parzyszek)
User

Projects

User does not belong to any projects.

User Details

User Since
Apr 21 2014, 4:27 PM (221 w, 3 d)

Recent Activity

Today

kparzysz added a comment to D48283: [SCEV] Properly solve quadratic equations.

Yeah, this one is a bug in updating of the coefficients.

Thu, Jul 19, 2:09 PM
kparzysz updated the diff for D48283: [SCEV] Properly solve quadratic equations.

Check both ends of the range in getNumIterationsInRange, change comment for SolveQuadraticEquation.

Thu, Jul 19, 11:33 AM
kparzysz committed rL337478: [APInt] Keep the original bit width in quotient and remainder.
[APInt] Keep the original bit width in quotient and remainder
Thu, Jul 19, 11:13 AM
kparzysz closed D49554: [APInt] Keep the original bit width in quotient and remainder.
Thu, Jul 19, 11:13 AM
kparzysz added a comment to D48283: [SCEV] Properly solve quadratic equations.

I can change the comment to something like "returns the smallest positive x such that q(x-1) and q(x) belong to different intervals in the form of [k*2^BW, (k+1)*2^BW)".

Thu, Jul 19, 10:47 AM
kparzysz created D49554: [APInt] Keep the original bit width in quotient and remainder.
Thu, Jul 19, 9:30 AM
kparzysz added a comment to D48283: [SCEV] Properly solve quadratic equations.

The current getNumIterationsInRange implementation is consistent with "equals 0 or wraps around 2^BW in the unsigned modulo 2^BW arithmetic" (but that's not what SolveQuadraticEquation actually computes at the moment).

Thu, Jul 19, 8:02 AM

Yesterday

kparzysz added a comment to D49097: [RegisterCoalescer] Another fix for subrange join unreachable.

We may need to guard this code with some extra checks (to verify that we have merged a non-undef value with an undef one), to avoid doing this unnecessarily, but I don't think there is a much simpler way to handle it.

Wed, Jul 18, 2:57 PM
kparzysz added a comment to D48283: [SCEV] Properly solve quadratic equations.

Well, for one 2/2 seems to be -1...

Wed, Jul 18, 1:37 PM
kparzysz added inline comments to D48283: [SCEV] Properly solve quadratic equations.
Wed, Jul 18, 11:21 AM
kparzysz updated the diff for D48283: [SCEV] Properly solve quadratic equations.

Addressed the comments.

Wed, Jul 18, 8:26 AM
kparzysz added inline comments to D48283: [SCEV] Properly solve quadratic equations.
Wed, Jul 18, 8:23 AM

Tue, Jul 17

kparzysz added a comment to D49027: [TableGen] FixedLenDecoderEmitter: allow for dummy operand in MCInst.

Why do you need this? Do you have MCInsts with operands that are not encoded?

Tue, Jul 17, 9:26 AM

Mon, Jul 16

kparzysz accepted D49242: [Intrinsics] define funnel shift IR intrinsics + DAG builder support.

The setcc type can be addressed later. This looks good to me.

Mon, Jul 16, 1:23 PM
kparzysz added inline comments to D49242: [Intrinsics] define funnel shift IR intrinsics + DAG builder support.
Mon, Jul 16, 1:08 PM
kparzysz added a comment to D47735: [DAGCombiner] Create rotates more aggressively.

At the moment D49242 expands these intrinsics into individual DAG operations. If the intrinsics were transformed into ROTL, and if instcombine could reassociate "or" operations to expose more fshl opportunities, then I guess it would be sufficient.

Mon, Jul 16, 9:47 AM
kparzysz updated the diff for D47735: [DAGCombiner] Create rotates more aggressively.

Rebased on top of trunk.

Mon, Jul 16, 9:00 AM
kparzysz added a comment to D47735: [DAGCombiner] Create rotates more aggressively.

Ping.

Mon, Jul 16, 7:28 AM
kparzysz added a comment to D48283: [SCEV] Properly solve quadratic equations.

Ping.

Mon, Jul 16, 7:27 AM

Fri, Jul 13

kparzysz committed rL337073: [Hexagon] Avoid introducing calls into coalesced range of HVX vector pairs.
[Hexagon] Avoid introducing calls into coalesced range of HVX vector pairs
Fri, Jul 13, 4:47 PM
kparzysz committed rL337049: [Hexagon] Fix hvx-length feature name in testcases.
[Hexagon] Fix hvx-length feature name in testcases
Fri, Jul 13, 2:37 PM
kparzysz committed rC337049: [Hexagon] Fix hvx-length feature name in testcases.
[Hexagon] Fix hvx-length feature name in testcases
Fri, Jul 13, 2:37 PM
kparzysz added a comment to D48887: [TableGen] Suppress type validation when parsing pattern fragments.

Sorry for the delay in reviewing. Yes, I think it's ok for now. At some point I will probably revisit this to try to generate better diagnostics, but this change is fine now.

Fri, Jul 13, 9:38 AM

Thu, Jul 12

kparzysz committed rC336936: [Hexagon] Fix testcases failing after r336933.
[Hexagon] Fix testcases failing after r336933
Thu, Jul 12, 12:49 PM
kparzysz committed rL336936: [Hexagon] Fix testcases failing after r336933.
[Hexagon] Fix testcases failing after r336933
Thu, Jul 12, 12:49 PM
kparzysz committed rC336933: [Hexagon] Diagnose intrinsics not supported by selected CPU/HVX.
[Hexagon] Diagnose intrinsics not supported by selected CPU/HVX
Thu, Jul 12, 11:59 AM
kparzysz committed rL336933: [Hexagon] Diagnose intrinsics not supported by selected CPU/HVX.
[Hexagon] Diagnose intrinsics not supported by selected CPU/HVX
Thu, Jul 12, 11:59 AM

Wed, Jul 11

kparzysz added a comment to D49097: [RegisterCoalescer] Another fix for subrange join unreachable.

Here's how the problem happens:

Wed, Jul 11, 8:30 AM
kparzysz committed rL336803: [CodeGen] Ignore debug uses in MachineCopyPropagation.
[CodeGen] Ignore debug uses in MachineCopyPropagation
Wed, Jul 11, 6:35 AM

Tue, Jul 10

kparzysz committed rL336682: [Hexagon] Change .mir testcase to make sure function is not in SSA form.
[Hexagon] Change .mir testcase to make sure function is not in SSA form
Tue, Jul 10, 7:55 AM
kparzysz added a comment to D47735: [DAGCombiner] Create rotates more aggressively.

Ping.

Tue, Jul 10, 6:24 AM
kparzysz committed rL336662: [Hexagon] Add implicit uses even when untied explicit uses are present.
[Hexagon] Add implicit uses even when untied explicit uses are present
Tue, Jul 10, 6:02 AM

Mon, Jul 9

kparzysz updated the diff for D48283: [SCEV] Properly solve quadratic equations.
  1. Added solving for arbitrary overflow, i.e. q(x) = 2^n for n \in Z-{0}, (or mod 2^n).
  2. Expanded comments.
  3. Added more testcases (incl. from PR38024).
Mon, Jul 9, 11:38 AM

Mon, Jul 2

kparzysz added a comment to D43353: [X86] Add phony registers for high halves of E[A-D]X, E[SD]I, E[BS]P and EIP.

We do. Fixed in r336134.

Mon, Jul 2, 12:11 PM
kparzysz committed rL336134: [X86] Add phony registers for high halves of regs with low halves.
[X86] Add phony registers for high halves of regs with low halves
Mon, Jul 2, 12:09 PM

Fri, Jun 29

kparzysz added a comment to D26359: Use LiveRangeCalc to extend live ranges in shrinkToUses.

I did not understand the undef register flag. Is there somewhere I can read more about MIR, or is the code the best place? https://llvm.org/docs/MIRLangRef.html is currently a little short on specifics.

Fri, Jun 29, 7:23 AM
kparzysz committed rL335975: [Hexagon] Remove unused instruction itineraties, NFC.
[Hexagon] Remove unused instruction itineraties, NFC
Fri, Jun 29, 7:00 AM

Thu, Jun 28

kparzysz added a comment to D26359: Use LiveRangeCalc to extend live ranges in shrinkToUses.

I'm assuming that the line 10000B was misplaced in the snippet above, and should be in bb.2.

Thu, Jun 28, 1:06 PM
kparzysz added a comment to D48283: [SCEV] Properly solve quadratic equations.

Ping.

Thu, Jun 28, 7:00 AM

Wed, Jun 27

kparzysz added a comment to D26359: Use LiveRangeCalc to extend live ranges in shrinkToUses.

I'm not sure if this patch needs any more work, it worked fine when I posted it (at least in my tests). Since it's been a while ago, it would be worthwhile to make sure that it still does. It's unfortunate that I didn't have a testcase to illustrate the problem I mentioned in the description, I'm wondering if it would still fail.

Wed, Jun 27, 6:59 AM

Tue, Jun 26

kparzysz added a comment to D48571: improve diagnostics for missing 'template' keyword.

Please take over, I commandeered to restore the patch.

Tue, Jun 26, 1:01 PM
kparzysz updated the diff for D48571: improve diagnostics for missing 'template' keyword.

Restored the original patch.

Tue, Jun 26, 1:00 PM
kparzysz commandeered D48571: improve diagnostics for missing 'template' keyword.
Tue, Jun 26, 12:59 PM
kparzysz closed D48572: [Hexagon] Add a "generic" processor.

Committed in rL335641.

Tue, Jun 26, 12:12 PM
kparzysz reopened D48571: improve diagnostics for missing 'template' keyword.

This needs to be restored to the original form. A mistake in a commit message closed this review by accident.

Tue, Jun 26, 12:10 PM
kparzysz committed rL335610: Silence "unused variable" warning in LiveIntervals.cpp after r335607.
Silence "unused variable" warning in LiveIntervals.cpp after r335607
Tue, Jun 26, 7:59 AM
kparzysz closed D48555: Account for undef values from predecessors in extendSegmentsToUses.

Committed in https://reviews.llvm.org/rL335607.

Tue, Jun 26, 7:55 AM
kparzysz added a comment to rL335607: Account for undef values from predecessors in extendSegmentsToUses.

I forgot to add the revision URL to the commit message: https://reviews.llvm.org/D48555.

Tue, Jun 26, 7:54 AM
kparzysz committed rL335607: Account for undef values from predecessors in extendSegmentsToUses.
Account for undef values from predecessors in extendSegmentsToUses
Tue, Jun 26, 7:42 AM
kparzysz added a comment to D48555: Account for undef values from predecessors in extendSegmentsToUses.

The code itself is of a very reasonable size, I just meant removing the unnecessary fields from the machine function description, i.e. register classes (because they are specified inline), frame info, etc. Basically anything that is set to its default values. Testcases can be hard to generate for issues like this, so thank you for making effort to get them.

Tue, Jun 26, 5:24 AM

Mon, Jun 25

kparzysz accepted D48572: [Hexagon] Add a "generic" processor.
Mon, Jun 25, 4:34 PM
kparzysz added a comment to D48558: [AMDGPU] fix for register coalescer.

The testcase compiles fine with ToT at r335473.

Mon, Jun 25, 12:44 PM · Restricted Project
kparzysz added a comment to D48545: [RFC v2] "Alternative" matches for TableGen DAG patterns.

I haven't looked at this in detail yet, but it's looking great. Thanks for tackling this!

Mon, Jun 25, 12:32 PM
kparzysz added a comment to D47735: [DAGCombiner] Create rotates more aggressively.

Ping.

Mon, Jun 25, 12:26 PM
kparzysz updated the diff for D48555: Account for undef values from predecessors in extendSegmentsToUses.

Added CHECK lines to the testcase (which was copied from D48546).

Mon, Jun 25, 12:15 PM
kparzysz added a comment to D48546: [CodeGen] Ensure split interval has valid ranges for all sub registers.

Please consider D48555 as a fix.

Mon, Jun 25, 12:03 PM
kparzysz created D48555: Account for undef values from predecessors in extendSegmentsToUses.
Mon, Jun 25, 12:03 PM
kparzysz added inline comments to D48546: [CodeGen] Ensure split interval has valid ranges for all sub registers.
Mon, Jun 25, 11:59 AM
kparzysz committed rL335472: Improve handling of COPY instructions with identical value numbers.
Improve handling of COPY instructions with identical value numbers
Mon, Jun 25, 6:51 AM
kparzysz closed D48102: Improve handling of COPY instructions with identical value numbers.
Mon, Jun 25, 6:51 AM

Fri, Jun 22

kparzysz added a comment to D48478: [RegisterCoalescer] Improve handling of COPY instructions with identical value numbers.

I don't want to be spending time reviewing more alternatives at this point. I'm familiar with what I've started and I fixed all known problems. I still need to analyze the problems in detail either way and reviewing additional patches is just more work for me.

Fri, Jun 22, 1:53 PM
kparzysz added a comment to D48102: Improve handling of COPY instructions with identical value numbers.

This includes all testcases from related reviews.

Fri, Jun 22, 1:38 PM
kparzysz updated the diff for D48102: Improve handling of COPY instructions with identical value numbers.

Fixed handling of newly created implicit defs, relaxed handling of undef values in followCopyChain.

Fri, Jun 22, 1:33 PM
kparzysz committed rL335365: Initialize LiveRegs once in BranchFolder::mergeCommonTails.
Initialize LiveRegs once in BranchFolder::mergeCommonTails
Fri, Jun 22, 9:43 AM
kparzysz added a reviewer for D48283: [SCEV] Properly solve quadratic equations: eli.friedman.
Fri, Jun 22, 6:54 AM
kparzysz updated the diff for D48283: [SCEV] Properly solve quadratic equations.

Rewrite SolveQuadraticEquation. This fixes https://bugs.llvm.org//show_bug.cgi?id=37211.

Fri, Jun 22, 6:54 AM

Thu, Jun 21

kparzysz committed rL335233: [CodeGen] Avoid handling DBG_VALUE in LiveRegUnits::stepBackward.
[CodeGen] Avoid handling DBG_VALUE in LiveRegUnits::stepBackward
Thu, Jun 21, 6:43 AM
kparzysz closed D48420: [CodeGen} Avoid handling DBG_VALUE in LiveRegUnits::stepBackward.
Thu, Jun 21, 6:43 AM · debug-info
kparzysz accepted D48420: [CodeGen} Avoid handling DBG_VALUE in LiveRegUnits::stepBackward.
Thu, Jun 21, 5:41 AM · debug-info

Wed, Jun 20

kparzysz added a comment to D48102: Improve handling of COPY instructions with identical value numbers.

We shouldn't really be calling joinCopy with something that is not a COPY, but I guess it's a minor issue. Please replace the getOpcode() == ... with isImplicitDef(), and it should be fine.

Wed, Jun 20, 12:31 PM
kparzysz accepted D48376: DAG: Fold out selects with an undef operand.

The testcase was looking for two conditional assignments, both based on the same predicate register, but with one condition "if-true" and the other "if-false". The original bug was that the "kill" flag on the condition register wasn't cleared on the first assignment and so it was killed before the second conditional assignment (causing a verifier error). I just replaced this testcase with a .mir version, so it's no longer there.

Wed, Jun 20, 12:27 PM
kparzysz committed rL335158: [Hexagon] Replace .ll test for expanding post-ra pesudos with .mir.
[Hexagon] Replace .ll test for expanding post-ra pesudos with .mir
Wed, Jun 20, 12:27 PM
kparzysz added a comment to D48102: Improve handling of COPY instructions with identical value numbers.

This shouldn't be necessary. Try returning "true" from eliminateUndefCopy after generating an IMPLICIT_DEF.

Wed, Jun 20, 9:03 AM
kparzysz added a comment to D48326: [RFC] "Alternative" matches for TableGen DAG patterns.

For the purposes of matching the main pattern is really the same as the ones specified by Pats. I am opposed to making this feature specific to the "Pattern" field, (1) because this is a very useful feature to have in general, and (2) because if the implementation is main-pattern-specific, it would need to be replaced to make it work with Pats in the future. The main strength of this feature comes from multiple "source patterns" in a PatFrag.

Wed, Jun 20, 7:46 AM
kparzysz committed rL335124: [Hexagon] Remove 'T' from HasVNN predicates, NFC.
[Hexagon] Remove 'T' from HasVNN predicates, NFC
Wed, Jun 20, 7:00 AM
kparzysz added a comment to D48102: Improve handling of COPY instructions with identical value numbers.

My fix for the redef/undef issue was trying to avoid cases where we treat "undef" values from different registers as identical. I guess this could be relaxed (i.e. we can treat all undef values as identical), but we'd have to make sure that this equality is only used to allow removing an undef value (i.e. to allow pruning it without following it with extendToIndices).

Wed, Jun 20, 6:07 AM
kparzysz added inline comments to D48102: Improve handling of COPY instructions with identical value numbers.
Wed, Jun 20, 5:49 AM

Jun 19 2018

kparzysz updated the diff for D48102: Improve handling of COPY instructions with identical value numbers.

Fix the "cannot join subranges" issue caused by redefining an undef value (more details in comments), roughly something like this:

Jun 19 2018, 3:06 PM
kparzysz committed rL335065: [Hexagon] Fix the value of HexagonII::TypeCVI_FIRST.
[Hexagon] Fix the value of HexagonII::TypeCVI_FIRST
Jun 19 2018, 11:14 AM
kparzysz added a comment to D48326: [RFC] "Alternative" matches for TableGen DAG patterns.

I don't think that the new keyword is necessary. Why not have a new class Patternsthat takes a list of input dag patterns (otherwise identical to the current Pattern), and matches when any of these inputs matches? Then you can have a PatFrags as an analogy to PatFrag.

Jun 19 2018, 11:13 AM
kparzysz committed rL335061: [Hexagon] Enforce restrictions on packetizing cache instructions.
[Hexagon] Enforce restrictions on packetizing cache instructions
Jun 19 2018, 10:30 AM
kparzysz updated the diff for D48102: Improve handling of COPY instructions with identical value numbers.

Fixed a typo and added a check for subrange liveness at OtherDef.

Jun 19 2018, 7:56 AM
kparzysz added inline comments to D48102: Improve handling of COPY instructions with identical value numbers.
Jun 19 2018, 7:40 AM

Jun 18 2018

kparzysz added a comment to D40300: [RegisterCoalescer] Fix for SubRegJoin failures.

I committed a different fix for this: https://reviews.llvm.org/rL334963.

Jun 18 2018, 2:03 PM
kparzysz updated the diff for D47735: [DAGCombiner] Create rotates more aggressively.

Updated x86 testcase.

Jun 18 2018, 1:06 PM
kparzysz updated the diff for D48102: Improve handling of COPY instructions with identical value numbers.

Remove unnecessary stuff from the other testcase.

Jun 18 2018, 12:58 PM
kparzysz updated the diff for D48102: Improve handling of COPY instructions with identical value numbers.

Updated the extension, added second testcase.

Jun 18 2018, 12:48 PM
kparzysz added inline comments to D47735: [DAGCombiner] Create rotates more aggressively.
Jun 18 2018, 11:21 AM
kparzysz added a comment to D48102: Improve handling of COPY instructions with identical value numbers.

I can reproduce the problem using your testcase (which now works), let me try to reduce it and add to the patch.

Jun 18 2018, 11:10 AM
kparzysz updated the diff for D48102: Improve handling of COPY instructions with identical value numbers.

Use extendToIndices.

Jun 18 2018, 11:09 AM
kparzysz added a comment to D48102: Improve handling of COPY instructions with identical value numbers.

You're right, extendToIndices should be ok. I wanted to be explicit about what gets extended (since it could catch other errors), while extendToIndices would just extend whatever is the reaching value.

Jun 18 2018, 10:58 AM
kparzysz updated the diff for D47735: [DAGCombiner] Create rotates more aggressively.

Responded to comments, added x86-64 testcase.

Jun 18 2018, 10:46 AM
kparzysz added a comment to D47735: [DAGCombiner] Create rotates more aggressively.

This patch and the one you mentioned coincidentally both apply to rotates, but there wasn't any coordination between them.

Jun 18 2018, 10:45 AM
kparzysz committed rL334963: Shrink interval after moving copy in removePartialRedundancy.
Shrink interval after moving copy in removePartialRedundancy
Jun 18 2018, 10:24 AM
kparzysz added a comment to D47735: [DAGCombiner] Create rotates more aggressively.

Ping.

Jun 18 2018, 10:09 AM
kparzysz added a comment to D48102: Improve handling of COPY instructions with identical value numbers.

That simply undoes the pruning. It has to extend the specific value (OtherVNI).

Jun 18 2018, 10:01 AM
kparzysz added a comment to D48102: Improve handling of COPY instructions with identical value numbers.

My username at codeaurora.org.

Jun 18 2018, 9:33 AM
kparzysz updated the summary of D48283: [SCEV] Properly solve quadratic equations.
Jun 18 2018, 9:13 AM
kparzysz created D48283: [SCEV] Properly solve quadratic equations.
Jun 18 2018, 9:13 AM
kparzysz added a comment to D48102: Improve handling of COPY instructions with identical value numbers.

Is it an .ll file? You can email it to me, I'll try to see if I can reduce it.

Jun 18 2018, 9:08 AM