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 (302 w, 6 d)

Recent Activity

Yesterday

craig.topper added inline comments to D62115: fix a issue that clang is incompatible with gcc with -H option..
Mon, May 20, 6:08 PM · Restricted Project
craig.topper accepted D61881: Deal with return-twice function such as vfork, setjmp when CET-IBT enabled.

LGTM

Mon, May 20, 6:03 PM · Restricted Project
craig.topper committed rG31cc51098086: [X86] Check the alignment argument for the masked.load/store for the… (authored by craig.topper).
[X86] Check the alignment argument for the masked.load/store for the…
Mon, May 20, 11:48 AM
craig.topper committed rGe97e52757cfb: [X86] Add test case for r361177. (authored by craig.topper).
[X86] Add test case for r361177.
Mon, May 20, 10:36 AM
craig.topper committed rG97d4f7c19414: [SelectionDAGBuilder] Flush PendingExports before creating INLINEASM_BR node… (authored by craig.topper).
[SelectionDAGBuilder] Flush PendingExports before creating INLINEASM_BR node…
Mon, May 20, 10:06 AM
craig.topper committed rGb93f8ae7a78b: [X86] Add icelake-client and tremont model numbers to compiler-rt's… (authored by craig.topper).
[X86] Add icelake-client and tremont model numbers to compiler-rt's…
Mon, May 20, 9:56 AM
craig.topper committed rGcac6b76a764c: [X86] Add icelake-client and tremont model numbers to getHostCPUName. (authored by craig.topper).
[X86] Add icelake-client and tremont model numbers to getHostCPUName.
Mon, May 20, 9:56 AM
craig.topper accepted D62019: [clang] Handle lrint/llrint builtins.

LGTM

Mon, May 20, 9:37 AM · Restricted Project
craig.topper accepted D62017: [CodeGen] Add lrint/llrint builtins.

LGTM

Mon, May 20, 9:37 AM · Restricted Project
craig.topper committed rGaf7a188453b0: [Intrinsics] Merge lround.i32 and lround.i64 into a single intrinsic with… (authored by craig.topper).
[Intrinsics] Merge lround.i32 and lround.i64 into a single intrinsic with…
Mon, May 20, 9:26 AM
craig.topper committed rG203bfdd0f0d7: [DAGCombiner] Refactor code in visitShiftByConstant slightly to make it more… (authored by craig.topper).
[DAGCombiner] Refactor code in visitShiftByConstant slightly to make it more…
Mon, May 20, 9:26 AM
craig.topper accepted D62136: [TTI] Fix some typos in comments.

LGTM

Mon, May 20, 8:56 AM · Restricted Project

Sun, May 19

craig.topper added reviewers for D62006: Add "llvm_unreachable" for function RegisterBankInfo::getRegBank: qcolombet, dsanders, arsenm, aemerson.
Sun, May 19, 9:21 PM · Restricted Project
craig.topper added reviewers for D62115: fix a issue that clang is incompatible with gcc with -H option.: mikerice, thakis, erichkeane.
Sun, May 19, 7:43 PM · Restricted Project

Sat, May 18

craig.topper committed rG3d7ecc46183d: [X86] Remove semicolons at the end of intrinsics implemented as macros so they… (authored by craig.topper).
[X86] Remove semicolons at the end of intrinsics implemented as macros so they…
Sat, May 18, 6:01 PM
craig.topper committed rG3164b50af7a4: [X86] Remove combineShift function. Just dispatch directly to the handler for… (authored by craig.topper).
[X86] Remove combineShift function. Just dispatch directly to the handler for…
Sat, May 18, 6:01 PM

Thu, May 16

craig.topper committed rGae1597d360d0: [X86] Add FeatureFastScalarShiftMasks and FeatureFastVectorShiftMasks to the… (authored by craig.topper).
[X86] Add FeatureFastScalarShiftMasks and FeatureFastVectorShiftMasks to the…
Thu, May 16, 11:39 PM
craig.topper accepted D61690: [X86] Deduplicate symbol lowering logic, NFC.

