RKSimon (Simon Pilgrim)
User

Projects

User does not belong to any projects.

User Details

User Since
May 5 2014, 7:26 AM (198 w, 3 d)

Recent Activity

Today

RKSimon committed rL325802: Fix "not all control paths return a value" MSVC warning. NFCI..
Fix "not all control paths return a value" MSVC warning. NFCI.
Thu, Feb 22, 8:17 AM
RKSimon committed rCTE325802: Fix "not all control paths return a value" MSVC warning. NFCI..
Fix "not all control paths return a value" MSVC warning. NFCI.
Thu, Feb 22, 8:17 AM
RKSimon updated the diff for D43466: [SelectionDAG] Move matchUnaryPredicate/matchBinaryPredicate into SelectionDAGNodes.h.

Don't inline matchUnaryPredicate/matchBinaryPredicate

Thu, Feb 22, 7:53 AM
RKSimon created D43618: [X86][MMX] Add support for MMX build vectors (PR29222).
Thu, Feb 22, 6:29 AM
RKSimon created D43616: [X86][MMX] Improve handling of 64-bit MMX constants.
Thu, Feb 22, 5:43 AM
RKSimon committed rL325777: Fix Wdocumentation warning - remove param tag for old argument.
Fix Wdocumentation warning - remove param tag for old argument
Thu, Feb 22, 5:33 AM
RKSimon committed rL325772: [SLPVectorizer][X86] Add load extend tests (PR36091).
[SLPVectorizer][X86] Add load extend tests (PR36091)
Thu, Feb 22, 4:24 AM

Yesterday

RKSimon committed rL325736: [X86][MMX] Generlize MMX_MOVD64rr combines to accept v4i16/v8i8 build vectors….
[X86][MMX] Generlize MMX_MOVD64rr combines to accept v4i16/v8i8 build vectors…
Wed, Feb 21, 3:11 PM
RKSimon committed rL325729: [X86][MMX] Add MMX_MOVD64rr build vector tests showing undef elements in the….
[X86][MMX] Add MMX_MOVD64rr build vector tests showing undef elements in the…
Wed, Feb 21, 2:13 PM
RKSimon committed rL325707: [X86][MMX] Run MMX bitcast test on 32 and 64-bit targets.
[X86][MMX] Run MMX bitcast test on 32 and 64-bit targets
Wed, Feb 21, 10:57 AM
RKSimon committed rL325698: [X86][MMX] Regenerate MMX MASKMOV test.
[X86][MMX] Regenerate MMX MASKMOV test
Wed, Feb 21, 8:40 AM
RKSimon committed rL325696: [X86][MMX] Regenerate MMX arithmetic tests.
[X86][MMX] Regenerate MMX arithmetic tests
Wed, Feb 21, 8:39 AM
RKSimon committed rL325695: [X86] LowerBITCAST - pull out repeated calls to getOperand(0). NFCI..
[X86] LowerBITCAST - pull out repeated calls to getOperand(0). NFCI.
Wed, Feb 21, 8:39 AM
RKSimon committed rL325685: [X86][MMX] Regenerate MMX PSUB commutation test.
[X86][MMX] Regenerate MMX PSUB commutation test
Wed, Feb 21, 7:10 AM
RKSimon committed rL325684: [X86] Regenerate GPR:XMM bitcast test.
[X86] Regenerate GPR:XMM bitcast test
Wed, Feb 21, 7:09 AM
RKSimon committed rL325675: [X86][MMX] Add PR29222 test case.
[X86][MMX] Add PR29222 test case
Wed, Feb 21, 4:08 AM
RKSimon committed rL325674: [X86][MMX] Add some MMX build vector tests.
[X86][MMX] Add some MMX build vector tests
Wed, Feb 21, 4:04 AM
RKSimon added a comment to D41278: [MachineCombiner] Improve debug output (NFC).

