Page MenuHomePhabricator

RKSimon (Simon Pilgrim)
User

Projects

User does not belong to any projects.

User Details

User Since
May 5 2014, 7:26 AM (396 w, 2 d)

Recent Activity

Today

RKSimon requested review of D115392: [SLP] Don't vectorize div/rem with undef denominators.
Wed, Dec 8, 1:26 PM · Restricted Project
RKSimon committed rG30e38d677195: [CostModel][X86] Split MUL/SDIV+SREM/UDIV+UREM PowerOf2 handling. NFC. (authored by RKSimon).
[CostModel][X86] Split MUL/SDIV+SREM/UDIV+UREM PowerOf2 handling. NFC.
Wed, Dec 8, 10:48 AM
RKSimon added inline comments to D104156: [DAGCombine][X86][ARM] EXTRACT_SUBVECTOR(VECTOR_SHUFFLE(?,?,Mask)) -> VECTOR_SHUFFLE(EXTRACT_SUBVECTOR(?, ?), EXTRACT_SUBVECTOR(?, ?), Mask').
Wed, Dec 8, 8:07 AM · Restricted Project
RKSimon updated the diff for D115180: [X86] Enable v16i8/v32i8/v64i8 rotation on AVX512 targets.

Delay 512-bit vector splitting until after constant-splat early-out, which avoids the need for a lot of additional VPTERNLOG combines on non-AVX512VL targets.

Wed, Dec 8, 6:10 AM · Restricted Project
RKSimon added inline comments to D115138: [llvm-mca] Compare multiple files.
Wed, Dec 8, 5:28 AM · Restricted Project
RKSimon updated the diff for D115180: [X86] Enable v16i8/v32i8/v64i8 rotation on AVX512 targets.

Added v64i8 rotation handling as well

Wed, Dec 8, 5:24 AM · Restricted Project
RKSimon committed rG7bffc547a679: [X86] LowerRotate - split 512-bit integers on non 512-bit BWI targets. (authored by RKSimon).
[X86] LowerRotate - split 512-bit integers on non 512-bit BWI targets.
Wed, Dec 8, 4:00 AM

Yesterday

RKSimon added a comment to D114962: [Support] improve known bits analysis for multiply by power-of-2 (1 set bit).

Is there an exhaustive test for this method?

Tue, Dec 7, 10:38 AM · Restricted Project
RKSimon committed rGd298c324075e: Remove unused variable. NFC. (authored by RKSimon).
Remove unused variable. NFC.
Tue, Dec 7, 10:37 AM
RKSimon added a comment to D114962: [Support] improve known bits analysis for multiply by power-of-2 (1 set bit).

LGTM - @efriedma any more comments?

Tue, Dec 7, 10:12 AM · Restricted Project
RKSimon committed rGfd722c5959b9: Fix MSVC "not all control paths return a value" warning. NFC. (authored by RKSimon).
Fix MSVC "not all control paths return a value" warning. NFC.
Tue, Dec 7, 10:10 AM
RKSimon committed rG52d2f353235d: [DAG] Update expandFunnelShift/expandROT to return the expansion directly. NFCI. (authored by RKSimon).
[DAG] Update expandFunnelShift/expandROT to return the expansion directly. NFCI.
Tue, Dec 7, 10:10 AM
RKSimon added a comment to D115138: [llvm-mca] Compare multiple files.

Also, it might be easier if this was not in a subdir - llvm/utils/llvm-mca-pretty-printer.py - to avoid path problems

Tue, Dec 7, 8:26 AM · Restricted Project
RKSimon added a comment to D115138: [llvm-mca] Compare multiple files.

Not to descend into bike shedding, but is llvm-mca-pretty-printer.py a suitable name?

Tue, Dec 7, 8:25 AM · Restricted Project
RKSimon added a reviewer for D115138: [llvm-mca] Compare multiple files: gbedwell.
Tue, Dec 7, 8:22 AM · Restricted Project
RKSimon accepted D114582: [SDAG] Refine MMO size when converting masked load/store to normal load/store.

LGTM

Tue, Dec 7, 7:12 AM · Restricted Project
RKSimon committed rG2925f3c9ae1b: [X86] LowerRotate - pull out repeated splitVectorIntBinary call. NFC. (authored by RKSimon).
[X86] LowerRotate - pull out repeated splitVectorIntBinary call. NFC.
Tue, Dec 7, 4:14 AM
RKSimon added a comment to D109817: [AggressiveInstCombine] Add `phi` nodes support to `TruncInstCombine`.

@anton-afanasyev reverse ping

Tue, Dec 7, 4:03 AM · Restricted Project
RKSimon accepted D115035: Move header ConstantFold.h into include directory.

LGTM

Tue, Dec 7, 4:00 AM · Restricted Project
RKSimon added a comment to D115128: [TableGen][CodeEmitter] Introducing the VarLenCodeEmitterGen infrastructure.

Do you have any (full/partial) followup patches you can upload to phab showing the conversion of the M68k backend to VarLenCodeEmitterGen?

Tue, Dec 7, 3:12 AM · Restricted Project

Mon, Dec 6

RKSimon added inline comments to D104156: [DAGCombine][X86][ARM] EXTRACT_SUBVECTOR(VECTOR_SHUFFLE(?,?,Mask)) -> VECTOR_SHUFFLE(EXTRACT_SUBVECTOR(?, ?), EXTRACT_SUBVECTOR(?, ?), Mask').
Mon, Dec 6, 1:15 PM · Restricted Project
RKSimon requested review of D115180: [X86] Enable v16i8/v32i8/v64i8 rotation on AVX512 targets.
Mon, Dec 6, 1:12 PM · Restricted Project
RKSimon committed rG5983cfdc50b3: [X86] LowerRotate - fix assertion. NFC. (authored by RKSimon).
[X86] LowerRotate - fix assertion. NFC.
Mon, Dec 6, 11:47 AM
RKSimon added inline comments to D112758: [llvm] [Debuginfo] Debuginfod client library..
Mon, Dec 6, 11:08 AM · Restricted Project
RKSimon added inline comments to D104156: [DAGCombine][X86][ARM] EXTRACT_SUBVECTOR(VECTOR_SHUFFLE(?,?,Mask)) -> VECTOR_SHUFFLE(EXTRACT_SUBVECTOR(?, ?), EXTRACT_SUBVECTOR(?, ?), Mask').
Mon, Dec 6, 9:58 AM · Restricted Project
RKSimon accepted D115162: [SLP]Fix compiler crash when calculating extract cost for undefs..

LGTM

Mon, Dec 6, 9:31 AM · Restricted Project
RKSimon added inline comments to D104156: [DAGCombine][X86][ARM] EXTRACT_SUBVECTOR(VECTOR_SHUFFLE(?,?,Mask)) -> VECTOR_SHUFFLE(EXTRACT_SUBVECTOR(?, ?), EXTRACT_SUBVECTOR(?, ?), Mask').
Mon, Dec 6, 6:41 AM · Restricted Project
RKSimon accepted D115016: [CostModel][X86] Add i64 mul cost for avx512 as 1cy.

LGTM - cheers

Mon, Dec 6, 6:38 AM · Restricted Project
RKSimon added a comment to D115138: [llvm-mca] Compare multiple files.

+1 To refactor this as a helper python script (llvm-mca-diff.py ?) we can add to llvm-project\llvm\utils - there might be some json output we're missing but I think everything else can be kept out of the exe

Mon, Dec 6, 6:36 AM · Restricted Project
RKSimon added a comment to D107966: [SLP]Do not emit extract elements for insertelements users, replace with shuffles directly..

rebase after D114909?

Mon, Dec 6, 5:33 AM · Restricted Project
RKSimon added a reviewer for D115138: [llvm-mca] Compare multiple files: RKSimon.
Mon, Dec 6, 5:24 AM · Restricted Project
RKSimon added a comment to D115016: [CostModel][X86] Add i64 mul cost for avx512 as 1cy.

Update the title/summary - its AVX512F now, not AVX1

Mon, Dec 6, 3:36 AM · Restricted Project

Fri, Dec 3

RKSimon committed rGebf527191873: [DAG] PromoteIntRes_FunnelShift - rename shift Amount variable to Amt to… (authored by RKSimon).
[DAG] PromoteIntRes_FunnelShift - rename shift Amount variable to Amt to…
Fri, Dec 3, 9:25 AM
RKSimon added a comment to rG11f67f5a2c28: [ARM] Replace if's with a switch, NFC.

Hopefully rG74cc0fa1db74d678436020a64a8ca0e9e99954d1 will help as well then

Fri, Dec 3, 9:20 AM
RKSimon committed rG74cc0fa1db74: [IR][AutoUpgrade] Merge x86 mask load intrinsic upgrades. NFC. (authored by RKSimon).
[IR][AutoUpgrade] Merge x86 mask load intrinsic upgrades. NFC.
Fri, Dec 3, 8:55 AM
RKSimon added a comment to rG11f67f5a2c28: [ARM] Replace if's with a switch, NFC.

@dmgreen Still not enough to appease VS2019 :( I have a local fix that I'll push in a few moments

Fri, Dec 3, 8:46 AM
RKSimon added a comment to D115016: [CostModel][X86] Add i64 mul cost for avx512 as 1cy.

This is a classic example of where having cost tables driven from (accurate) scheduler models would be much more useful (D46276), but there has been very little interest in helping polish those models to make that a viable option.

Thanks for sharing this. I think using scheduler models based cost tables is more accurate and reasonable. Is there any plan to commit D46276?

Fri, Dec 3, 7:00 AM · Restricted Project
RKSimon committed rGe85667a2fbaf: [PowerPC] Add non-constant fcopysign f128 test coverage (authored by RKSimon).
[PowerPC] Add non-constant fcopysign f128 test coverage
Fri, Dec 3, 4:04 AM
RKSimon added a comment to D101109: [SLP]Improve multinode analysis..

@vporpo Any more comments?

Fri, Dec 3, 3:58 AM · Restricted Project
RKSimon added inline comments to D115035: Move header ConstantFold.h into include directory.
Fri, Dec 3, 2:41 AM · Restricted Project
RKSimon added a comment to D115016: [CostModel][X86] Add i64 mul cost for avx512 as 1cy.

i64 mul cost is 1cy for most cpu that support avx. Currently all X86 cpu uses i64 mul cost in X64 cost table represents a worst case which is not true for most recent cpus.

Fri, Dec 3, 1:51 AM · Restricted Project

Thu, Dec 2

RKSimon accepted D114958: [SLP]Fix reused extracts cost..

LGTM

Thu, Dec 2, 10:18 AM · Restricted Project
RKSimon accepted D114909: [SLP]Outline and fix code for finding common insertelement vectors..

LGTM - cheers

Thu, Dec 2, 7:13 AM · Restricted Project
RKSimon added inline comments to D114589: [DAG] Enable ISD::EXTRACT_ELEMENT SimplifyDemandedBits handling.
Thu, Dec 2, 7:12 AM · Restricted Project
RKSimon requested changes to D114909: [SLP]Outline and fix code for finding common insertelement vectors..
Thu, Dec 2, 6:50 AM · Restricted Project
RKSimon accepted D114087: [SLP]Improve registering and merging of compatible shuffles..

LGTM

Thu, Dec 2, 6:49 AM · Restricted Project
RKSimon updated the diff for D77804: [DAG] Enable ISD::SHL/SRL SimplifyMultipleUseDemandedBits handling (WIP).

rebase - squashed a few more regressions...

Thu, Dec 2, 5:10 AM · Restricted Project
RKSimon added inline comments to D114589: [DAG] Enable ISD::EXTRACT_ELEMENT SimplifyDemandedBits handling.
Thu, Dec 2, 4:40 AM · Restricted Project
RKSimon added inline comments to D114582: [SDAG] Refine MMO size when converting masked load/store to normal load/store.
Thu, Dec 2, 4:32 AM · Restricted Project
RKSimon committed rG6803d08c38af: [DAG][PowerPC] Enable initial ISD::BITCAST… (authored by RKSimon).
[DAG][PowerPC] Enable initial ISD::BITCAST…
Thu, Dec 2, 3:48 AM
RKSimon closed D114676: [DAG][PowerPC] Enable initial ISD::BITCAST SimplifyDemandedBits/SimplifyMultipleUseDemandedBits big-endian handling.
Thu, Dec 2, 3:48 AM · Restricted Project

Wed, Dec 1

RKSimon added inline comments to D114909: [SLP]Outline and fix code for finding common insertelement vectors..
Wed, Dec 1, 2:38 PM · Restricted Project
RKSimon added inline comments to D114909: [SLP]Outline and fix code for finding common insertelement vectors..
Wed, Dec 1, 2:35 PM · Restricted Project
RKSimon added a comment to D113247: [VE] Make VE official.

I'm seeing this on MSVC builds:

Wed, Dec 1, 9:07 AM · Restricted Project, Restricted Project
RKSimon abandoned D114875: [VE] Fix VP stderr filecheck pipes on MSVC builds.

@simoll Handled this in rG444013d324fe279fe71cb626ba56ab935d943fd8

Wed, Dec 1, 8:46 AM · Restricted Project
RKSimon added inline comments to D107966: [SLP]Do not emit extract elements for insertelements users, replace with shuffles directly..
Wed, Dec 1, 8:44 AM · Restricted Project
RKSimon committed rG19d34f6e95fe: [X86] combinePMULH - recognise 'cheap' trunctions via PACKS/PACKUS as well as… (authored by RKSimon).
[X86] combinePMULH - recognise 'cheap' trunctions via PACKS/PACKUS as well as…
Wed, Dec 1, 8:38 AM
RKSimon committed rG1bd01defff8a: [VE] Remove switch with only default case statement to fix MSVC warning. NFC. (authored by RKSimon).
[VE] Remove switch with only default case statement to fix MSVC warning. NFC.
Wed, Dec 1, 8:38 AM
RKSimon closed D113371: [X86] combinePMULH - recognise 'cheap' trunctions via PACKS/PACKUS as well as SEXT/ZEXT.
Wed, Dec 1, 8:38 AM · Restricted Project
RKSimon accepted D113782: [SLP]Improve cost model for the shuffled extracts..

LGTM - cheers

Wed, Dec 1, 6:54 AM · Restricted Project
RKSimon accepted D114873: [SLP]Introduce isUndefVector function to check for undef vectors..

LGTM with one minor

Wed, Dec 1, 6:53 AM · Restricted Project
RKSimon requested review of D114875: [VE] Fix VP stderr filecheck pipes on MSVC builds.
Wed, Dec 1, 6:44 AM · Restricted Project
RKSimon accepted D114844: [X86][FP16] Only generate approximate rsqrt when Reciprocal is true for half type.

LGTM

Wed, Dec 1, 6:07 AM · Restricted Project
RKSimon added inline comments to D113782: [SLP]Improve cost model for the shuffled extracts..
Wed, Dec 1, 6:01 AM · Restricted Project
RKSimon added a comment to D112421: [clang][ARM] PACBTI-M frontend support.

@stuij This is causing buildbot failures, please can you take a look? https://lab.llvm.org/buildbot/#/builders/139

Wed, Dec 1, 4:09 AM · Restricted Project, Restricted Project
RKSimon committed rG4f7d397b6dbf: [X86] Add some basic fptosi/fptoui saturate vector tests (authored by RKSimon).
[X86] Add some basic fptosi/fptoui saturate vector tests
Wed, Dec 1, 4:04 AM
RKSimon added a comment to D112428: [DAG] Create fptoui.sat from clamped fptosi.

Any more comments? I'm happy to take a look at x86 codegen later on - I'm hoping to look at https://llvm.org/PR52581 soon

Wed, Dec 1, 3:59 AM · Restricted Project
RKSimon resigned from D111437: [SystemZ/z/OS] Implement GOFF writer for empty files.

Sorry this isn't an area I know much about.

Wed, Dec 1, 3:33 AM · Restricted Project
RKSimon added a comment to D114582: [SDAG] Refine MMO size when converting masked load/store to normal load/store.

@dmgreen please can you rebase?

Wed, Dec 1, 3:25 AM · Restricted Project
RKSimon committed rG9981dd142f18: [DAG] Apply clang-format to visitMSTORE + visitMLOAD. NFC. (authored by RKSimon).
[DAG] Apply clang-format to visitMSTORE + visitMLOAD. NFC.
Wed, Dec 1, 3:24 AM
RKSimon added inline comments to D113782: [SLP]Improve cost model for the shuffled extracts..
Wed, Dec 1, 3:01 AM · Restricted Project
RKSimon added inline comments to D114844: [X86][FP16] Only generate approximate rsqrt when Reciprocal is true for half type.
Wed, Dec 1, 2:52 AM · Restricted Project
RKSimon accepted D114799: [SLP]Improve vectorization of cmp instructions sequences..

Thanks for the clarification, LGTM

Wed, Dec 1, 2:41 AM · Restricted Project
RKSimon added a comment to D114676: [DAG][PowerPC] Enable initial ISD::BITCAST SimplifyDemandedBits/SimplifyMultipleUseDemandedBits big-endian handling.

any comments?

Wed, Dec 1, 2:05 AM · Restricted Project

Tue, Nov 30

RKSimon added inline comments to D114799: [SLP]Improve vectorization of cmp instructions sequences..
Tue, Nov 30, 2:46 PM · Restricted Project
RKSimon added a comment to D114639: Raise the minimum Visual Studio version to VS2019.

Right, but last time we did the motivation was specifically to get to c++14, while here the motivation is to drop an old MSVC according to the MSVC-specific support we intend to provide.

My memory is that that was _A_ motivation, not the only one. There were quite a few GCC bugs that we were getting away from as well that was my primary justification for pushing it at the time, though the C++14 motivation was ALSO tempting/appreciated.

I'm fairly sure that at least JF who pushed for it was motivated by C++14, here is the RFC: https://lists.llvm.org/pipermail/llvm-dev/2019-January/129452.html
The update of toolchain has always historically been measured by the amount of features we get from the update, in particular while compilers were getting support for new standard feature during C++11 adoption it was really a game of matching the various compiler, looks at potential updates and what this would enable. Though I agree that we're somehow frequently working around issues specific to gcc-5 (I'd say my gcc-5.4 bot breaks once a week on average), and migrating from old toolchains can have value on its own.

Tue, Nov 30, 2:42 PM · Restricted Project, Restricted Project
RKSimon updated the diff for D114639: Raise the minimum Visual Studio version to VS2019.

Changed cmake example back to VS2019

Tue, Nov 30, 2:31 PM · Restricted Project, Restricted Project
RKSimon added inline comments to D114087: [SLP]Improve registering and merging of compatible shuffles..
Tue, Nov 30, 10:49 AM · Restricted Project
RKSimon added inline comments to D114799: [SLP]Improve vectorization of cmp instructions sequences..
Tue, Nov 30, 10:42 AM · Restricted Project
RKSimon added inline comments to D114087: [SLP]Improve registering and merging of compatible shuffles..
Tue, Nov 30, 10:38 AM · Restricted Project
RKSimon added a comment to D114639: Raise the minimum Visual Studio version to VS2019.

IMO, if we're updating the MSVC versions, we should do the same for the GCC/Clang/AppleClang versions too. For example, GCC 5.1 is from 2015, and Clang 3.5 is from 2014.

We've always handled MSVC update separately I believe, we can't just take the "last two version of MSVC" guideline and update every compiler each time.
(I'm not against updating our toolchain to support c++17, but that's orthogonal to the MSVC-specific update)

Tue, Nov 30, 10:12 AM · Restricted Project, Restricted Project
RKSimon commandeered D79483: [CostModel] Replace getUserCost with getInstructionCost..

Commandeering from @samparker - this has been on my backlog for ages, but you never know, I might get around to it soon...

Tue, Nov 30, 10:09 AM · Restricted Project
RKSimon updated the diff for D113371: [X86] combinePMULH - recognise 'cheap' trunctions via PACKS/PACKUS as well as SEXT/ZEXT.

Improved comments to explain the cheap packs/truncs which mean the mul->mulh are cost effective.

Tue, Nov 30, 10:05 AM · Restricted Project
RKSimon added a comment to D113371: [X86] combinePMULH - recognise 'cheap' trunctions via PACKS/PACKUS as well as SEXT/ZEXT.

Hm, i'm not sure i'm following, why is the truncation free if the dropped bits are zeros / why it won't be free otherwise?

Tue, Nov 30, 9:41 AM · Restricted Project
RKSimon updated the summary of D114795: [PR52475] Ensure a correct chain in copies to/from hidden sret parameter.
Tue, Nov 30, 8:33 AM · Restricted Project
RKSimon requested changes to D114799: [SLP]Improve vectorization of cmp instructions sequences..
Tue, Nov 30, 8:32 AM · Restricted Project
RKSimon added inline comments to D114087: [SLP]Improve registering and merging of compatible shuffles..
Tue, Nov 30, 8:30 AM · Restricted Project
RKSimon accepted D114121: [SLP]Improve isFixedVectorShuffle and its use..

LGTM - cheers

Tue, Nov 30, 8:29 AM · Restricted Project
RKSimon added inline comments to D114087: [SLP]Improve registering and merging of compatible shuffles..
Tue, Nov 30, 8:22 AM · Restricted Project
RKSimon added inline comments to D113782: [SLP]Improve cost model for the shuffled extracts..
Tue, Nov 30, 8:13 AM · Restricted Project
RKSimon retitled D113371: [X86] combinePMULH - recognise 'cheap' trunctions via PACKS/PACKUS as well as SEXT/ZEXT from [X86] combinePMULH - recognise 'cheap' trunctions via PACKS/PACKUS as well as SEXT/ZEXT (WIP) to [X86] combinePMULH - recognise 'cheap' trunctions via PACKS/PACKUS as well as SEXT/ZEXT.
Tue, Nov 30, 7:41 AM · Restricted Project
RKSimon updated the diff for D113371: [X86] combinePMULH - recognise 'cheap' trunctions via PACKS/PACKUS as well as SEXT/ZEXT.

Fix AVX2 regressions - we can use a similar trick to what we do for MADDWD - if we know that the upper bits of the extended input elements are zero, then the MULHU result for those (bitcasted) sub-elements will be zero as well - so we can perform the MULHU on the (bitcasted) inputs and then cheaply truncate/packus the results to vXi16.

Tue, Nov 30, 7:41 AM · Restricted Project
RKSimon committed rG9a86eb560248: [X86] Add mulh test coverage for extension to illegal type (authored by RKSimon).
[X86] Add mulh test coverage for extension to illegal type
Tue, Nov 30, 5:43 AM
RKSimon added a comment to D114639: Raise the minimum Visual Studio version to VS2019.

Thanks - I think all the MSVC bot admins are now on this patch, so I can avoid writing yet another email!

Tue, Nov 30, 1:34 AM · Restricted Project, Restricted Project

Mon, Nov 29

RKSimon added inline comments to D110978: [SLP]Improve gathering of the scalars used in the graph..
Mon, Nov 29, 9:13 AM · Restricted Project
RKSimon added inline comments to D113970: [SelectionDAG] Add pattern to haveNoCommonBitsSet..
Mon, Nov 29, 8:48 AM · Restricted Project
RKSimon added a comment to D114639: Raise the minimum Visual Studio version to VS2019.

Have you checked whether there are any bots in the lab that will need to be updated?

Mon, Nov 29, 7:45 AM · Restricted Project, Restricted Project
RKSimon accepted D114697: [X86][Costmodel] `getInterleavedMemoryOpCostAVX512()`: masked load can not be folded into a shuffle.

LGTM - at least we know the code path is touched :)

Mon, Nov 29, 7:16 AM · Restricted Project
RKSimon accepted D111976: [DAG] Create fptosi.sat from clamped fptosi.

LGTM - cheers

Mon, Nov 29, 5:06 AM · Restricted Project
RKSimon added a comment to D114697: [X86][Costmodel] `getInterleavedMemoryOpCostAVX512()`: masked load can not be folded into a shuffle.

How easy is it to add test coverage for this?

Mon, Nov 29, 4:40 AM · Restricted Project