LGTM

Thu, May 16, 3:03 PM · Restricted Project
craig.topper added a comment to D62017: [CodeGen] Add lrint/llrint builtins.

Can we do this with 2 intrinsics with overloaded result types as I've done for lround/llround in D62026?

Thu, May 16, 12:28 PM · Restricted Project
craig.topper created D62026: [Intrinsics] Merge lround.i32 and lround.i64 into a single intrinsic with overloaded result type. Make result type for llround overloaded instead of fixing to i64.
Thu, May 16, 12:25 PM · Restricted Project
craig.topper committed rG20040db9a686: [X86] Stop implicitly enabling avx512vl when avx512bf16 is enabled. (authored by craig.topper).
[X86] Stop implicitly enabling avx512vl when avx512bf16 is enabled.
Thu, May 16, 11:26 AM
craig.topper committed rG58964566e05b: [X86] Update doxygen comments for AVX512BF16 to not refer to masks as… (authored by craig.topper).
[X86] Update doxygen comments for AVX512BF16 to not refer to masks as…
Thu, May 16, 10:33 AM
craig.topper committed rGf09b9d419f2e: [X86] Use 0x9 instead of 0x1 as the immediate in some masked floor pattern. (authored by craig.topper).
[X86] Use 0x9 instead of 0x1 as the immediate in some masked floor pattern.
Thu, May 16, 9:54 AM

Wed, May 15

craig.topper added inline comments to D61881: Deal with return-twice function such as vfork, setjmp when CET-IBT enabled.
Wed, May 15, 9:40 PM · Restricted Project
craig.topper added inline comments to D61881: Deal with return-twice function such as vfork, setjmp when CET-IBT enabled.
Wed, May 15, 6:01 PM · Restricted Project
craig.topper added inline comments to D59981: [SelectionDAGBuilder] Flush PendingExports before creating INLINEASM_BR node for asm goto..
Wed, May 15, 5:30 PM · Restricted Project
craig.topper added a comment to D59981: [SelectionDAGBuilder] Flush PendingExports before creating INLINEASM_BR node for asm goto..

Ping

Wed, May 15, 4:40 PM · Restricted Project
craig.topper added inline comments to D61690: [X86] Deduplicate symbol lowering logic, NFC.
Wed, May 15, 4:38 PM · Restricted Project
craig.topper committed rGe43bdf144c9a: [X86] Delay creating index register negations during address matching until… (authored by craig.topper).
[X86] Delay creating index register negations during address matching until…
Wed, May 15, 2:58 PM
craig.topper committed rG439228727a33: [X86] Strengthen type constraints on some specialized X86 ISD opcodes that… (authored by craig.topper).
[X86] Strengthen type constraints on some specialized X86 ISD opcodes that…
Wed, May 15, 2:16 PM

Tue, May 14

craig.topper committed rG384d46c0d5be: [X86] Use OR32mi8Locked instead of LOCK_OR32mi8 in emitLockedStackOp. (authored by craig.topper).
[X86] Use OR32mi8Locked instead of LOCK_OR32mi8 in emitLockedStackOp.
Tue, May 14, 9:17 PM
craig.topper added a comment to D61918: [DAGCombiner] visitShiftByConstant(): drop bogus(?) signbit check.

This logic was copied from canShiftBinOpWithConstantRHS in InstCombineShifts.cpp

Tue, May 14, 5:54 PM · Restricted Project

Mon, May 13

