Page MenuHomePhabricator

craig.topper (Craig Topper)
User

Projects

User does not belong to any projects.

User Details

User Since
Jul 30 2013, 7:58 PM (373 w, 1 d)

Recent Activity

Today

craig.topper committed rG03f22b08e2a3: [SLP] Remove LHS and RHS from OperationData. (authored by craig.topper).
[SLP] Remove LHS and RHS from OperationData.
Thu, Sep 24, 10:58 AM
craig.topper closed D88193: [SLP] Remove LHS and RHS from OperationData..
Thu, Sep 24, 10:58 AM · Restricted Project
craig.topper added inline comments to D88225: [DAG] Fold vector mul(x,0)/mul(x,1) to a clearing mask.
Thu, Sep 24, 10:48 AM · Restricted Project

Yesterday

craig.topper added inline comments to D88194: [X86] CET endbr enhance.
Wed, Sep 23, 9:17 PM · Restricted Project
craig.topper added reviewers for D88194: [X86] CET endbr enhance: spatel, RKSimon.
Wed, Sep 23, 9:13 PM · Restricted Project
craig.topper added a comment to D88194: [X86] CET endbr enhance.

Should we only be doing this when CET protections are enabled?

Wed, Sep 23, 9:06 PM · Restricted Project
craig.topper added inline comments to D88193: [SLP] Remove LHS and RHS from OperationData..
Wed, Sep 23, 6:36 PM · Restricted Project
craig.topper requested review of D88193: [SLP] Remove LHS and RHS from OperationData..
Wed, Sep 23, 6:28 PM · Restricted Project
craig.topper accepted D88137: [X86] Parse data32 call in .code16 as CALLpcrel32.

LGTM

Wed, Sep 23, 6:22 PM · Restricted Project
craig.topper accepted D88006: [X86] Add TDX instructions..

LGTM

Wed, Sep 23, 6:09 PM · Restricted Project
craig.topper committed rGd9717d8ee714: [X86] Add a memory clobber to the bittest intrinsic inline asm. Get default… (authored by craig.topper).
[X86] Add a memory clobber to the bittest intrinsic inline asm. Get default…
Wed, Sep 23, 2:55 PM
craig.topper closed D88121: [X86] Add a memory clobber to the bittest intrinsic inline asm. Get default clobbers from the target.
Wed, Sep 23, 2:55 PM · Restricted Project
craig.topper committed rG7a3c643c3559: [SLP] Make HorizontalReduction::getOperationData take an Instruction* instead… (authored by craig.topper).
[SLP] Make HorizontalReduction::getOperationData take an Instruction* instead…
Wed, Sep 23, 10:52 AM
craig.topper committed rGf21f835ee8e5: [X86] Improve demanded bits for X86ISD::BEXTR. (authored by craig.topper).
[X86] Improve demanded bits for X86ISD::BEXTR.
Wed, Sep 23, 10:52 AM
craig.topper closed D88132: [SLP] Make HorizontalReduction::getOperationData take an Instruction* instead of a Value*. NFCI.
Wed, Sep 23, 10:52 AM · Restricted Project
craig.topper closed D88072: [X86] Improve demanded bits for X86ISD::BEXTR..
Wed, Sep 23, 10:52 AM · Restricted Project
craig.topper updated the diff for D88121: [X86] Add a memory clobber to the bittest intrinsic inline asm. Get default clobbers from the target.

Update more check lines to fully check the clobbers

Wed, Sep 23, 10:18 AM · Restricted Project
craig.topper accepted D87320: [X86] Check if call is indirect before emitting NT_CALL.

LGTM

Wed, Sep 23, 10:09 AM · Restricted Project

Tue, Sep 22

craig.topper added a comment to D80485: [DAGCombiner][PowerPC][AArch64] Remove isMulhCheaperThanMulShift TLI hook. Use isOperationLegal directly instead..

@craig.topper @amyk @nemanjai Hello!
Do we want to keep the isMulhCheaperThanMulShift hook, or change it to a isOperationLegalOrCustom call, like most other transforms would use? If the hook is useful on some targets I can override it under MVE simply enough, let me know.