Commit it by itself, no need to wait for another review, as long as its a separate commit its fine to tag it with 'Differential Revision: https://reviews.llvm.org/D41278' (like you should have done for rL325217 as well).

Wed, Feb 21, 2:13 AM

Tue, Feb 20

RKSimon committed rL325611: [X86][MMX] Regenerate MMX bitcast test.
[X86][MMX] Regenerate MMX bitcast test
Tue, Feb 20, 10:53 AM
RKSimon committed rL325609: [X86][3DNow] Regenerate intrinsics tests.
[X86][3DNow] Regenerate intrinsics tests
Tue, Feb 20, 10:46 AM
RKSimon added a comment to D43446: [X86] Correct SHRUNKBLEND creation to work correctly when there are multiple uses of the condition..

Cheers.

Tue, Feb 20, 10:42 AM
RKSimon added a comment to D39245: [ADT] Shuffle containers before sorting to uncover non-deterministic behavior.

@mgrang I noticed you resolved PR35135 - what are you intending to do with this patch?

Tue, Feb 20, 7:04 AM
RKSimon committed rL325579: [X86] Regenerate XOR tests.
[X86] Regenerate XOR tests
Tue, Feb 20, 6:13 AM
RKSimon committed rL325578: [VectorLegalizer] Fix uint64_t typo in ExpandUINT_TO_FLOAT (PR36391).
[VectorLegalizer] Fix uint64_t typo in ExpandUINT_TO_FLOAT (PR36391)
Tue, Feb 20, 5:26 AM
RKSimon accepted D43327: [X86] Promote 16-bit cmovs to 32-bits.

LGTM

Tue, Feb 20, 5:09 AM
RKSimon added a comment to D41278: [MachineCombiner] Improve debug output (NFC).

MachineCombiner part LGTM now. I still would prefer if you submit it without the change in lib/CodeGen/MachineInstr.cpp and do that in a separate change.

OK, I'll do it as a separate patch.

Tue, Feb 20, 4:31 AM
RKSimon added inline comments to D43447: [X86] Custom split v32i16/v64i8 bitcasts when AVX512F is available, but BWI is not..
Tue, Feb 20, 4:23 AM
RKSimon accepted D43446: [X86] Correct SHRUNKBLEND creation to work correctly when there are multiple uses of the condition..

LGTM with a couple of minors.

Tue, Feb 20, 4:15 AM
RKSimon accepted D43449: [SelectionDAG] Add LegalTypes flag to getShiftAmountTy. Use it to unify and simplify DAGCombiner and simplifySetCC code and fix a bug..

LGTM - still don't understand why we don't have a single overidable function instead of the getShiftAmountTy/getScalartShiftAmountTy duplication.

Tue, Feb 20, 2:02 AM

Mon, Feb 19

RKSimon committed rL325521: [SelectionDAG] ComputeKnownBits - add support for SMIN+SMAX clamp patterns.
[SelectionDAG] ComputeKnownBits - add support for SMIN+SMAX clamp patterns
Mon, Feb 19, 10:10 AM
RKSimon closed D43463: [SelectionDAG] ComputeKnownBits - add support for SMIN+SMAX clamp patterns.
Mon, Feb 19, 10:10 AM
RKSimon added inline comments to D42948: [SelectionDAG] Support some SimplifySetCC cases for comparing against vector splats of constants..
Mon, Feb 19, 8:41 AM
RKSimon created D43466: [SelectionDAG] Move matchUnaryPredicate/matchBinaryPredicate into SelectionDAGNodes.h.
Mon, Feb 19, 7:48 AM
RKSimon added a comment to D43460: [X86] Add IMUL scheduling info on sandybridge, fix it on >=haswell..

@craig.topper mentioned that IMUL support is missing from SandyBridge as well (PR36084)

Mon, Feb 19, 7:18 AM
RKSimon added a comment to D43460: [X86] Add IMUL scheduling info on sandybridge, fix it on >=haswell..

All the checks still pass?
I though there were some tests to dump the current scheduling info.

