RKSimon (Simon Pilgrim)
User

Projects

User does not belong to any projects.

User Details

User Since
May 5 2014, 7:26 AM (215 w, 14 h)

Recent Activity

Today

RKSimon added inline comments to D48264: [MCA][NFC] Add generic XOP resource tests.
Mon, Jun 18, 1:18 PM
RKSimon committed rL334976: [docs] Fix indentation of llvm-exegesis command line arguments.
[docs] Fix indentation of llvm-exegesis command line arguments
Mon, Jun 18, 1:09 PM
RKSimon added a comment to D48079: [X86] Add sched class WriteLAHFSAHF and fix values..

Please can you LAHF/SAHF tests to the resources-x86_64.s llvm-mca test files

Mon, Jun 18, 12:54 PM
RKSimon added a comment to D47401: [X86] Rewrite the max and min reduction intrinsics to make better use of other functions and to reduce width to 256 and 128 bits were possible..

Is there any llvm side fast isel tests for these?

Mon, Jun 18, 12:45 PM
RKSimon added inline comments to D47735: [DAGCombiner] Create rotates more aggressively.
Mon, Jun 18, 12:31 PM
RKSimon added a comment to D47983: [IR][PatternMatch] m_APInt(): allow undef elements..

Would it be better to implement m_APInt_or_Undef and m_APFloat_or_Undef - explaining that the undef is only for vectors (and naturally must still contain at least one APInt).

Mon, Jun 18, 11:59 AM
RKSimon added a comment to D47004: [X86] Use addAliasForDirective to support the .word directive.

@asb What's the plan for this patch?

Mon, Jun 18, 10:37 AM
RKSimon added inline comments to D48264: [MCA][NFC] Add generic XOP resource tests.
Mon, Jun 18, 10:14 AM
RKSimon committed rL334958: [SLPVectorizer] Tidyup isShuffle helper.
[SLPVectorizer] Tidyup isShuffle helper
Mon, Jun 18, 9:30 AM
RKSimon closed D48023: [SLPVectorizer] Tidyup isShuffle helper.
Mon, Jun 18, 9:30 AM
RKSimon committed rL334947: [X86][BtVer2] Flag AVX2+ scheduler classes as unsupported.
[X86][BtVer2] Flag AVX2+ scheduler classes as unsupported
Mon, Jun 18, 7:35 AM
RKSimon closed D48274: [X86][BtVer2] Flag AVX2+ scheduler classes as unsupported.
Mon, Jun 18, 7:35 AM
RKSimon added a comment to D48172: [CostModel][AArch64] Add some initial costs for SK_Select and SK_PermuteSingleSrc.

Can anyone recommend the best shuffle costs to put here for the 32/64 cases?

Mon, Jun 18, 6:50 AM
RKSimon added a comment to D48023: [SLPVectorizer] Tidyup isShuffle helper.

@spatel Should this wait for D48236 or can I commit it now?

Mon, Jun 18, 6:49 AM
RKSimon added inline comments to D48264: [MCA][NFC] Add generic XOP resource tests.
Mon, Jun 18, 6:48 AM
RKSimon added reviewers for D47637: Check Sched Class tables at generation time: courbet, andreadb, gchatelet, lebedev.ri.
Mon, Jun 18, 6:08 AM
RKSimon created D48274: [X86][BtVer2] Flag AVX2+ scheduler classes as unsupported.
Mon, Jun 18, 4:42 AM
RKSimon committed rL334934: [SLPVectorizer] Avoid calling const VL.size() repeatedly in for-loop. NFCI..
[SLPVectorizer] Avoid calling const VL.size() repeatedly in for-loop. NFCI.
Mon, Jun 18, 4:40 AM
RKSimon added inline comments to D48264: [MCA][NFC] Add generic XOP resource tests.
Mon, Jun 18, 4:32 AM
RKSimon accepted D48267: [llvm-exegesis] Optionally ignore instructions without a sched class..

Thanks

Mon, Jun 18, 4:15 AM

Yesterday

RKSimon added a comment to D48236: [IR] move shuffle mask queries from TTI to ShuffleVectorInst.

I haven't had a chance to go through this yet, but it'd be useful to be able to call these through ArrayRef<int> style shuffle masks (see the TODO I added for SLP to D48023)