Tue, Sep 22, 9:49 PM · Restricted Project
craig.topper requested review of D88132: [SLP] Make HorizontalReduction::getOperationData take an Instruction* instead of a Value*. NFCI.
Tue, Sep 22, 9:30 PM · Restricted Project
craig.topper requested review of D88121: [X86] Add a memory clobber to the bittest intrinsic inline asm. Get default clobbers from the target.
Tue, Sep 22, 4:26 PM · Restricted Project
craig.topper added inline comments to D87169: SVML support for log10, sqrt.
Tue, Sep 22, 1:40 PM · Restricted Project
craig.topper added inline comments to D88072: [X86] Improve demanded bits for X86ISD::BEXTR..
Tue, Sep 22, 10:39 AM · Restricted Project
craig.topper added inline comments to D88072: [X86] Improve demanded bits for X86ISD::BEXTR..
Tue, Sep 22, 9:03 AM · Restricted Project
craig.topper requested review of D88072: [X86] Improve demanded bits for X86ISD::BEXTR..
Tue, Sep 22, 12:04 AM · Restricted Project
craig.topper added a comment to D87884: [CostModel][X86] add CostModel for SK_Select(v8f64, v8i64, v16f32, v16i32, v32i16, v64i8).

With avx512f, the cost SK_Select(v32i16 or v64i8) shoulde be 3(vmovdqa64 + vpternlogq)

The moves probably don't really count since they can be eliminated during register renaming. So only the vpternlog executes.

Eh, Craig, why it has relationship with register renaming? I thought, vternlog's third operand should be provided by a vmovdqa64.
Besides, we can observe the following asm for v32i16's SK_Select:

vmovdqa64       .LCPI0_0(%rip), %zmm0   # zmm0 = [0,0,0,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535]
vpternlogq      $202, 144(%rbp), %zmm4, %zmm0
Tue, Sep 22, 12:01 AM · Restricted Project

Mon, Sep 21

craig.topper added a comment to D87884: [CostModel][X86] add CostModel for SK_Select(v8f64, v8i64, v16f32, v16i32, v32i16, v64i8).

With avx512f, the cost SK_Select(v32i16 or v64i8) shoulde be 3(vmovdqa64 + vpternlogq)

Mon, Sep 21, 11:15 PM · Restricted Project
craig.topper requested review of D88063: [SelectionDAG] Make sure FMF are propagated when getSetcc canonicalizes FP constants to RHS..
Mon, Sep 21, 6:52 PM · Restricted Project
craig.topper added a comment to D87888: [X86] Use inlineasm flag output for the _bittest* intrinsics..
In D87888#2285878, @rnk wrote:

Honestly, I forget exactly what the memory clobber does beyond the "sideeffect" marker. I would expect LLVM to model these just as external function calls that could read or write memory that is passed to them.

Mon, Sep 21, 12:12 PM · Restricted Project
craig.topper added a comment to D87888: [X86] Use inlineasm flag output for the _bittest* intrinsics..

@rnk should this inline asm have a memory clobber on it?

Mon, Sep 21, 11:49 AM · Restricted Project

Sun, Sep 20

