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 (513 w, 4 d)

Recent Activity

Yesterday

craig.topper requested review of D152050: [RISCV] Begin removing hasDummyMask..
Fri, Jun 2, 7:22 PM · Restricted Project, Restricted Project
craig.topper added a comment to D152019: [RISCV][CostModel] Model vrgather.vv as being quadradic in LMUL.

I think the vrgather.vv for reverse needs at most 2 sources for each VLEN piece. Is it likely hardware would optimize for that?

Fri, Jun 2, 3:47 PM · Restricted Project, Restricted Project
craig.topper updated the diff for D151850: [RISCV] Model all 3 arithmetic sources of vector FMA at MC layer..

Rebase on D152039

Fri, Jun 2, 3:22 PM · Restricted Project, Restricted Project
craig.topper requested review of D152039: [RISCV] Remove uses of RISCVII::hasMergeOp from RISCVDAGToDAGISel.cpp.
Fri, Jun 2, 3:22 PM · Restricted Project, Restricted Project
craig.topper accepted D76007: [TableGen][GlobalISel] Account for HwMode in RegisterBank register sizes.

LGTM

Fri, Jun 2, 2:54 PM · Restricted Project, Restricted Project
craig.topper requested review of D152030: [RISCV] Switch vwsll.v* instructions to use the VSHT_IV_V_X_I class instead of VALU_IV_V_X_I..
Fri, Jun 2, 1:53 PM · Restricted Project, Restricted Project
craig.topper committed rG1f3008733231: [RISCV] Remove optype parameter from most V instruction multiclasses. NFC (authored by craig.topper).
[RISCV] Remove optype parameter from most V instruction multiclasses. NFC
Fri, Jun 2, 1:27 PM · Restricted Project, Restricted Project
craig.topper committed rG18ccca4da8de: [UBSan] Consider zero input to __builtin_clz/ctz to be undefined independent of… (authored by craig.topper).
[UBSan] Consider zero input to __builtin_clz/ctz to be undefined independent of…
Fri, Jun 2, 1:01 PM · Restricted Project, Restricted Project
craig.topper closed D152023: [UBSan] Consider zero input to __builtin_clz/ctz to be undefined independent of the target..
Fri, Jun 2, 1:01 PM · Restricted Project, Restricted Project
craig.topper added inline comments to D151512: Remove small data limit for riscv64.*android triples.
Fri, Jun 2, 12:38 PM · Restricted Project
craig.topper added inline comments to D151512: Remove small data limit for riscv64.*android triples.
Fri, Jun 2, 12:32 PM · Restricted Project
craig.topper requested review of D152023: [UBSan] Consider zero input to __builtin_clz/ctz to be undefined independent of the target..
Fri, Jun 2, 12:25 PM · Restricted Project, Restricted Project
craig.topper requested review of D152020: [RISCV] Split scheduler classes for vector min/max from compares..
Fri, Jun 2, 12:04 PM · Restricted Project, Restricted Project
craig.topper updated the diff for D151850: [RISCV] Model all 3 arithmetic sources of vector FMA at MC layer..

Rebase

Fri, Jun 2, 11:35 AM · Restricted Project, Restricted Project
craig.topper added a reviewer for D152001: [RISCV][SLP] Inflate insert/extract costs on very small vectors: arcbbb.
Fri, Jun 2, 11:32 AM · Restricted Project, Restricted Project
craig.topper committed rGbbf96e68b181: [RISCV] Simplify vector instruction multiclasses. NFC (authored by craig.topper).
[RISCV] Simplify vector instruction multiclasses. NFC
Fri, Jun 2, 11:28 AM · Restricted Project, Restricted Project
craig.topper updated the diff for D151850: [RISCV] Model all 3 arithmetic sources of vector FMA at MC layer..

Push WidenV constraint into class.
Finish using the EarlyClobber parameter I added to remove constraints.