Sun, Jun 17, 9:34 AM
RKSimon committed rL334907: [llvm-mca][X86] Add some avx512f/avx512vl resource test placeholders.
[llvm-mca][X86] Add some avx512f/avx512vl resource test placeholders
Sun, Jun 17, 9:30 AM
RKSimon added a comment to D48252: [MCA][NFC] Add generic TBM resource tests.

LGTM thanks

Thank you for the review.

Note that i don't fully understand the pattern here.
I followed the basic idea that for every instruction, the last (destination) register should always be the same,
the highest used register (i.e. if there is an instruction taking 3 registers, it would be %rcx).
All others start from 0/a always. And the memory operand is always 64-bit.

Sun, Jun 17, 4:18 AM
RKSimon accepted D48252: [MCA][NFC] Add generic TBM resource tests.

LGTM thanks

Sun, Jun 17, 3:27 AM

Fri, Jun 15

RKSimon added a comment to D41168: [X86] Lowering X86 avx512 sqrt intrinsics to IR.

LGTM as well

Fri, Jun 15, 11:40 AM
RKSimon committed rL334853: [llvm-mca][x86] Add Generic cpu resource tests.
[llvm-mca][x86] Add Generic cpu resource tests
Fri, Jun 15, 11:39 AM
RKSimon added a comment to D48225: [llvm-mca][X86] Teach how to identify register writes that implicitly clear the upper portion of a super-register..

Should there be some AVX512VL tests? We don't have any scheduler that can test XOP instructions AFAICT (unless we want to cheat and use SandyBridge in its role as the generic model).

Fri, Jun 15, 9:42 AM
RKSimon added a comment to D47766: Removing unsupported resources from sched model.

Abandon this? D47763 took this patch's idea for a UnsupportedWriteResPair multiclass but kept the unsupported classes in target's scheduler td file.

Fri, Jun 15, 7:48 AM
RKSimon added a comment to D47377: [X86][Sched] Fix WriteZero sched class for all CPUs..

@courbet What's the plan for this phab?

Fri, Jun 15, 7:45 AM
RKSimon created D48214: [SLPVectorizer] Recognise non uniform power of 2 constants.
Fri, Jun 15, 3:49 AM
RKSimon committed rL334821: [SLP][X86] Add AVX2 run to POW2 SDIV Tests.
[SLP][X86] Add AVX2 run to POW2 SDIV Tests
Fri, Jun 15, 3:34 AM
RKSimon committed rL334819: [SLP][X86] Regenerate POW2 SDIV Tests.
[SLP][X86] Regenerate POW2 SDIV Tests
Fri, Jun 15, 3:11 AM
RKSimon updated subscribers of rL334729: [DAG] Avoid needing to walk out legalization tables. NFCI..

@niravd This is failing on EXPENSIVE_CHECKS builds - http://lab.llvm.org:8011/builders/llvm-clang-x86_64-expensive-checks-win/builds/10278

Fri, Jun 15, 2:46 AM
RKSimon added inline comments to D48190: [MCA][x86][NFC] Add tests for -register-file-stats, -scheduler-stats.
Fri, Jun 15, 12:51 AM

Thu, Jun 14

RKSimon added inline comments to D48172: [CostModel][AArch64] Add some initial costs for SK_Select and SK_PermuteSingleSrc.
Thu, Jun 14, 1:15 PM
RKSimon added inline comments to D48172: [CostModel][AArch64] Add some initial costs for SK_Select and SK_PermuteSingleSrc.
Thu, Jun 14, 9:59 AM
RKSimon created D48174: [SLPVectorizer] Relax "alternate" opcode vectorisation to work with any SK_Select shuffle pattern.
Thu, Jun 14, 9:01 AM
RKSimon created D48172: [CostModel][AArch64] Add some initial costs for SK_Select and SK_PermuteSingleSrc.
Thu, Jun 14, 8:16 AM
RKSimon committed rL334715: [EarlyCSE] Fix MSVC build. NFCI..
[EarlyCSE] Fix MSVC build. NFCI.
Thu, Jun 14, 7:26 AM
RKSimon committed rL334714: [CostModel][AArch64] Add cost tests for ALTERNATE/SELECT style shuffle masks.
[CostModel][AArch64] Add cost tests for ALTERNATE/SELECT style shuffle masks
Thu, Jun 14, 7:24 AM
RKSimon updated the diff for D48023: [SLPVectorizer] Tidyup isShuffle helper.

Simplified SK_Select pattern matching