They do (check-llvm).

Mon, Feb 19, 7:07 AM
RKSimon created D43463: [SelectionDAG] ComputeKnownBits - add support for SMIN+SMAX clamp patterns.
Mon, Feb 19, 6:51 AM
RKSimon accepted D43079: [TTI CostModel] change default cost of FP ops to 1 (PR36280).

LGTM - as you've said in the comment I'd still like us to look into improving target specific cost values instead of relying on these defaults.

Mon, Feb 19, 6:47 AM
RKSimon committed rL325494: [X86][SSE] combineTruncateWithSat - use truncateVectorWithPACK down to 64-bit….
[X86][SSE] combineTruncateWithSat - use truncateVectorWithPACK down to 64-bit…
Mon, Feb 19, 5:33 AM
RKSimon abandoned D43445: [X86] Improve getScalarShiftAmountTy handling of illegal integer types (PR36250).

Replaced with D43449

Mon, Feb 19, 5:33 AM

Sun, Feb 18

RKSimon added a comment to D43445: [X86] Improve getScalarShiftAmountTy handling of illegal integer types (PR36250).

Does anyone know why we split getShiftAmountTy / getScalarShiftAmountTy like we do? Couldn't we just get rid of getScalarShiftAmountTy and perform it all in getShiftAmountTy?

Sun, Feb 18, 1:03 PM
RKSimon added a comment to D43445: [X86] Improve getScalarShiftAmountTy handling of illegal integer types (PR36250).

I noticed MSP430, did you see anything else? Everything else seemed to default to i32 which should be OK.

Sun, Feb 18, 12:46 PM
RKSimon added inline comments to D43327: [X86] Promote 16-bit cmovs to 32-bits.
Sun, Feb 18, 11:38 AM
RKSimon created D43445: [X86] Improve getScalarShiftAmountTy handling of illegal integer types (PR36250).
Sun, Feb 18, 10:15 AM
RKSimon added a comment to D42948: [SelectionDAG] Support some SimplifySetCC cases for comparing against vector splats of constants..

We might have to be more careful with vector ISAs because they tend to leave out the full set of predicates. Ie, do we have to check for legal-or-custom if this transform can happen late, or can we assume that all predicates must be handled for all data types?

Sun, Feb 18, 7:38 AM
RKSimon added inline comments to D42981: [COST] Fix cost model of load instructions on X86.
Sun, Feb 18, 7:04 AM
RKSimon added a reviewer for D43441: [X86][AVX512DQ] Use packed instructions for scalar FP<->i64 conversions on 32-bit targets (PR31630): DavidKreitzer.
Sun, Feb 18, 6:50 AM
RKSimon created D43441: [X86][AVX512DQ] Use packed instructions for scalar FP<->i64 conversions on 32-bit targets (PR31630).
Sun, Feb 18, 6:49 AM

Sat, Feb 17

RKSimon added a comment to D42479: DAGCombiner: Combine SDIV with non-splat vector pow2 divisor.

I still think it'd be better if you treated splat vectors as a vector instead of a scalar - your change to matchUnaryPredicate means that we're accepting UNDEF elements where we weren't before, which for DIV/REM opcodes is supposed to be a big no-no.