Fri, Jun 2, 10:33 AM · Restricted Project, Restricted Project
craig.topper added inline comments to D148713: [LegalizeTypes][VP] Widen load/store of fixed length vectors to VP ops.
Fri, Jun 2, 10:02 AM · Restricted Project, Restricted Project
craig.topper added inline comments to D151967: [RISCV] Improve selection for vector fpclass..
Fri, Jun 2, 9:57 AM · Restricted Project, Restricted Project
craig.topper added inline comments to D151449: [RISCV] Add DAG combine for CTTZ in the case of input 0.
Fri, Jun 2, 9:56 AM · Restricted Project, Restricted Project
craig.topper accepted D151992: [RISCV] Avoid illegal DAG combination for strict-fp nodes..

LGTM

Fri, Jun 2, 9:50 AM · Restricted Project, Restricted Project
craig.topper added a comment to D148713: [LegalizeTypes][VP] Widen load/store of fixed length vectors to VP ops.

I also dropped the ball on this. Will try to review for real after I sleep.

Fri, Jun 2, 12:49 AM · Restricted Project, Restricted Project
craig.topper added a comment to D151863: [x86][MC] Fix movdir64b addressing.

I still think replacing the 1 with a valid register for the mode is the better fix.

So, should I create a new registers? Something like X86::Sym16, X86::Sym32 and X86::Sym64?

Fri, Jun 2, 12:47 AM · Restricted Project, Restricted Project, Restricted Project
craig.topper added a comment to D151977: [X86][NFC]Use ref instead copy in for loop for SDValue::op_values().

We pass SDValue by value all over the SelectionD
AG code. And it looks pretty easy for a compiler to see the unsigned field is unused. Does this change really make a difference?

I don't know about if compiler will do this opt to ignore the unused field for a class obj.

Fri, Jun 2, 12:45 AM · Restricted Project, Restricted Project
craig.topper added a comment to D151863: [x86][MC] Fix movdir64b addressing.

I still think replacing the 1 with a valid register for the mode is the better fix.

Fri, Jun 2, 12:23 AM · Restricted Project, Restricted Project, Restricted Project

Thu, Jun 1

craig.topper added a comment to D151977: [X86][NFC]Use ref instead copy in for loop for SDValue::op_values().

We pass SDValue by value all over the SelectionD
AG code. And it looks pretty easy for a compiler to see the unsigned field is unused. Does this change really make a difference?

Thu, Jun 1, 11:47 PM · Restricted Project, Restricted Project
craig.topper added a comment to D151977: [X86][NFC]Use ref instead copy in for loop for SDValue::op_values().

Pretty sure the op is an SDValue not an SDUse.

Thu, Jun 1, 11:25 PM · Restricted Project, Restricted Project
craig.topper committed rG76cc78dc53c2: [RISCV] Modify a tablegen multiclass for a future patch. NFC (authored by craig.topper).
[RISCV] Modify a tablegen multiclass for a future patch. NFC
Thu, Jun 1, 10:38 PM · Restricted Project, Restricted Project
craig.topper requested review of D151969: [RISCV] Add RISCVISD nodes for vfwadd/vfwsub..
Thu, Jun 1, 10:26 PM · Restricted Project, Restricted Project
craig.topper added inline comments to D151863: [x86][MC] Fix movdir64b addressing.
Thu, Jun 1, 9:44 PM · Restricted Project, Restricted Project, Restricted Project
craig.topper added inline comments to D151863: [x86][MC] Fix movdir64b addressing.
Thu, Jun 1, 9:44 PM · Restricted Project, Restricted Project, Restricted Project
craig.topper added inline comments to D151863: [x86][MC] Fix movdir64b addressing.
Thu, Jun 1, 6:43 PM · Restricted Project, Restricted Project, Restricted Project
craig.topper added inline comments to D76007: [TableGen][GlobalISel] Account for HwMode in RegisterBank register sizes.
Thu, Jun 1, 6:21 PM · Restricted Project, Restricted Project
craig.topper updated the diff for D151850: [RISCV] Model all 3 arithmetic sources of vector FMA at MC layer..

Remove parentheses from RISCVISelDAGToDAG.cpp

Thu, Jun 1, 5:54 PM · Restricted Project, Restricted Project
craig.topper updated the diff for D151850: [RISCV] Model all 3 arithmetic sources of vector FMA at MC layer..

More updates