Thu, Jun 14, 3:58 AM
RKSimon committed rL334701: [SLPVectorizer] Remove RawInstructionsData/getMainOpcode and merge into….
[SLPVectorizer] Remove RawInstructionsData/getMainOpcode and merge into…
Thu, Jun 14, 3:30 AM
RKSimon closed D48120: [SLPVectorizer] Remove RawInstructionsData/getMainOpcode and merge into getSameOpcode.
Thu, Jun 14, 3:30 AM
RKSimon accepted D48120: [SLPVectorizer] Remove RawInstructionsData/getMainOpcode and merge into getSameOpcode.

Thanks @dtemirbulatov

Thu, Jun 14, 3:10 AM
RKSimon committed rL334699: [CostModel] Cleanup isSingleSourceVectorMask to match other shuffle matchers..
[CostModel] Cleanup isSingleSourceVectorMask to match other shuffle matchers.
Thu, Jun 14, 2:53 AM
RKSimon committed rL334698: [CostModel] Recognise REVERSE shuffle mask if the elements come from the second….
[CostModel] Recognise REVERSE shuffle mask if the elements come from the second…
Thu, Jun 14, 2:39 AM

Wed, Jun 13

RKSimon committed rL334623: [CostModel][X86] Test showing failure to recognise REVERSE shuffle mask if the….
[CostModel][X86] Test showing failure to recognise REVERSE shuffle mask if the…
Wed, Jun 13, 10:16 AM
RKSimon committed rL334620: [CostModel] Recognise BROADCAST shuffle mask if the elements come from the….
[CostModel] Recognise BROADCAST shuffle mask if the elements come from the…
Wed, Jun 13, 9:56 AM
RKSimon committed rL334616: [CostModel][X86] Test showing failure to recognise BROADCAST shuffle mask if….
[CostModel][X86] Test showing failure to recognise BROADCAST shuffle mask if…
Wed, Jun 13, 9:38 AM
RKSimon added inline comments to D47993: [x86] fix mappings of cvttp2si x86 intrinsics to x86-specific nodes and isel patterns (PR37551).
Wed, Jun 13, 8:13 AM
RKSimon updated subscribers of rL334594: Improve handling of COPY instructions with identical value numbers.

@kparzysz This is failing when EXPENSIVE_CHECKS is enabled:

*** Bad machine code: Virtual register defs don't dominate all uses. ***
- function:    _amdgpu_cs_main
- v. register: %44
Wed, Jun 13, 6:43 AM
RKSimon created D48120: [SLPVectorizer] Remove RawInstructionsData/getMainOpcode and merge into getSameOpcode.
Wed, Jun 13, 6:14 AM
RKSimon accepted D48078: [x86] eliminate even more sign-bit tests with vector select.

LGTM

Wed, Jun 13, 4:36 AM
RKSimon committed rL334588: [SLPVectorizer] getSameOpcode - remove useless cast [NFC].
[SLPVectorizer] getSameOpcode - remove useless cast [NFC]
Wed, Jun 13, 3:53 AM
RKSimon committed rL334587: [SLPVectorizer] getSameOpcode - remove unusued alternate code [NFC].
[SLPVectorizer] getSameOpcode - remove unusued alternate code [NFC]
Wed, Jun 13, 3:19 AM
RKSimon accepted D46356: [TableGen] Emit a fatal error on inconsistencies in resource units vs cycles..

LGTM - thank @courbet

Wed, Jun 13, 2:26 AM

Tue, Jun 12

RKSimon committed rL334513: [CostModel] Replace ShuffleKind::SK_Alternate with ShuffleKind::SK_Select….
[CostModel] Replace ShuffleKind::SK_Alternate with ShuffleKind::SK_Select…
Tue, Jun 12, 9:17 AM
RKSimon closed D47985: [CostModel] Replace ShuffleKind::SK_Alternate with ShuffleKind::SK_Select (PR33744).
Tue, Jun 12, 9:17 AM
RKSimon committed rL334509: Fix signed/unsigned warning. NFCI..
Fix signed/unsigned warning. NFCI.
Tue, Jun 12, 8:19 AM
RKSimon updated the diff for D47985: [CostModel] Replace ShuffleKind::SK_Alternate with ShuffleKind::SK_Select (PR33744).

rebase

Tue, Jun 12, 8:13 AM
RKSimon committed rL334506: [CostModel] Treat Identity shuffle masks as zero cost.
[CostModel] Treat Identity shuffle masks as zero cost
Tue, Jun 12, 7:51 AM
RKSimon closed D47986: [CostModel] Treat Identity shuffle masks as zero cost.
Tue, Jun 12, 7:51 AM
RKSimon updated the diff for D47986: [CostModel] Treat Identity shuffle masks as zero cost.