Sat, Feb 17, 4:31 PM
RKSimon committed rL325454: Revert: [llvm] r325448 - [ThinLTO] Add GraphTraits for FunctionSummaries .
Revert: [llvm] r325448 - [ThinLTO] Add GraphTraits for FunctionSummaries
Sat, Feb 17, 4:03 PM
RKSimon committed rL325451: Fix Wparentheses warning. NFCI.
Fix Wparentheses warning. NFCI
Sat, Feb 17, 2:48 PM
RKSimon committed rL325450: [SelectionDAG] ComputeNumSignBits - add support for SMIN+SMAX clamp patterns.
[SelectionDAG] ComputeNumSignBits - add support for SMIN+SMAX clamp patterns
Sat, Feb 17, 2:22 PM
RKSimon closed D43338: [SelectionDAG] ComputeNumSignBits - add support for SMIN+SMAX clamp patterns.
Sat, Feb 17, 2:21 PM
RKSimon committed rL325449: [SelectionDAG] SimplifyDemandedVectorElts - add support for VECTOR_INSERT_ELT.
[SelectionDAG] SimplifyDemandedVectorElts - add support for VECTOR_INSERT_ELT
Sat, Feb 17, 1:52 PM
RKSimon closed D43431: [SelectionDAG] SimplifyDemandedVectorElts - add support for VECTOR_INSERT_ELT.
Sat, Feb 17, 1:52 PM
RKSimon committed rL325447: [MIPS][MSA] Convert vector integer min/max opcodes to use generic implementation.
[MIPS][MSA] Convert vector integer min/max opcodes to use generic implementation
Sat, Feb 17, 1:31 PM
RKSimon closed D43433: [MIPS][MSA] Convert vector integer min/max opcodes to generic implementation.
Sat, Feb 17, 1:31 PM
RKSimon updated the diff for D43338: [SelectionDAG] ComputeNumSignBits - add support for SMIN+SMAX clamp patterns.

Rebased, and dropped remnants of UMIN/UMAX support.

Sat, Feb 17, 11:32 AM
RKSimon added a comment to D43079: [TTI CostModel] change default cost of FP ops to 1 (PR36280).

@fhahn Do you have any ARM/AARCH64 concerns? Otherwise, I'm happy with this change.

Sat, Feb 17, 11:03 AM
RKSimon created D43433: [MIPS][MSA] Convert vector integer min/max opcodes to generic implementation.
Sat, Feb 17, 10:53 AM
RKSimon added a comment to D43431: [SelectionDAG] SimplifyDemandedVectorElts - add support for VECTOR_INSERT_ELT.

OK to commit then?

Sat, Feb 17, 10:27 AM
RKSimon created D43431: [SelectionDAG] SimplifyDemandedVectorElts - add support for VECTOR_INSERT_ELT.
Sat, Feb 17, 7:40 AM
RKSimon committed rL325435: [X86][3DNow!] Add PFRCP reg-reg disassembler test case (PR21168).
[X86][3DNow!] Add PFRCP reg-reg disassembler test case (PR21168)
Sat, Feb 17, 7:00 AM
RKSimon committed rL325432: Fix unused variable warning. NFCI..
Fix unused variable warning. NFCI.
Sat, Feb 17, 5:50 AM
RKSimon committed rL325429: [DAGCombiner] Remove simplifyShuffleMask - now handled more generally by….
[DAGCombiner] Remove simplifyShuffleMask - now handled more generally by…
Sat, Feb 17, 4:39 AM
RKSimon committed rL325428: Fix signed/unsigned comparison warning in AsmGenMatcher generated code. NFCI..
Fix signed/unsigned comparison warning in AsmGenMatcher generated code. NFCI.
Sat, Feb 17, 4:32 AM

Fri, Feb 16

RKSimon committed rL325385: Remove useless comment - seems to be a copy+paste typo. NFCI.
Remove useless comment - seems to be a copy+paste typo. NFCI
Fri, Feb 16, 12:43 PM
RKSimon committed rL325363: Fix signed/unsigned comparison warning. NFCI..
Fix signed/unsigned comparison warning. NFCI.
Fri, Feb 16, 9:28 AM
RKSimon committed rL325359: Fix signed/unsigned comparison warning. NFCI..
Fix signed/unsigned comparison warning. NFCI.
Fri, Feb 16, 8:55 AM
RKSimon committed rL325354: [SelectionDAG] Enable SimplifyDemandedVectorElts support for simplifying….
[SelectionDAG] Enable SimplifyDemandedVectorElts support for simplifying…
Fri, Feb 16, 8:24 AM
RKSimon committed rL325349: [X86][SSE] Allow float domain crossing if we are merging 2 or more shuffles and….
[X86][SSE] Allow float domain crossing if we are merging 2 or more shuffles and…
Fri, Feb 16, 7:02 AM
RKSimon committed rL325338: [SelectionDAG] Add initial SimplifyDemandedVectorElts support for simplifying….
[SelectionDAG] Add initial SimplifyDemandedVectorElts support for simplifying…
Fri, Feb 16, 4:23 AM
RKSimon accepted D43363: [APInt] Fix extractBits to correctly handle Result.isSingleWord() case..