craig.topper committed rGa74b1faba242: [X86] Make reduceMaskedLoadToScalarLoad/reduceMaskedStoreToScalarStore work for… (authored by craig.topper).
[X86] Make reduceMaskedLoadToScalarLoad/reduceMaskedStoreToScalarStore work for…
Sun, Sep 20, 3:15 PM
craig.topper committed rGc89b3af0e3e9: [X86] Pre-commit test cases for D87863. NFC (authored by craig.topper).
[X86] Pre-commit test cases for D87863. NFC
Sun, Sep 20, 3:15 PM
craig.topper closed D87863: [X86] Make reduceMaskedLoadToScalarLoad/reduceMaskedStoreToScalarStore work for avx512 after type legalization..
Sun, Sep 20, 3:15 PM · Restricted Project
craig.topper committed rG4e8c028158b5: [X86] Stop reduceMaskedLoadToScalarLoad/reduceMaskedStoreToScalarStore from… (authored by craig.topper).
[X86] Stop reduceMaskedLoadToScalarLoad/reduceMaskedStoreToScalarStore from…
Sun, Sep 20, 1:47 PM
craig.topper committed rG9b1c98c0fbe2: [X86] Add 32-bit command lines to masked_store.ll and masked_load.ll (authored by craig.topper).
[X86] Add 32-bit command lines to masked_store.ll and masked_load.ll
Sun, Sep 20, 1:47 PM
craig.topper closed D87862: [X86] Stop reduceMaskedLoadToScalarLoad/reduceMaskedStoreToScalarStore from creating scalar i64 load/stores in 32-bit mode.
Sun, Sep 20, 1:47 PM · Restricted Project

Sat, Sep 19

craig.topper updated the summary of D87883: [X86] Add support for calling SimplifyDemandedBits on the input of PDEP with a constant mask..
Sat, Sep 19, 10:22 PM · Restricted Project
craig.topper updated the diff for D87883: [X86] Add support for calling SimplifyDemandedBits on the input of PDEP with a constant mask..

We can do several optimizations for PDEP using computeKnownBits and SimplifyDemandedBits

Sat, Sep 19, 10:22 PM · Restricted Project

Fri, Sep 18

craig.topper committed rG721d57f952ba: [X86] Return from SimplifyDemandedBitsForTargetNode after calculating known… (authored by craig.topper).
[X86] Return from SimplifyDemandedBitsForTargetNode after calculating known…
Fri, Sep 18, 11:57 PM
craig.topper planned changes to D87888: [X86] Use inlineasm flag output for the _bittest* intrinsics..
Fri, Sep 18, 10:34 PM · Restricted Project
craig.topper added a comment to D87888: [X86] Use inlineasm flag output for the _bittest* intrinsics..

Do we have sufficient backend test coverage for this?

Fri, Sep 18, 10:34 PM · Restricted Project
craig.topper committed rG58ecbbcdcddf: [X86] Fix copy paste mistake in @ccnp flag. (authored by craig.topper).
[X86] Fix copy paste mistake in @ccnp flag.
Fri, Sep 18, 9:54 PM
craig.topper committed rG5e6baf78e5f3: [X86] Invert the compares in inline-asm-flag-output.ll so that the setcc… (authored by craig.topper).
[X86] Invert the compares in inline-asm-flag-output.ll so that the setcc…
Fri, Sep 18, 9:54 PM
craig.topper added a comment to D87883: [X86] Add support for calling SimplifyDemandedBits on the input of PDEP with a constant mask..

Check my logic

Fri, Sep 18, 1:00 PM · Restricted Project
craig.topper accepted D87861: [instcombine][x86] Converted pdep/pext with shifted mask to simple arithmetic.

LGTM

Fri, Sep 18, 10:07 AM · Restricted Project
craig.topper added inline comments to D87883: [X86] Add support for calling SimplifyDemandedBits on the input of PDEP with a constant mask..
Fri, Sep 18, 4:19 AM · Restricted Project
craig.topper added reviewers for D87888: [X86] Use inlineasm flag output for the _bittest* intrinsics.: RKSimon, spatel.
Fri, Sep 18, 1:21 AM · Restricted Project
craig.topper requested review of D87888: [X86] Use inlineasm flag output for the _bittest* intrinsics..
Fri, Sep 18, 1:13 AM · Restricted Project
craig.topper added reviewers for D87884: [CostModel][X86] add CostModel for SK_Select(v8f64, v8i64, v16f32, v16i32, v32i16, v64i8): RKSimon, spatel.
Fri, Sep 18, 12:24 AM · Restricted Project

Thu, Sep 17