Refreshed with tests for RHS Identity shuffles

Tue, Jun 12, 2:34 AM
RKSimon committed rL334486: [CostModel][X86] Add extra Identity shuffle mask cost tests (D47986).
[CostModel][X86] Add extra Identity shuffle mask cost tests (D47986)
Tue, Jun 12, 2:22 AM

Mon, Jun 11

RKSimon added inline comments to D48043: [x86] eliminate more sign-bit tests with vector select.
Mon, Jun 11, 1:39 PM
RKSimon added a comment to D47986: [CostModel] Treat Identity shuffle masks as zero cost.

We should fold these in InstSimplify, so assigning a zero cost seems appropriate, but that raises the question: who's creating these? Couldn't they call llvm::SimplifyShuffleVectorInst() and short-circuit the problem?

Mon, Jun 11, 11:11 AM
RKSimon committed rL334423: [X86][AVX512] Tag AVX5124FMAPS/AVX5124VNNIW with missing scheduler classes.
[X86][AVX512] Tag AVX5124FMAPS/AVX5124VNNIW with missing scheduler classes
Mon, Jun 11, 10:32 AM
RKSimon added a comment to D47993: [x86] fix mappings of cvttp2si x86 intrinsics to x86-specific nodes and isel patterns (PR37551).

@craig.topper What do you want to do for the avx512 equivalents in X86IntrinsicsInfo.h

Mon, Jun 11, 7:19 AM
RKSimon accepted D48022: [llvm-exegesis] Fix unhandled error..

Thanks - this fixes PR37759

Mon, Jun 11, 7:13 AM
RKSimon accepted D47721: [X86] Fix skylake server scheduling info..

LGTM with a few final minor corrections.

Mon, Jun 11, 6:49 AM
RKSimon created D48023: [SLPVectorizer] Tidyup isShuffle helper.
Mon, Jun 11, 6:39 AM
RKSimon added inline comments to D46957: [x86] Lower some trunc + shuffle patterns to vpmov[q|d][b|w].
Mon, Jun 11, 5:55 AM
RKSimon added a comment to D47721: [X86] Fix skylake server scheduling info..

Nice! A couple of minors - but almost there I reckon.

Mon, Jun 11, 5:39 AM
RKSimon created D48008: [SLPVectorizer] Remove default OperandValueKind arguments from getArithmeticInstrCost calls (NFC).
Mon, Jun 11, 4:21 AM
RKSimon added inline comments to D46957: [x86] Lower some trunc + shuffle patterns to vpmov[q|d][b|w].
Mon, Jun 11, 3:12 AM
RKSimon added a comment to D47681: [DAGCombiner] Bug 31275- Extract a shift from a constant mul or udiv if a rotate can be formed.

The tests probably need committing with trunk's current codegen, so this patch then shows the diff.

Mon, Jun 11, 2:54 AM
RKSimon accepted D47004: [X86] Use addAliasForDirective to support the .word directive.

LGTM - thanks.

Mon, Jun 11, 2:04 AM

Sun, Jun 10

RKSimon added a comment to D45806: DAGcombiner: Handle correctly non-splat power of 2 -1 divisor.

@zvi Any movement on this? I can commandeer if you're still busy.

Sun, Jun 10, 11:51 AM
RKSimon added inline comments to D47993: [x86] fix mappings of cvttp2si x86 intrinsics to x86-specific nodes and isel patterns (PR37551).
Sun, Jun 10, 11:49 AM

Sat, Jun 9

RKSimon created D47986: [CostModel] Treat Identity shuffle masks as zero cost.
Sat, Jun 9, 1:36 PM
RKSimon created D47985: [CostModel] Replace ShuffleKind::SK_Alternate with ShuffleKind::SK_Select (PR33744).
Sat, Jun 9, 11:48 AM
RKSimon committed rL334351: [CostModel][X86] Add 'select' style shuffle costs tests (PR33744).
[CostModel][X86] Add 'select' style shuffle costs tests (PR33744)
Sat, Jun 9, 9:12 AM
RKSimon accepted D47693: [X86] Use target independent masked expandload and compressstore intrinsics to implement expandload/compressstore builtins..

We're going to need more codegen tests on the llvm side - test coverage (fast-isel and intrinsics) isn't great. But LGTM on the clang side.