Thu, Jun 1, 5:50 PM · Restricted Project, Restricted Project
craig.topper updated the diff for D151850: [RISCV] Model all 3 arithmetic sources of vector FMA at MC layer..

Try to address review comments

Thu, Jun 1, 5:26 PM · Restricted Project, Restricted Project
craig.topper committed rG37cfcfcef76b: [RISCV] Separate slideup/down pseudoinstructions from FMA instructions earlier… (authored by craig.topper).
[RISCV] Separate slideup/down pseudoinstructions from FMA instructions earlier…
Thu, Jun 1, 3:26 PM · Restricted Project, Restricted Project
craig.topper committed rG94a8be41c43b: [RISCV] Move vslideup/down tablegen classes together. NFC (authored by craig.topper).
[RISCV] Move vslideup/down tablegen classes together. NFC
Thu, Jun 1, 3:26 PM · Restricted Project, Restricted Project
craig.topper committed rGee27e5df9e67: [TargetLowering][ARM][AArch64] Remove usage of NoSignedWrap/NoUnsignedWrap from… (authored by craig.topper).
[TargetLowering][ARM][AArch64] Remove usage of NoSignedWrap/NoUnsignedWrap from…
Thu, Jun 1, 2:21 PM · Restricted Project, Restricted Project
craig.topper closed D151858: [TargetLowering][ARM][AArch64] Remove usage of NoSignedWrap/NoUnsignedWrap from AVGFLOOR/CEIL transform..
Thu, Jun 1, 2:20 PM · Restricted Project, Restricted Project
craig.topper updated the diff for D151858: [TargetLowering][ARM][AArch64] Remove usage of NoSignedWrap/NoUnsignedWrap from AVGFLOOR/CEIL transform..

Use Simon's suggestion.

Thu, Jun 1, 2:17 PM · Restricted Project, Restricted Project
craig.topper committed rGf166b397b21e: [RISCV] Rename VPseudoBinaryTailPolicy to VPseudoTernaryMaskPolicy. NFC (authored by craig.topper).
[RISCV] Rename VPseudoBinaryTailPolicy to VPseudoTernaryMaskPolicy. NFC
Thu, Jun 1, 2:10 PM · Restricted Project, Restricted Project
craig.topper added inline comments to D151850: [RISCV] Model all 3 arithmetic sources of vector FMA at MC layer..
Thu, Jun 1, 11:03 AM · Restricted Project, Restricted Project
craig.topper added inline comments to D150253: [RISCV] Add Zvfhmin extension for clang..
Thu, Jun 1, 10:55 AM · Restricted Project, Restricted Project, Restricted Project
craig.topper added a comment to D151867: [Clang][RISCV] Make generic clz/ctz builtins defined for zero on RISCV targets..

Doesn't this make codegen worse on when those extensions aren't supported?

Thu, Jun 1, 10:27 AM · Restricted Project, Restricted Project
craig.topper added a reviewer for D151869: [RISCV] Support more builtin for zvfhmin.: eopXD.
Thu, Jun 1, 10:21 AM · Restricted Project, Restricted Project
craig.topper added a comment to D151863: [x86][MC] Fix movdir64b addressing.

MS inline assembly is parsed twice, once by clang and once by the backend.

Thu, Jun 1, 1:10 AM · Restricted Project, Restricted Project, Restricted Project

Wed, May 31

craig.topper updated the diff for D151177: [RISCV] Add i32 as a legal type for GPR register class..

Rebase

Wed, May 31, 11:57 PM · Restricted Project, Restricted Project
craig.topper added a comment to D151863: [x86][MC] Fix movdir64b addressing.

Test case?

Wed, May 31, 9:36 PM · Restricted Project, Restricted Project, Restricted Project
craig.topper added inline comments to D151790: [RISCV][NFC] Add isF argument to SchedSEWSet.
Wed, May 31, 8:43 PM · Restricted Project, Restricted Project
craig.topper committed rG490cd1164c1b: [RISCV] Update some tests that used "interrupt"="user". NFC (authored by craig.topper).
[RISCV] Update some tests that used "interrupt"="user". NFC
Wed, May 31, 8:31 PM · Restricted Project, Restricted Project
craig.topper added a comment to D125067: [RISCV] Add RISCVISD::FCLASS_VL..