craig.topper committed rGcc761e6fae17: [X86] Use X86 instead of X32 as a check prefix in atomic-idempotent.ll. NFC (authored by craig.topper).
[X86] Use X86 instead of X32 as a check prefix in atomic-idempotent.ll. NFC
Mon, May 13, 8:06 PM
craig.topper committed rGe2966473ddf3: [X86] Use ISD::MERGE_VALUES to return from lowerAtomicArith instead of calling… (authored by craig.topper).
[X86] Use ISD::MERGE_VALUES to return from lowerAtomicArith instead of calling…
Mon, May 13, 3:16 PM
craig.topper committed rG5f999c2beaf0: [X86] Various type corrections to the code that creates… (authored by craig.topper).
[X86] Various type corrections to the code that creates…
Mon, May 13, 2:02 PM
craig.topper added a comment to D61047: [X86] Delay creating index register negations during address matching until after we know for sure the match will succeed.

Is PR39452 related to this?

Mon, May 13, 12:32 PM · Restricted Project
craig.topper added inline comments to D61862: Use an offset from TOS for idempotent rmw locked op lowering.
Mon, May 13, 12:00 PM · Restricted Project
craig.topper accepted D61863: [X86] Prefer locked stack op over mfence for seq_cst 64-bit stores on 32-bit targets.

LGTM to me with one minor

Mon, May 13, 11:56 AM · Restricted Project
craig.topper retitled D61863: [X86] Prefer locked stack op over mfence for seq_cst 64-bit stores on 32-bit targets from Prefer locked stack op over mfence for seq_cst stores to [X86] Prefer locked stack op over mfence for seq_cst 64-bit stores on 32-bit targets.
Mon, May 13, 11:48 AM · Restricted Project
craig.topper updated the diff for D61047: [X86] Delay creating index register negations during address matching until after we know for sure the match will succeed.

-Move into getAddressOperands.
-Emit the NEG machine directly as I'm not sure I trust accessing N at this point in the code to use insertDAGNode. N can be changed by CSEing and other DAG modifications that can occur during address matching.
-Add -pre-RA-sched=linearize to one test that would fail previously due to the dangling sub node getting left behind when LEA costing failed.

Mon, May 13, 11:44 AM · Restricted Project
craig.topper committed rGc6a6c107428e: [X86] Add test case for mask register variant of PR41619 which should be fixed… (authored by craig.topper).
[X86] Add test case for mask register variant of PR41619 which should be fixed…
Mon, May 13, 8:45 AM

Sun, May 12

craig.topper committed rG61e556d2bdf3: Recommit r358887 "[TargetLowering][AMDGPU][X86] Improve SimplifyDemandedBits… (authored by craig.topper).
Recommit r358887 "[TargetLowering][AMDGPU][X86] Improve SimplifyDemandedBits…
Sun, May 12, 9:02 PM

Sat, May 11

craig.topper committed rGc9d7484aa36e: [X86] Add CMOV_FR32X/CMOV_FR64X pseudo instructions. Use them in fast isel to… (authored by craig.topper).
[X86] Add CMOV_FR32X/CMOV_FR64X pseudo instructions. Use them in fast isel to…
Sat, May 11, 8:59 AM
craig.topper committed rG74a436596d73: [X86] Sink some fast isel code into the only if that uses it. NFC (authored by craig.topper).
[X86] Sink some fast isel code into the only if that uses it. NFC
Sat, May 11, 8:58 AM
craig.topper committed rG26f2b13a6597: [X86] Use TLI.getRegClassFor to simplify some more fast isel code. NFCI (authored by craig.topper).
[X86] Use TLI.getRegClassFor to simplify some more fast isel code. NFCI
Sat, May 11, 8:58 AM

Fri, May 10