LGTM, thanks. TBH I don't think its worth adding a non-const version of getRawData()

Fri, Feb 16, 3:00 AM

Thu, Feb 15

RKSimon added a comment to D43201: [X86] Only reorder srl/and on last DAG combiner run.

(Beyond the scope of this patch…) I wish LLVM or the x86 backend could change its instruction selection on the fly. Then it could prefer "reasonable density" (not microcoded) by default and "throughput" in loops (or otherwise obvious hot paths). This would probably yield the best overall/pragmatic performance.

Just to second this, I think there's a lot of potential gain to be had by being able to select cold blocks for size and hot blocks for speed. As stated, definitely off topic for this review though!

Thu, Feb 15, 2:47 PM
RKSimon accepted D43346: [X86] Enable BT to be used in place of TEST for single bit checks under optsize.

LGTM - don't suppose we have any load fold tests for BT do we?

Thu, Feb 15, 12:16 PM
RKSimon committed rL325270: [X86][SSE] Add saturated truncation tests for storing illegal v8i8 types.
[X86][SSE] Add saturated truncation tests for storing illegal v8i8 types
Thu, Feb 15, 9:50 AM
RKSimon created D43338: [SelectionDAG] ComputeNumSignBits - add support for SMIN+SMAX clamp patterns.
Thu, Feb 15, 9:00 AM
RKSimon committed rL325253: [SelectionDAG] Pull out repeated Op.getOpcode(). NFCI..
[SelectionDAG] Pull out repeated Op.getOpcode(). NFCI.
Thu, Feb 15, 7:33 AM
RKSimon committed rL325243: [X86][SSE] combineTruncateWithSat - use truncateVectorWithPACK to chain PACKUS….
[X86][SSE] combineTruncateWithSat - use truncateVectorWithPACK to chain PACKUS…
Thu, Feb 15, 6:41 AM
RKSimon added a reviewer for D37896: [DAGCombine] Resolving PR34474 by transforming mul(x, 2^c +/- 1) -> sub/add(shl(x, c) x) for any type including vector types: spatel.
Thu, Feb 15, 6:29 AM
RKSimon committed rL325235: [X86][SSE] combineTruncateWithSat - use truncateVectorWithPACK to chain PACKSS….
[X86][SSE] combineTruncateWithSat - use truncateVectorWithPACK to chain PACKSS…
Thu, Feb 15, 5:36 AM
RKSimon added a comment to D43087: [SelectionDAG][X86] Fix incorrect offset generated for VMASKMOV.

@aivchenk Didn't you land this with rL325135? If you include 'Differential Revision: https://reviews.llvm.org/D43087' in your commit message it will close the phab for you.

Thu, Feb 15, 4:18 AM
RKSimon committed rL325232: [SelectionDAG] Add initial implementation of TargetLowering….
[SelectionDAG] Add initial implementation of TargetLowering…
Thu, Feb 15, 4:16 AM
RKSimon closed D42896: [SelectionDAG] Add initial implementation of TargetLowering::SimplifyDemandedVectorElts.
Thu, Feb 15, 4:16 AM

Wed, Feb 14

RKSimon committed rL325168: Removed superfluous semicolon to fix -Wpedantic gcc warning. NFCI..
Removed superfluous semicolon to fix -Wpedantic gcc warning. NFCI.
Wed, Feb 14, 12:47 PM
RKSimon added a comment to D42896: [SelectionDAG] Add initial implementation of TargetLowering::SimplifyDemandedVectorElts.