craig.topper requested review of D87883: [X86] Add support for calling SimplifyDemandedBits on the input of PDEP with a constant mask..
Thu, Sep 17, 11:07 PM · Restricted Project
craig.topper committed rGfb92f863f684: [X86] Add some demanded bits test cases for PDEP with constant mask (authored by craig.topper).
[X86] Add some demanded bits test cases for PDEP with constant mask
Thu, Sep 17, 10:57 PM
craig.topper added inline comments to D57059: [SLP] Initial support for the vectorization of the non-power-of-2 vectors..
Thu, Sep 17, 6:55 PM · Restricted Project
craig.topper requested review of D87863: [X86] Make reduceMaskedLoadToScalarLoad/reduceMaskedStoreToScalarStore work for avx512 after type legalization..
Thu, Sep 17, 3:34 PM · Restricted Project
craig.topper requested review of D87862: [X86] Stop reduceMaskedLoadToScalarLoad/reduceMaskedStoreToScalarStore from creating scalar i64 load/stores in 32-bit mode.
Thu, Sep 17, 3:32 PM · Restricted Project
craig.topper committed rG3783d3bc7b3d: [X86] Don't match x87 register inline asm constraints unless the VT is floating… (authored by craig.topper).
[X86] Don't match x87 register inline asm constraints unless the VT is floating…
Thu, Sep 17, 11:27 AM
craig.topper closed D87485: [X86] Don't match x87 register inline asm constraints unless the VT is floating point or its a clobber.
Thu, Sep 17, 11:27 AM · Restricted Project

Wed, Sep 16

craig.topper committed rGc9af34027bc9: Add __divmodti4 to match libgcc. (authored by craig.topper).
Add __divmodti4 to match libgcc.
Wed, Sep 16, 9:57 PM
craig.topper closed D80506: Add __divmodti4 to match libgcc..
Wed, Sep 16, 9:56 PM · Restricted Project
craig.topper committed rGe30371d99d51: [DAGCombiner] Teach visitMSTORE to replace an all ones mask with an unmasked… (authored by craig.topper).
[DAGCombiner] Teach visitMSTORE to replace an all ones mask with an unmasked…
Wed, Sep 16, 5:07 PM
craig.topper committed rG89ee4c0314bd: [DAGCombiner] Teach visitMLOAD to replace an all ones mask with an unmasked load (authored by craig.topper).
[DAGCombiner] Teach visitMLOAD to replace an all ones mask with an unmasked load
Wed, Sep 16, 1:28 PM
craig.topper committed rG65ef2e50a296: [X86] Add test case for a masked load mask becoming all ones after type… (authored by craig.topper).
[X86] Add test case for a masked load mask becoming all ones after type…
Wed, Sep 16, 1:28 PM
craig.topper closed D87788: [DAGCombiner] Teach visitMLOAD to replace an all ones mask with an unmasked load.
Wed, Sep 16, 1:27 PM · Restricted Project
craig.topper requested review of D87788: [DAGCombiner] Teach visitMLOAD to replace an all ones mask with an unmasked load.
Wed, Sep 16, 12:43 PM · Restricted Project

Tue, Sep 15

craig.topper added a comment to D87485: [X86] Don't match x87 register inline asm constraints unless the VT is floating point or its a clobber.

ping

Tue, Sep 15, 11:42 PM · Restricted Project
craig.topper added a comment to D80506: Add __divmodti4 to match libgcc..

Ping

Tue, Sep 15, 11:42 PM · Restricted Project
craig.topper committed rG41f4cd60d54d: [X86] Don't scalarize gather/scatters with non-power of 2 element counts. Widen… (authored by craig.topper).
[X86] Don't scalarize gather/scatters with non-power of 2 element counts. Widen…
Tue, Sep 15, 11:24 PM
craig.topper committed rG3045b3c3b5db: [X86] Add test case for non-power of 2 scatter. NFC (authored by craig.topper).
[X86] Add test case for non-power of 2 scatter. NFC
Tue, Sep 15, 11:24 PM
craig.topper committed rG2ce1a697f037: [X86] Always use 16-bit displacement in 16-bit mode when there is no base or… (authored by craig.topper).
[X86] Always use 16-bit displacement in 16-bit mode when there is no base or…
Tue, Sep 15, 7:34 PM
craig.topper accepted D87169: SVML support for log10, sqrt.