craig.topper committed rG682cc09675b0: [X86] Use getRegClassFor to simplify some code in fast isel. NFCI (authored by craig.topper).
[X86] Use getRegClassFor to simplify some code in fast isel. NFCI
Fri, May 10, 10:17 PM
craig.topper committed rG31f7adb94f6a: [X86] Don't emit MOVNTDQA loads from fast-isel without SSE4.1. (authored by craig.topper).
[X86] Don't emit MOVNTDQA loads from fast-isel without SSE4.1.
Fri, May 10, 9:20 PM
craig.topper committed rGbdef12df8d6f: [X86] Add a test case for idempotent atomic operations with speculative load… (authored by craig.topper).
[X86] Add a test case for idempotent atomic operations with speculative load…
Fri, May 10, 8:59 PM
craig.topper committed rGdf10cc6068b2: [X86] Disable speculative load hardening for operations with an explicit RSP… (authored by craig.topper).
[X86] Disable speculative load hardening for operations with an explicit RSP…
Fri, May 10, 3:02 PM
craig.topper added a reverting change for D58632: [X86] Improve lowering of idemptotent RMW operations: rGdf10cc6068b2: [X86] Disable speculative load hardening for operations with an explicit RSP….
Fri, May 10, 3:02 PM · Restricted Project
craig.topper added a comment to D58632: [X86] Improve lowering of idemptotent RMW operations.

I've commited a modified version of my patch in r360475. I'll try to reduce a test case and commit that later tonight or tomorrow.

Fri, May 10, 3:01 PM · Restricted Project
craig.topper committed rG114f763f3710: [LegalizeVectorOps] Remove calls to LegalizeOp on the return value from… (authored by craig.topper).
[LegalizeVectorOps] Remove calls to LegalizeOp on the return value from…
Fri, May 10, 2:41 PM
craig.topper accepted D55897: Add constrained fptrunc and fpext intrinsics.

LGTM with that one remaining unused variable fixed.

Fri, May 10, 1:34 PM · Restricted Project
craig.topper accepted D61744: [SDAG] Recursively legalize both vector mulo results.

LGTM

Fri, May 10, 1:31 PM · Restricted Project
craig.topper added inline comments to D55897: Add constrained fptrunc and fpext intrinsics.
Fri, May 10, 12:51 PM · Restricted Project
craig.topper accepted D61784: Simple attempt at adding InstCombine::visitFNeg(...).

LGTM

Fri, May 10, 12:35 PM · Restricted Project
craig.topper added a comment to D58632: [X86] Improve lowering of idemptotent RMW operations.

@sammccall, can you try this patch

Fri, May 10, 12:22 PM · Restricted Project
craig.topper added a comment to D58632: [X86] Improve lowering of idemptotent RMW operations.

You’ll need to use llc to crash. But I can guess the issue now. SLH is expecting the memory address to have a virtual register as a base register, but we forced RSP on this access. We need to teach SLH about this case

Fri, May 10, 9:59 AM · Restricted Project
craig.topper added a comment to D58632: [X86] Improve lowering of idemptotent RMW operations.

@sammccall, any chance you’ve seen it with an asserts build? I think the debug output might say which registers it was trying to copy.

Fri, May 10, 8:57 AM · Restricted Project
craig.topper accepted D61390: [CodeGen] Add lround/llround builtins.

LGTM

Fri, May 10, 8:41 AM · Restricted Project

Wed, May 8

craig.topper added a comment to D61705: Tablegen type comparison LE should be LT or equal..

The X86 patterns are probably heavily hidden in tablegen classes, but they should be easily visible in X86GenDAGISel.inc. Does that file generate the same before and after this change?

Wed, May 8, 4:21 PM · Restricted Project
craig.topper committed rG51a17df45d19: [InstCombine] When turning sext into zext due to known bits, return the new… (authored by craig.topper).
[InstCombine] When turning sext into zext due to known bits, return the new…
Wed, May 8, 1:58 PM
craig.topper added inline comments to D61692: [SDAG] Vector op legalization for overflow ops.
Wed, May 8, 1:55 PM · Restricted Project
craig.topper created D61695: [InstCombine] When turning sext into zext due to known bits, return the new ZExt instead of calling replaceinstuseswith.
Wed, May 8, 1:32 PM · Restricted Project
craig.topper committed rGc5db081f8d5d: [X86] Add a non-ambiguous check prefix to lwp-intrinsics.ll for the case when… (authored by craig.topper).
[X86] Add a non-ambiguous check prefix to lwp-intrinsics.ll for the case when…
Wed, May 8, 12:20 PM
craig.topper requested changes to D61390: [CodeGen] Add lround/llround builtins.