I think we can abandon this.

Wed, May 31, 5:58 PM · Restricted Project, Restricted Project
craig.topper updated the summary of D151858: [TargetLowering][ARM][AArch64] Remove usage of NoSignedWrap/NoUnsignedWrap from AVGFLOOR/CEIL transform..
Wed, May 31, 4:53 PM · Restricted Project, Restricted Project
craig.topper added a reviewer for D151858: [TargetLowering][ARM][AArch64] Remove usage of NoSignedWrap/NoUnsignedWrap from AVGFLOOR/CEIL transform.: dmgreen.
Wed, May 31, 4:51 PM · Restricted Project, Restricted Project
craig.topper requested review of D151858: [TargetLowering][ARM][AArch64] Remove usage of NoSignedWrap/NoUnsignedWrap from AVGFLOOR/CEIL transform..
Wed, May 31, 4:50 PM · Restricted Project, Restricted Project
craig.topper abandoned D151473: [LegalizeTypes][AArch64][ARM] Teach PromoteIntegerResult to preserve NSW/NUW flags for ADD/SUB..
Wed, May 31, 4:39 PM · Restricted Project, Restricted Project
craig.topper requested review of D151850: [RISCV] Model all 3 arithmetic sources of vector FMA at MC layer..
Wed, May 31, 4:06 PM · Restricted Project, Restricted Project
craig.topper added inline comments to D151848: [X86, Peephole] Enable FoldImmediate for X86.
Wed, May 31, 4:05 PM · Restricted Project, Restricted Project
craig.topper added inline comments to D151848: [X86, Peephole] Enable FoldImmediate for X86.
Wed, May 31, 3:49 PM · Restricted Project, Restricted Project
craig.topper added inline comments to D150415: [RISCV] Add a pass to merge moving parameter registers instructions for Zcmp.
Wed, May 31, 1:30 PM · Restricted Project, Restricted Project
craig.topper added inline comments to D151397: [3/N][RISCV] Model vxrm in C intrinsics for RVV fixed-point instruction vaadd.
Wed, May 31, 1:01 PM · Restricted Project, Restricted Project, Restricted Project
craig.topper added a comment to D150926: [RISCV] Support LMUL!=1 for __attribute__((riscv_rvv_vector_bits(N))).

Ping

Wed, May 31, 12:38 PM · Restricted Project, Restricted Project
craig.topper committed rGcf229033da7e: [RISCV] Change LdPat and StPat from multiclass to class. NFC (authored by craig.topper).
[RISCV] Change LdPat and StPat from multiclass to class. NFC
Wed, May 31, 12:02 PM · Restricted Project, Restricted Project
craig.topper committed rG6cc17b288c0a: [RISCV] Use class and inheritance instead of multiclass for some vector isel… (authored by craig.topper).
[RISCV] Use class and inheritance instead of multiclass for some vector isel…
Wed, May 31, 11:12 AM · Restricted Project, Restricted Project
craig.topper added a comment to D151817: LoopVectorize: use [[fallthrough]] in one place.

I think I already got this with https://reviews.llvm.org/D150996

Wed, May 31, 10:56 AM · Restricted Project, Restricted Project
craig.topper added a comment to D151750: [DAGCombine] `select_cc seteq X, 0, 0, cttz_zero_undef(X) -> and(cttz(X), sizeof(X) - 1)`.

This test

Wed, May 31, 10:31 AM · Restricted Project, Restricted Project
craig.topper added inline comments to D118118: [SDAG] Preserve unpredictable metadata, teach X86CmovConversion to respect this metadata.
Wed, May 31, 10:21 AM · Restricted Project, Restricted Project
craig.topper reopened D150253: [RISCV] Add Zvfhmin extension for clang..

The backend patch must go before the clang patch.