Sat, Jun 9, 6:39 AM

Fri, Jun 8

RKSimon added a comment to D47725: [SelectionDAG] Provide default expansion for rotates.

LGTM @efriedma any more comments?

Fri, Jun 8, 11:06 AM
RKSimon committed rL334309: [X86][SSE] Support v8i16/v16i16 rotations.
[X86][SSE] Support v8i16/v16i16 rotations
Fri, Jun 8, 11:03 AM
RKSimon closed D47822: [X86][SSE] Support v8i16/v16i16 rotations.
Fri, Jun 8, 11:03 AM
RKSimon accepted D47330: [DAGCombiner] match vector compare and select sizes with extload operand (PR37427).

LGTM (as long as you don't forget about the lost AVX1 improvements and the AVX2 slt_zero_fp_select regression!)

Fri, Jun 8, 10:56 AM
RKSimon committed rL334303: [X86][BtVer2] Add support for all SUB/XOR 32/64 scalar instructions that should….
[X86][BtVer2] Add support for all SUB/XOR 32/64 scalar instructions that should…
Fri, Jun 8, 10:05 AM
RKSimon committed rL334302: [X86] Fix schedule-x86_64.s tests to use different registers in reg-reg cases.
[X86] Fix schedule-x86_64.s tests to use different registers in reg-reg cases
Fri, Jun 8, 9:44 AM
RKSimon committed rL334297: [X86][BtVer2] Remove SBB tests that were accidentally added in rL334296.
[X86][BtVer2] Remove SBB tests that were accidentally added in rL334296
Fri, Jun 8, 8:47 AM
RKSimon committed rL334296: [X86][BtVer2] Add tests for scalar SUB/XOR instructions that should match the….
[X86][BtVer2] Add tests for scalar SUB/XOR instructions that should match the…
Fri, Jun 8, 8:33 AM
RKSimon committed rL334292: [X86][BtVer2] Limit zero idiom tests to a single iteration..
[X86][BtVer2] Limit zero idiom tests to a single iteration.
Fri, Jun 8, 8:06 AM
RKSimon committed rL334291: Fix Wdocumentation warning for unknown param. NFCI..
Fix Wdocumentation warning for unknown param. NFCI.
Fri, Jun 8, 7:58 AM
RKSimon added a comment to D47766: Removing unsupported resources from sched model.

9>>! In D47766#1124708, @RKSimon wrote:

I really don't like the idea of a separate file - I think the models need to stay self contained. @courbet 's approach in D47763 seems a lot tidier

As I remember there was a discussion about a possibility to use some "common" possibility to mark unsupported/default features w/o necessity to repeat those unsupported features in all models. The idea was to put such things in some place and to "inherit" or "redefine" them. I tried to implement this behaviour in this patch: we should not repeat description of unsupported features inside every model; we should simply include some file(s) with common description of those features.

On the other hand I see now X86WriteResUnsupported/X86WriteResPairUnsupported in D47763 and I like it for unsupported resources. Because of that I'm going to close this review.

Fri, Jun 8, 7:16 AM
RKSimon committed rL334290: [X86][SSE] Add SSE2/AVX2 vector rotate tests .
[X86][SSE] Add SSE2/AVX2 vector rotate tests
Fri, Jun 8, 7:11 AM
RKSimon committed rL334289: [X86][SSE] Simplify combineVectorTruncationWithPACKUS to reduce code duplication.
[X86][SSE] Simplify combineVectorTruncationWithPACKUS to reduce code duplication
Fri, Jun 8, 7:03 AM
RKSimon accepted D47763: [X86] Explicitly mark unsupported zmm classes in scheduling models..

LGTM with one minor - thanks.

Fri, Jun 8, 6:20 AM
RKSimon added reviewers for D47831: [DAGCombiner] Recognize more patterns for ABS: jmolloy, rengolin.
Fri, Jun 8, 6:17 AM
RKSimon committed rL334276: [X86][SSE] Consistently prefer lowering to PACKUS over PACKSS.
[X86][SSE] Consistently prefer lowering to PACKUS over PACKSS
Fri, Jun 8, 3:33 AM
RKSimon added a comment to D46356: [TableGen] Emit a fatal error on inconsistencies in resource units vs cycles..

@evandro Does AArch64SchedExynosM1.td and AArch64SchedThunderX2T99.td look correct now please?

Fri, Jun 8, 2:55 AM