Should we have a PowerPC test for ppcf128?

Wed, May 8, 12:01 PM · Restricted Project
craig.topper accepted D61390: [CodeGen] Add lround/llround builtins.

LGTM

Wed, May 8, 11:52 AM · Restricted Project
craig.topper added inline comments to D58632: [X86] Improve lowering of idemptotent RMW operations.
Wed, May 8, 11:32 AM · Restricted Project
craig.topper added inline comments to D58632: [X86] Improve lowering of idemptotent RMW operations.
Wed, May 8, 11:18 AM · Restricted Project
craig.topper committed rG493aec3ef5c2: [FastISel][X86] Support FNeg instruction in target independent fast isel… (authored by craig.topper).
[FastISel][X86] Support FNeg instruction in target independent fast isel…
Wed, May 8, 10:26 AM

Tue, May 7

craig.topper added inline comments to D61390: [CodeGen] Add lround/llround builtins.
Tue, May 7, 3:05 PM · Restricted Project
craig.topper planned changes to D52109: [TwoAddressInstructionPass] Don't update SrcRegMap for copies inserted for tied register constraint when the src isn't killed.

Moving back to Plan Changes because I still believe this is the wrong fix. I don't know what the right fix is.

Tue, May 7, 1:31 PM · Restricted Project

Mon, May 6

craig.topper resigned from D57072: Don't codegen an unreachable return block.
Mon, May 6, 11:18 PM · Restricted Project
craig.topper added a comment to D61390: [CodeGen] Add lround/llround builtins.

Can you test lround.i32 with -mtriple=i686-unknown with and without -mattr=sse2.

Mon, May 6, 10:50 PM · Restricted Project
craig.topper added inline comments to D61390: [CodeGen] Add lround/llround builtins.
Mon, May 6, 10:43 PM · Restricted Project
craig.topper added inline comments to D61390: [CodeGen] Add lround/llround builtins.
Mon, May 6, 10:38 PM · Restricted Project
craig.topper committed rGc6d445f9c1cb: [FastISel][X86] If selectFNeg fails, fall back to SelectionDAG not treating it… (authored by craig.topper).
[FastISel][X86] If selectFNeg fails, fall back to SelectionDAG not treating it…
Mon, May 6, 9:24 PM
craig.topper added a comment to D61622: [FastISel][X86] If selectFNeg fails, fall back to SelectionDAG not treating it as an fsub..

Ah, I see it now. Thanks for the explanation.

I'd like to review this, but the FastISel code under the hood is outside of my domain. If no one else chimes in, I'll dig into it tomorrow.

Mon, May 6, 6:19 PM · Restricted Project
craig.topper added a comment to D61622: [FastISel][X86] If selectFNeg fails, fall back to SelectionDAG not treating it as an fsub..

Ah, I see it now. Thanks for the explanation.

I'd like to review this, but the FastISel code under the hood is outside of my domain. If no one else chimes in, I'll dig into it tomorrow.

If nothing else, I think you can at least confirm this returns things back to the behavior that would have existed prior to r345295

Mon, May 6, 6:19 PM · Restricted Project
craig.topper added inline comments to D61622: [FastISel][X86] If selectFNeg fails, fall back to SelectionDAG not treating it as an fsub..
Mon, May 6, 5:59 PM · Restricted Project
craig.topper added a child revision for D61622: [FastISel][X86] If selectFNeg fails, fall back to SelectionDAG not treating it as an fsub.: D61624: [FastISel][X86] Support FNeg instruction in target independent fast isel handling.
Mon, May 6, 5:25 PM · Restricted Project
craig.topper added a parent revision for D61624: [FastISel][X86] Support FNeg instruction in target independent fast isel handling: D61622: [FastISel][X86] If selectFNeg fails, fall back to SelectionDAG not treating it as an fsub..
Mon, May 6, 5:25 PM · Restricted Project
craig.topper created D61624: [FastISel][X86] Support FNeg instruction in target independent fast isel handling.
Mon, May 6, 5:25 PM · Restricted Project
craig.topper accepted D61614: [NFCI] Refactor UnaryOperator class .