Wed, May 31, 10:18 AM · Restricted Project, Restricted Project, Restricted Project
craig.topper added a reverting change for rG35a0079238ce: [RISCV] Add Zvfhmin extension for clang.: rGa5e5eea29ca9: Revert "[RISCV] Add Zvfhmin extension for clang.".
Wed, May 31, 10:18 AM · Restricted Project, Restricted Project, Restricted Project
craig.topper committed rGa5e5eea29ca9: Revert "[RISCV] Add Zvfhmin extension for clang." (authored by craig.topper).
Revert "[RISCV] Add Zvfhmin extension for clang."
Wed, May 31, 10:18 AM · Restricted Project, Restricted Project, Restricted Project
craig.topper added a reverting change for D150253: [RISCV] Add Zvfhmin extension for clang.: rGa5e5eea29ca9: Revert "[RISCV] Add Zvfhmin extension for clang.".
Wed, May 31, 10:18 AM · Restricted Project, Restricted Project, Restricted Project
craig.topper added a comment to D151750: [DAGCombine] `select_cc seteq X, 0, 0, cttz_zero_undef(X) -> and(cttz(X), sizeof(X) - 1)`.

@craig.topper

What if the target doesn't natively support CTLZ/CTTZ and only has CTLZ_ZERO_UNDEF/CTTZ_ZERO_UNDEF will end up with a select followed by the AND? What if the target doesn't support CTTZ/CTLZ at all?

The extra cases that I've added will go through the same legality checks as previous cases. The checks (!LegalOperations || TLI.isOperationLegal(ISD::CTTZ, VT))) still apply, right?

But, thanks to your comment, I've realized that I should probably add legality checks for AND.

Wed, May 31, 10:04 AM · Restricted Project, Restricted Project
craig.topper added inline comments to D151414: [RISCV] Add Zvfhmin extension support for llvm RISCV backend..
Wed, May 31, 1:22 AM · Restricted Project, Restricted Project
craig.topper added inline comments to D151414: [RISCV] Add Zvfhmin extension support for llvm RISCV backend..
Wed, May 31, 1:19 AM · Restricted Project, Restricted Project
craig.topper added inline comments to D151414: [RISCV] Add Zvfhmin extension support for llvm RISCV backend..
Wed, May 31, 1:09 AM · Restricted Project, Restricted Project

Tue, May 30

craig.topper accepted D151719: [RISCV] Add special case for (select cc, 1.0, 0.0) to lowerSELECT.

LGTM

Tue, May 30, 11:15 PM · Restricted Project, Restricted Project
craig.topper committed rGac1df22315a5: [RISCV] Merge emitDirectiveOptionArchPlus and emitDirectiveOptionArchMinus into… (authored by craig.topper).
[RISCV] Merge emitDirectiveOptionArchPlus and emitDirectiveOptionArchMinus into…
Tue, May 30, 10:53 PM · Restricted Project, Restricted Project
craig.topper closed D151771: [RISCV] Merge emitDirectiveOptionArchPlus and emitDirectiveOptionArchMinus into a single interface. NFC.
Tue, May 30, 10:53 PM · Restricted Project, Restricted Project
craig.topper added inline comments to D151719: [RISCV] Add special case for (select cc, 1.0, 0.0) to lowerSELECT.
Tue, May 30, 10:33 PM · Restricted Project, Restricted Project
craig.topper added inline comments to D151719: [RISCV] Add special case for (select cc, 1.0, 0.0) to lowerSELECT.
Tue, May 30, 10:32 PM · Restricted Project, Restricted Project
craig.topper added inline comments to D151719: [RISCV] Add special case for (select cc, 1.0, 0.0) to lowerSELECT.
Tue, May 30, 10:02 PM · Restricted Project, Restricted Project
craig.topper committed rG0a4ba485c960: [RISCV] Strengthen some SDTypeProfiles to reduce isel table size. (authored by craig.topper).
[RISCV] Strengthen some SDTypeProfiles to reduce isel table size.
Tue, May 30, 9:29 PM · Restricted Project, Restricted Project
craig.topper added inline comments to D151719: [RISCV] Add special case for (select cc, 1.0, 0.0) to lowerSELECT.
Tue, May 30, 8:45 PM · Restricted Project, Restricted Project
craig.topper requested review of D151771: [RISCV] Merge emitDirectiveOptionArchPlus and emitDirectiveOptionArchMinus into a single interface. NFC.
Tue, May 30, 8:25 PM · Restricted Project, Restricted Project
craig.topper added inline comments to D151719: [RISCV] Add special case for (select cc, 1.0, 0.0) to lowerSELECT.
Tue, May 30, 8:21 PM · Restricted Project, Restricted Project
craig.topper added a comment to D150253: [RISCV] Add Zvfhmin extension for clang..