LGTM

Tue, Sep 15, 4:49 PM · Restricted Project
craig.topper committed rG05134877e64d: [X86] Use Align in reduceMaskedLoadToScalarLoad/reduceMaskedStoreToScalarStore. (authored by craig.topper).
[X86] Use Align in reduceMaskedLoadToScalarLoad/reduceMaskedStoreToScalarStore.
Tue, Sep 15, 11:23 AM
craig.topper closed D87593: [X86] Use Align in reduceMaskedLoadToScalarLoad/reduceMaskedStoreToScalarStore. Correct pointer info..
Tue, Sep 15, 11:23 AM · Restricted Project

Mon, Sep 14

craig.topper updated the diff for D87593: [X86] Use Align in reduceMaskedLoadToScalarLoad/reduceMaskedStoreToScalarStore. Correct pointer info..

Add mir test cases to show change to memory operand

Mon, Sep 14, 11:54 PM · Restricted Project
craig.topper committed rGc6aadd2b72cf: [X86] Pre-commit test cases for D87593 (authored by craig.topper).
[X86] Pre-commit test cases for D87593
Mon, Sep 14, 11:53 PM
craig.topper added inline comments to D80163: [X86][VARARG] Avoid spilling xmm registers for va_start..
Mon, Sep 14, 8:40 PM · Restricted Project
craig.topper committed rG46673763fe59: [X86] Place new constant node in topological order in X86DAGToDAGISel… (authored by craig.topper).
[X86] Place new constant node in topological order in X86DAGToDAGISel…
Mon, Sep 14, 5:00 PM
craig.topper added a reverting change for rG325159389016: [X86] Place new constant node in topological order in X86DAGToDAGISel…: rGda1aaa0b7080: Revert "[X86] Place new constant node in topological order in X86DAGToDAGISel….
Mon, Sep 14, 4:59 PM
craig.topper committed rGda1aaa0b7080: Revert "[X86] Place new constant node in topological order in X86DAGToDAGISel… (authored by craig.topper).
Revert "[X86] Place new constant node in topological order in X86DAGToDAGISel…
Mon, Sep 14, 4:59 PM
craig.topper committed rG325159389016: [X86] Place new constant node in topological order in X86DAGToDAGISel… (authored by craig.topper).
[X86] Place new constant node in topological order in X86DAGToDAGISel…
Mon, Sep 14, 4:29 PM
craig.topper added a comment to D87604: [X86] Convert integer _mm_reduce_* intrinsics to emit llvm.reduction intrinsics (PR47506).

Longer term should we have a variadic version of this like builtin_shufflevector or builtin_convertvector that can handle any reduction?

Mon, Sep 14, 2:39 PM · Restricted Project
craig.topper planned changes to D87555: [DivRemPairs] Add an initial case for hoisting to a common predecessor..
Mon, Sep 14, 2:38 PM · Restricted Project
craig.topper committed rGc193a689b475: [SelectionDAG] Use Align/MaybeAlign in calls to… (authored by craig.topper).
[SelectionDAG] Use Align/MaybeAlign in calls to…
Mon, Sep 14, 1:55 PM
craig.topper closed D87592: [SelectionDAG] Use Align/MaybeAlign in calls to getLoad/getStore/getExtLoad/getTruncStore..
Mon, Sep 14, 1:55 PM · Restricted Project
craig.topper committed rG4208ea3e19f8: [FastISel] Bail out of selectGetElementPtr for vector GEPs. (authored by craig.topper).
[FastISel] Bail out of selectGetElementPtr for vector GEPs.
Mon, Sep 14, 12:56 PM

Sun, Sep 13