LGTM

Mon, May 6, 5:01 PM · Restricted Project
craig.topper committed rGa75630302dd0: [X86] Use extended vector register classes in getRegForInlineAsmConstraint to… (authored by craig.topper).
[X86] Use extended vector register classes in getRegForInlineAsmConstraint to…
Mon, May 6, 4:56 PM
craig.topper accepted D61605: Fix a typo.

LGTM

Mon, May 6, 4:46 PM · Restricted Project
craig.topper added inline comments to D61614: [NFCI] Refactor UnaryOperator class .
Mon, May 6, 4:46 PM · Restricted Project
craig.topper created D61622: [FastISel][X86] If selectFNeg fails, fall back to SelectionDAG not treating it as an fsub..
Mon, May 6, 4:40 PM · Restricted Project
craig.topper added reviewers for D61621: [X86] Make `x86intrin.h`, `immintrin.h` includable with `-fno-gnu-inline-asm`.: rnk, echristo.
Mon, May 6, 4:25 PM · Restricted Project
craig.topper committed rG39f1a97417eb: [FastISel] Pass the fneg input operand to hasTrivialKill in FastISel… (authored by craig.topper).
[FastISel] Pass the fneg input operand to hasTrivialKill in FastISel…
Mon, May 6, 4:10 PM
craig.topper committed rG24cfb7a992b0: [X86] Add test case to show that we don't set the kill flag properly for fast… (authored by craig.topper).
[X86] Add test case to show that we don't set the kill flag properly for fast…
Mon, May 6, 4:06 PM
craig.topper committed rG77e69d88508b: [X86] Add more test cases for fast-isel handling of fneg. (authored by craig.topper).
[X86] Add more test cases for fast-isel handling of fneg.
Mon, May 6, 3:04 PM
craig.topper committed rGd10a200cebe5: [X86] Remove the suffix on vcvt[u]si2ss/sd register variants in assembly… (authored by craig.topper).
[X86] Remove the suffix on vcvt[u]si2ss/sd register variants in assembly…
Mon, May 6, 2:40 PM
craig.topper committed rGad56843dd780: [SelectionDAG][X86] Support inline assembly returning an mmx register into a… (authored by craig.topper).
[SelectionDAG][X86] Support inline assembly returning an mmx register into a…
Mon, May 6, 12:49 PM
craig.topper committed rG55a71b575c37: Revert r359392 and r358887 (authored by craig.topper).
Revert r359392 and r358887
Mon, May 6, 12:28 PM
craig.topper updated the diff for D61472: [X86FixupLEAs] Turn optIncDec into a generic two address LEA optimizer. Support LEA64_32r properly..

Get rid of clang stuff.

Mon, May 6, 10:34 AM · Restricted Project, Restricted Project
craig.topper added a comment to D61472: [X86FixupLEAs] Turn optIncDec into a generic two address LEA optimizer. Support LEA64_32r properly..

Not sure. I'll fix it.

Mon, May 6, 10:00 AM · Restricted Project, Restricted Project

Sun, May 5

craig.topper updated the diff for D61472: [X86FixupLEAs] Turn optIncDec into a generic two address LEA optimizer. Support LEA64_32r properly..

Rebase

Sun, May 5, 10:09 PM · Restricted Project, Restricted Project
craig.topper created D61582: [SelectionDAG][X86] Support inline assembly returning an mmx register into a type with fewer than 64 bits..
Sun, May 5, 9:46 PM · Restricted Project
craig.topper committed rGf723490e761c: [SelectionDAG] Replace llvm_unreachable at the end of getCopyFromParts with a… (authored by craig.topper).
[SelectionDAG] Replace llvm_unreachable at the end of getCopyFromParts with a…
Sun, May 5, 9:03 PM