Do we need to enable these intrinsics for Zvfhmin?

Tue, May 30, 7:08 PM · Restricted Project, Restricted Project, Restricted Project
craig.topper accepted D150253: [RISCV] Add Zvfhmin extension for clang..

LGTM

Tue, May 30, 7:06 PM · Restricted Project, Restricted Project, Restricted Project
craig.topper added a comment to D150253: [RISCV] Add Zvfhmin extension for clang..

We need to support reinterpret intrinsics so that we can load/store bf16 values.

Sorry, I don't understand your comment well. I think that change you mentioned should not be included into this revision which only support zvfhmin for clang.

Tue, May 30, 7:06 PM · Restricted Project, Restricted Project, Restricted Project
craig.topper added inline comments to D145698: [IR][Legalizations] Widen illegal deinterleave and interleave vectors.
Tue, May 30, 5:00 PM · Restricted Project, Restricted Project
craig.topper added inline comments to D151284: [RISCV] Custom lower FP_TO_FP16 and FP16_TO_FP to correct ABI of of libcall.
Tue, May 30, 4:53 PM · Restricted Project, Restricted Project
craig.topper added a comment to D151750: [DAGCombine] `select_cc seteq X, 0, 0, cttz_zero_undef(X) -> and(cttz(X), sizeof(X) - 1)`.

What if the target doesn't natively support CTLZ/CTTZ and only has CTLZ_ZERO_UNDEF/CTTZ_ZERO_UNDEF will end up with a select followed by the AND? What if the target doesn't support CTTZ/CTLZ at all?

Tue, May 30, 4:49 PM · Restricted Project, Restricted Project
craig.topper added inline comments to D151663: [RISCV] Implement support for bf16 truncate/extend on hard FP targets.
Tue, May 30, 4:22 PM · Restricted Project, Restricted Project
craig.topper added inline comments to D150416: [RISCV] Add a pass to combine `cm.pop` and `ret` insts.
Tue, May 30, 4:08 PM · Restricted Project, Restricted Project
craig.topper added inline comments to D151750: [DAGCombine] `select_cc seteq X, 0, 0, cttz_zero_undef(X) -> and(cttz(X), sizeof(X) - 1)`.
Tue, May 30, 4:00 PM · Restricted Project, Restricted Project
craig.topper added inline comments to D150416: [RISCV] Add a pass to combine `cm.pop` and `ret` insts.
Tue, May 30, 3:53 PM · Restricted Project, Restricted Project
craig.topper added inline comments to D151742: [RISCV] Use v(f)slide1down for shuffle+insert idiom.
Tue, May 30, 3:38 PM · Restricted Project, Restricted Project
craig.topper committed rG510f4168cf91: [RISCV] Add some tail undisturbed vwmacc tests. NFC (authored by craig.topper).
[RISCV] Add some tail undisturbed vwmacc tests. NFC
Tue, May 30, 3:16 PM · Restricted Project, Restricted Project
craig.topper committed rG454163354b0b: [RISCV] Allow FWMUL formation for an FP extend used twice by the same multiply. (authored by craig.topper).
[RISCV] Allow FWMUL formation for an FP extend used twice by the same multiply.
Tue, May 30, 3:09 PM · Restricted Project, Restricted Project
craig.topper added a comment to D151756: [TableGen] Allow bit fields in SearchableTables..

This patch is labeled as NFC but has new functionality.

Tue, May 30, 2:54 PM · Restricted Project, Restricted Project
craig.topper committed rG463f50b436a2: [RISCV] Add RISCVISD::VFWMUL_VL. Use it to replace isel patterns with a DAG… (authored by craig.topper).
[RISCV] Add RISCVISD::VFWMUL_VL. Use it to replace isel patterns with a DAG…
Tue, May 30, 2:40 PM · Restricted Project, Restricted Project