craig.topper committed rG56b33391d3a4: [SelectionDAG] Move ISD:PARITY formation from DAGCombine to… (authored by craig.topper).
[SelectionDAG] Move ISD:PARITY formation from DAGCombine to…
Sun, Sep 13, 9:05 PM
craig.topper requested review of D87593: [X86] Use Align in reduceMaskedLoadToScalarLoad/reduceMaskedStoreToScalarStore. Correct pointer info..
Sun, Sep 13, 5:50 PM · Restricted Project
craig.topper requested review of D87592: [SelectionDAG] Use Align/MaybeAlign in calls to getLoad/getStore/getExtLoad/getTruncStore..
Sun, Sep 13, 5:30 PM · Restricted Project
craig.topper added inline comments to D86269: [RFC][Target] Add a new backend target called CSKY.
Sun, Sep 13, 12:49 PM · Restricted Project
craig.topper committed rG8889faaed0b7: [SelectionDAG] Remove default for 'unsigned' Alignment for… (authored by craig.topper).
[SelectionDAG] Remove default for 'unsigned' Alignment for…
Sun, Sep 13, 12:24 PM
craig.topper accepted D87586: [X86] Improve nnan fmin/fmax vector reduction.

LGTM

Sun, Sep 13, 12:05 PM · Restricted Project
craig.topper updated the diff for D87555: [DivRemPairs] Add an initial case for hoisting to a common predecessor..

Use isGuaranteedToTransferExecutionToSuccessor. Need to be put together negative tests.

Sun, Sep 13, 2:41 AM · Restricted Project
craig.topper updated the diff for D87555: [DivRemPairs] Add an initial case for hoisting to a common predecessor..

Ensure that the div/rem are the start of their basic blocks so they are guaranteed to execute.

Sun, Sep 13, 1:10 AM · Restricted Project

Sat, Sep 12

craig.topper committed rG61d29e0dff0e: [LegalizeTypes] Remove a few cases from SplitVectorOperand that should never… (authored by craig.topper).
[LegalizeTypes] Remove a few cases from SplitVectorOperand that should never…
Sat, Sep 12, 9:00 PM
craig.topper committed rG758732a34ed0: [X86] Use ISD::PARITY directly instead of emitting CTPOP and AND from… (authored by craig.topper).
[X86] Use ISD::PARITY directly instead of emitting CTPOP and AND from…
Sat, Sep 12, 8:07 PM
craig.topper planned changes to D87555: [DivRemPairs] Add an initial case for hoisting to a common predecessor..
Sat, Sep 12, 12:35 PM · Restricted Project
craig.topper added a comment to D87555: [DivRemPairs] Add an initial case for hoisting to a common predecessor..

Doesn't this need some guaranteed-to-transfer checks for all instructions we're moving across?

Sat, Sep 12, 12:35 PM · Restricted Project
craig.topper committed rGad3d6f993d9f: [SelectionDAG][X86][ARM][AArch64] Add ISD opcode for __builtin_parity. Expand… (authored by craig.topper).
[SelectionDAG][X86][ARM][AArch64] Add ISD opcode for __builtin_parity. Expand…
Sat, Sep 12, 11:43 AM
craig.topper closed D87209: [SelectionDAG][X86][ARM][AArch64] Add ISD opcode for __builtin_parity. Expand it to shifts and xors..
Sat, Sep 12, 11:43 AM · Restricted Project
craig.topper closed D87416: [SLPVectorizer][X86][AMDGPU] Remove fcmp+select to fmin/fmax reduction support..

This was committed in c195ae2f003261f2c25f569b07ae556dee57f17d

Sat, Sep 12, 10:52 AM · Restricted Project
craig.topper added a comment to D87555: [DivRemPairs] Add an initial case for hoisting to a common predecessor..

Can we use DominatorTree::findNearestCommonDominator()?
If not, please add a negative test, where it's unsafe to do so.

Sat, Sep 12, 12:35 AM · Restricted Project

Fri, Sep 11

craig.topper requested review of D87555: [DivRemPairs] Add an initial case for hoisting to a common predecessor..
Fri, Sep 11, 8:58 PM · Restricted Project