Finally gotten back to a non-MSVC build machine, I'll get those signed/unsigned warning fixed up properly in the next diff.

Wed, Feb 14, 12:40 PM
RKSimon committed rL325149: [X86][SSE] truncateVectorWithPACK - Use src type instead of dst to select….
[X86][SSE] truncateVectorWithPACK - Use src type instead of dst to select…
Wed, Feb 14, 10:26 AM
RKSimon committed rL325129: Fix GCC -Wlogical-op-parentheses warning. NFCI..
Fix GCC -Wlogical-op-parentheses warning. NFCI.
Wed, Feb 14, 7:10 AM
RKSimon committed rL325127: [X86][SSE] Relax type legality for combineTruncateWithSat PACKSS/PACKUS….
[X86][SSE] Relax type legality for combineTruncateWithSat PACKSS/PACKUS…
Wed, Feb 14, 6:16 AM

Tue, Feb 13

RKSimon added a comment to D28907: [SLP] Fix for PR30787: Failure to beneficially vectorize 'copyable' elements in integer binary ops..

What is happening with this patch? It's been in development for over a year now and still seems to be having problems. Getting PR30787 fixed would be VERY useful and I'm thinking we should be looking at alternatives if this patch is going to carry on stalling/reverting.

Tue, Feb 13, 6:47 AM
RKSimon added a comment to D42896: [SelectionDAG] Add initial implementation of TargetLowering::SimplifyDemandedVectorElts.

ping?

Tue, Feb 13, 6:42 AM
RKSimon added inline comments to D42479: DAGCombiner: Combine SDIV with non-splat vector pow2 divisor.
Tue, Feb 13, 6:40 AM
RKSimon created D43235: [SchedModel] Complete models shouldn't match against itineraries when they don't use them (PR35639) (WIP).
Tue, Feb 13, 6:22 AM
RKSimon committed rL325003: [InstCombine] Simplify getLogBase2 case for scalar/splats. NFCI..
[InstCombine] Simplify getLogBase2 case for scalar/splats. NFCI.
Tue, Feb 13, 5:18 AM
RKSimon accepted D43225: [DAGCombiner] Add one use check to fold (not (and x, y)) -> (or (not x), (not y)).

LGTM - I'm curious whether it's be useful for those combines to support vectors at some point, X86 combineANDXORWithAllOnesIntoANDNP might match more cases then.

Tue, Feb 13, 4:35 AM
RKSimon accepted D43222: [X86] Add combine to shrink 64-bit ands when one input is an any_extend and the other input guarantees upper 32 bits are 0..

LGTM

Tue, Feb 13, 3:46 AM

Mon, Feb 12

RKSimon added a comment to D42896: [SelectionDAG] Add initial implementation of TargetLowering::SimplifyDemandedVectorElts.

@sdardis Are you wanting to fix the mips buildvector undef handling before this patch can land?

Mon, Feb 12, 10:55 AM
RKSimon committed rL324910: [X86] Add missing scheduling class tag for i64 absolute address moves.
[X86] Add missing scheduling class tag for i64 absolute address moves
Mon, Feb 12, 9:23 AM
RKSimon committed rL324905: [X86][AVX512] Add missing scheduling class tag for KMOVB/KMOVW/KMOVD/KMOVQ….
[X86][AVX512] Add missing scheduling class tag for KMOVB/KMOVW/KMOVD/KMOVQ…
Mon, Feb 12, 9:02 AM
RKSimon committed rL324901: [X86][AVX512] Add missing scheduling class tag for….
[X86][AVX512] Add missing scheduling class tag for…
Mon, Feb 12, 8:20 AM
RKSimon committed rL324898: [X86] Tag CET-IBT instruction scheduler classes.
[X86] Tag CET-IBT instruction scheduler classes
Mon, Feb 12, 8:00 AM