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 (337 w, 3 d)

Recent Activity

Today

craig.topper added inline comments to D72805: [X86] Remove X86ISD::FILD_FLAG and stop gluing nodes together..
Sat, Jan 18, 1:02 AM · Restricted Project
craig.topper updated the diff for D72805: [X86] Remove X86ISD::FILD_FLAG and stop gluing nodes together..

Rebase. Regenerate with a hacked script to show the real stack offsets for reviewing. I'll regenerate before commiting so the next person who runs the script won't get a surprise.

Sat, Jan 18, 12:54 AM · Restricted Project

Yesterday

craig.topper added inline comments to D72930: [FEnv] Constfold some unary constrained operations.
Fri, Jan 17, 11:59 AM · Restricted Project
craig.topper added inline comments to D68720: Support -fstack-clash-protection for x86.
Fri, Jan 17, 10:32 AM · Restricted Project, Restricted Project
craig.topper added inline comments to D72930: [FEnv] Constfold some unary constrained operations.
Fri, Jan 17, 10:32 AM · Restricted Project
craig.topper added a comment to D72582: [X86] Don't inherit 32-bit calling conventions in 64-bit mode..

Is there a bz for this?

Fri, Jan 17, 10:22 AM · Restricted Project
craig.topper added inline comments to D72930: [FEnv] Constfold some unary constrained operations.
Fri, Jan 17, 8:45 AM · Restricted Project
craig.topper added a comment to D72906: [X86] Improve X86 cmpps/cmppd/cmpss/cmpsd intrinsics with strictfp.

The constrained fcmp intrinsics don't allow the TRUE/FALSE predicates.

Hmm, maybe they should then? The only reason I didn't add them initially was that I wasn't sure they were useful for anything; if they are, it should be straightforward to add them back.

Fri, Jan 17, 3:39 AM · Restricted Project
craig.topper added reviewers for D72906: [X86] Improve X86 cmpps/cmppd/cmpss/cmpsd intrinsics with strictfp: pengfei, LiuChen3, andrew.w.kaylor.
Fri, Jan 17, 1:37 AM · Restricted Project
craig.topper created D72906: [X86] Improve X86 cmpps/cmppd/cmpss/cmpsd intrinsics with strictfp.
Fri, Jan 17, 1:37 AM · Restricted Project

Thu, Jan 16

craig.topper committed rGcaee96031d3b: [Transforms][RISCV] Remove a "using namespace llvm" from an include file. Fix a… (authored by craig.topper).
[Transforms][RISCV] Remove a "using namespace llvm" from an include file. Fix a…
Thu, Jan 16, 8:53 PM
craig.topper closed D72895: [Transforms][RISCV] Remove a "using namespace llvm" from an include file. Fix a place that became dependent on it..
Thu, Jan 16, 8:53 PM · Restricted Project
craig.topper created D72895: [Transforms][RISCV] Remove a "using namespace llvm" from an include file. Fix a place that became dependent on it..
Thu, Jan 16, 5:37 PM · Restricted Project
craig.topper added inline comments to D72722: [FPEnv] [SystemZ] Platform-specific builtin constrained FP enablement.
Thu, Jan 16, 2:34 PM · Restricted Project
craig.topper created D72871: [FPEnv] Divide macro INSTRUCTION into INSTRUCTION and DAG_INSTRUCTION, and macro FUNCTION likewise. NFCI..
Thu, Jan 16, 1:16 PM · Restricted Project
craig.topper committed rG61a89e17df4c: [LegalizeDAG][Mips] Add an assert to protect a uint_to_fp implementation from… (authored by craig.topper).
[LegalizeDAG][Mips] Add an assert to protect a uint_to_fp implementation from…
Thu, Jan 16, 11:11 AM
craig.topper added inline comments to D68720: Support -fstack-clash-protection for x86.
Thu, Jan 16, 11:11 AM · Restricted Project, Restricted Project
craig.topper closed D72794: [LegalizeDAG][Mips] Add an assert to protect a uint_to_fp implementation from double rounding. Add a i32->f32 uint_to_fp implementation that avoids this code..
Thu, Jan 16, 11:11 AM · Restricted Project

Wed, Jan 15

craig.topper updated the diff for D72794: [LegalizeDAG][Mips] Add an assert to protect a uint_to_fp implementation from double rounding. Add a i32->f32 uint_to_fp implementation that avoids this code..

I was able to move the other version of this code from TargetLowering back to LegalizeDAG. So just need to add the new type to it.

Wed, Jan 15, 10:23 PM · Restricted Project
craig.topper committed rG5cf1b01a0117: [LegalizeDAG][TargetLowering] Move vXi64/i64->vXf32/f32 uint_to_fp legalizing… (authored by craig.topper).
[LegalizeDAG][TargetLowering] Move vXi64/i64->vXf32/f32 uint_to_fp legalizing…
Wed, Jan 15, 10:09 PM
craig.topper added a reviewer for D72820: [FPEnv] Add pragma FP_CONTRACT support under strict FP.: rjmccall.
Wed, Jan 15, 10:09 PM · Restricted Project, Restricted Project
craig.topper added inline comments to D72820: [FPEnv] Add pragma FP_CONTRACT support under strict FP..
Wed, Jan 15, 9:28 PM · Restricted Project, Restricted Project
craig.topper added inline comments to D72820: [FPEnv] Add pragma FP_CONTRACT support under strict FP..
Wed, Jan 15, 7:48 PM · Restricted Project, Restricted Project
craig.topper added a comment to D72820: [FPEnv] Add pragma FP_CONTRACT support under strict FP..

The title of this review is misleading. It should at least mention FPEnv, constrained intrinsics, or strict fp or something. Right now it sounds like FP_CONTRACT isn't supported at all.

Wed, Jan 15, 7:38 PM · Restricted Project, Restricted Project
craig.topper committed rGe4454479212b: [X86] When handling i64->f32 sint_to_fp on 32-bit targets only bitcast to f64… (authored by craig.topper).
[X86] When handling i64->f32 sint_to_fp on 32-bit targets only bitcast to f64…
Wed, Jan 15, 6:34 PM
craig.topper committed rGbff9f84dc85b: [X86] Add 32-bit mode sse1 command line to scalar-int-to-fp.ll. NFC (authored by craig.topper).
[X86] Add 32-bit mode sse1 command line to scalar-int-to-fp.ll. NFC
Wed, Jan 15, 6:34 PM
craig.topper created D72805: [X86] Remove X86ISD::FILD_FLAG and stop gluing nodes together..
Wed, Jan 15, 1:19 PM · Restricted Project
craig.topper created D72794: [LegalizeDAG][Mips] Add an assert to protect a uint_to_fp implementation from double rounding. Add a i32->f32 uint_to_fp implementation that avoids this code..
Wed, Jan 15, 11:27 AM · Restricted Project
craig.topper updated the summary of D72794: [LegalizeDAG][Mips] Add an assert to protect a uint_to_fp implementation from double rounding. Add a i32->f32 uint_to_fp implementation that avoids this code..
Wed, Jan 15, 11:27 AM · Restricted Project
craig.topper committed rGd6a9b7e58967: [Mips] Add FileCheck to a test that just tested for a crash. (authored by craig.topper).
[Mips] Add FileCheck to a test that just tested for a crash.
Wed, Jan 15, 10:31 AM
craig.topper accepted D71255: llc: Change behavior of -mattr with existing attribute.

LGTM

Wed, Jan 15, 10:22 AM · Restricted Project
craig.topper accepted D72750: [X86] Insert wait instruction after X87 instructions which could raise float-point exception..

LGTM

Wed, Jan 15, 10:12 AM · Restricted Project
craig.topper committed rGbe8f217b180e: [X86] Don't call LowerUINT_TO_FP_i32 for i32->f80 on 32-bit targets with sse2. (authored by craig.topper).
[X86] Don't call LowerUINT_TO_FP_i32 for i32->f80 on 32-bit targets with sse2.
Wed, Jan 15, 12:46 AM
craig.topper added inline comments to D72750: [X86] Insert wait instruction after X87 instructions which could raise float-point exception..
Wed, Jan 15, 12:08 AM · Restricted Project

Tue, Jan 14

craig.topper committed rG57eb56b83926: [X86] Swap the 0 and the fudge factor in the constant pool for the 32-bit mode… (authored by craig.topper).
[X86] Swap the 0 and the fudge factor in the constant pool for the 32-bit mode…
Tue, Jan 14, 5:11 PM
craig.topper committed rG76291e1158c2: [X86] Drop an unneeded FIXME. NFC (authored by craig.topper).
[X86] Drop an unneeded FIXME. NFC
Tue, Jan 14, 5:11 PM
craig.topper committed rG9ee90ea55c16: [LegalizeTypes] Remove untested code from ExpandIntOp_UINT_TO_FP (authored by craig.topper).
[LegalizeTypes] Remove untested code from ExpandIntOp_UINT_TO_FP
Tue, Jan 14, 1:19 PM
craig.topper closed D72728: [LegalizeTypes] Remove untested code from ExpandIntOp_UINT_TO_FP.
Tue, Jan 14, 1:19 PM · Restricted Project
craig.topper created D72728: [LegalizeTypes] Remove untested code from ExpandIntOp_UINT_TO_FP.
Tue, Jan 14, 12:02 PM · Restricted Project
craig.topper committed rG98c54fb1feba: [X86] Directly emit a BROADCAST_LOAD from constant pool in… (authored by craig.topper).
[X86] Directly emit a BROADCAST_LOAD from constant pool in…
Tue, Jan 14, 10:53 AM
craig.topper closed D72307: [X86] Directly emit a BROADCAST_LOAD from constant pool in lowerUINT_TO_FP_vXi32 to avoid double loads seen in D71971.
Tue, Jan 14, 10:53 AM · Restricted Project

Mon, Jan 13

craig.topper committed rGb1dcd84c7ea3: [X86] Copy the nofpexcept flag when folding a load into an instruction using… (authored by craig.topper).
[X86] Copy the nofpexcept flag when folding a load into an instruction using…
Mon, Jan 13, 10:04 PM
craig.topper committed rG1768ed7f8b1f: [X86] Add test to show that nofpexcept flag is not preserved by stack reload… (authored by craig.topper).
[X86] Add test to show that nofpexcept flag is not preserved by stack reload…
Mon, Jan 13, 10:04 PM
craig.topper added a comment to D72665: [X86] Break the loop in LowerReturn into 2 loops..

Yeah, it's useful and clear to use a STRICT_FP_EXTEND. Anyway, I think we can also achieve it by getting the function's attribute or propagating the fpexcept to FP_EXTEND.

Mon, Jan 13, 7:27 PM · Restricted Project
craig.topper added inline comments to D72225: Align branches within 32-Byte boundary(Prefix padding).
Mon, Jan 13, 7:27 PM · Restricted Project
craig.topper added a comment to D72665: [X86] Break the loop in LowerReturn into 2 loops..

This FP_EXTEND will be turned into a SSE store and an X87 load. That X87 load may generate an exception so we should have the fpexcept property on it. That requires a STRICT_FP_EXTEND.

Mon, Jan 13, 6:59 PM · Restricted Project
craig.topper added a reviewer for D72665: [X86] Break the loop in LowerReturn into 2 loops.: pengfei.
Mon, Jan 13, 4:59 PM · Restricted Project
craig.topper created D72665: [X86] Break the loop in LowerReturn into 2 loops..
Mon, Jan 13, 4:13 PM · Restricted Project
craig.topper added inline comments to D69372: [X86][VARARG] Avoid spilling xmm vararg arguments..
Mon, Jan 13, 2:49 PM · Restricted Project
craig.topper committed rG26c7a4ed101f: [LegalizeIntegerTypes][X86] Add support for expanding input of… (authored by craig.topper).
[LegalizeIntegerTypes][X86] Add support for expanding input of…
Mon, Jan 13, 1:15 PM
craig.topper added inline comments to D72225: Align branches within 32-Byte boundary(Prefix padding).
Mon, Jan 13, 11:31 AM · Restricted Project
craig.topper abandoned D72238: [LegalizeVectorOps] Expand MERGE_VALUES created by custom legalization immediately.

Committed a version of this in ddfcd82bdc219dd2dc04d6826c417cea3da65d12.

Mon, Jan 13, 10:16 AM · Restricted Project

Sun, Jan 12

craig.topper created D72582: [X86] Don't inherit 32-bit calling conventions in 64-bit mode..
Sun, Jan 12, 11:20 PM · Restricted Project
craig.topper committed rG52aaf4a27576: [X86] Use SDNPOptInGlue instead of SDNPInGlue on a couple SDNodes. (authored by craig.topper).
[X86] Use SDNPOptInGlue instead of SDNPInGlue on a couple SDNodes.
Sun, Jan 12, 9:26 PM
craig.topper accepted D72341: [FPEnv] Fix chain handling for fpexcept.strict nodes.

LGTM

Sun, Jan 12, 12:34 PM · Restricted Project

Sat, Jan 11

craig.topper added inline comments to D72341: [FPEnv] Fix chain handling for fpexcept.strict nodes.
Sat, Jan 11, 8:59 PM · Restricted Project
craig.topper committed rGd692f0f6c8c1: [X86] Don't call LowerSETCC from LowerSELECT for STRICT_FSETCC/STRICT_FSETCCS… (authored by craig.topper).
[X86] Don't call LowerSETCC from LowerSELECT for STRICT_FSETCC/STRICT_FSETCCS…
Sat, Jan 11, 8:50 PM
craig.topper added inline comments to D72341: [FPEnv] Fix chain handling for fpexcept.strict nodes.
Sat, Jan 11, 5:59 PM · Restricted Project
craig.topper committed rGefb674ac2f2b: [LegalizeVectorOps] Parallelize the lo/hi part of STRICT_UINT_TO_FLOAT… (authored by craig.topper).
[LegalizeVectorOps] Parallelize the lo/hi part of STRICT_UINT_TO_FLOAT…
Sat, Jan 11, 5:53 PM
craig.topper committed rGed679804d5e3: [TargetLowering][X86] Connect the chain from STRICT_FSETCC in TargetLowering… (authored by craig.topper).
[TargetLowering][X86] Connect the chain from STRICT_FSETCC in TargetLowering…
Sat, Jan 11, 5:53 PM
craig.topper committed rGddfcd82bdc21: [LegalizeVectorOps] Expand vector MERGE_VALUES immediately. (authored by craig.topper).
[LegalizeVectorOps] Expand vector MERGE_VALUES immediately.
Sat, Jan 11, 5:53 PM
craig.topper added inline comments to D72341: [FPEnv] Fix chain handling for fpexcept.strict nodes.
Sat, Jan 11, 5:53 PM · Restricted Project
craig.topper committed rG5a9954c02a7d: [LegalizeVectorOps] Remove some of the simpler Expand methods. Pass Results… (authored by craig.topper).
[LegalizeVectorOps] Remove some of the simpler Expand methods. Pass Results…
Sat, Jan 11, 12:16 PM
craig.topper committed rG9fe6f36c1a90: [LegalizeVectorOps] Only pass SDNode* instead SDValue to all of the Expand* and… (authored by craig.topper).
[LegalizeVectorOps] Only pass SDNode* instead SDValue to all of the Expand* and…
Sat, Jan 11, 11:48 AM
craig.topper committed rG9cc9120969fd: [X86] Turn FP_ROUND/STRICT_FP_ROUND into X86ISD::VFPROUND/STRICT_VFPROUND… (authored by craig.topper).
[X86] Turn FP_ROUND/STRICT_FP_ROUND into X86ISD::VFPROUND/STRICT_VFPROUND…
Sat, Jan 11, 11:12 AM
craig.topper committed rG81a3d987ced0: [X86] Remove dead code from X86DAGToDAGISel::Select that is no longer needed… (authored by craig.topper).
[X86] Remove dead code from X86DAGToDAGISel::Select that is no longer needed…
Sat, Jan 11, 12:34 AM

Fri, Jan 10

craig.topper committed rGc2ddfa876fa9: [X86] Simplify code by removing an unreachable condition. NFCI (authored by craig.topper).
[X86] Simplify code by removing an unreachable condition. NFCI
Fri, Jan 10, 11:48 PM
craig.topper committed rG5fe5c0a60f9a: [X86] Preserve fpexcept property when turning strict_fp_extend and… (authored by craig.topper).
[X86] Preserve fpexcept property when turning strict_fp_extend and…
Fri, Jan 10, 11:48 PM
craig.topper committed rG69806808b918: [X86] Use ReplaceAllUsesWith instead of ReplaceAllUsesOfValueWith to simplify… (authored by craig.topper).
[X86] Use ReplaceAllUsesWith instead of ReplaceAllUsesOfValueWith to simplify…
Fri, Jan 10, 8:37 PM
craig.topper committed rGbb2553175ac3: [TargetLowering][ARM][Mips][WebAssembly] Remove the ordered FP compare from… (authored by craig.topper).
[TargetLowering][ARM][Mips][WebAssembly] Remove the ordered FP compare from…
Fri, Jan 10, 7:32 PM
craig.topper closed D72536: [TargetLowering][ARM][Mips][WebAssembly] Remove the ordered FP compare from RunttimeLibcalls.def and all associated usages.
Fri, Jan 10, 7:32 PM · Restricted Project
craig.topper committed rG71cee2186190: [TargetLowering] Use SelectionDAG::getSetCC and remove a repeated call to… (authored by craig.topper).
[TargetLowering] Use SelectionDAG::getSetCC and remove a repeated call to…
Fri, Jan 10, 1:29 PM
craig.topper created D72536: [TargetLowering][ARM][Mips][WebAssembly] Remove the ordered FP compare from RunttimeLibcalls.def and all associated usages.
Fri, Jan 10, 12:42 PM · Restricted Project
craig.topper committed rGb590e0fd810e: [TargetLowering][ARM][X86] Change softenSetCCOperands handling of ONE to avoid… (authored by craig.topper).
[TargetLowering][ARM][X86] Change softenSetCCOperands handling of ONE to avoid…
Fri, Jan 10, 11:01 AM
craig.topper closed D72477: [TargetLowering][ARM][X86] Change softenSetCCOperands handling of ONE to avoid spurious exceptions for QNANs with strict FP quiet compares.
Fri, Jan 10, 11:01 AM · Restricted Project
craig.topper committed rGf678fc7660b3: [LegalizeVectorOps] Improve handling of multi-result operations. (authored by craig.topper).
[LegalizeVectorOps] Improve handling of multi-result operations.
Fri, Jan 10, 10:22 AM
craig.topper closed D72224: [LegalizeVectorOps] Improve handling of multi-result operations..
Fri, Jan 10, 10:22 AM · Restricted Project
craig.topper added inline comments to D68720: Support -fstack-clash-protection for x86.
Fri, Jan 10, 8:48 AM · Restricted Project, Restricted Project

Thu, Jan 9

craig.topper added inline comments to D72466: [FPEnv][RFC] Invert sense of MIFlag::FPExcept flag.
Thu, Jan 9, 11:48 PM · Restricted Project
craig.topper added inline comments to D72466: [FPEnv][RFC] Invert sense of MIFlag::FPExcept flag.
Thu, Jan 9, 6:53 PM · Restricted Project
craig.topper accepted D71467: [FPEnv] Generate constrained FP comparisons from clang.

LGTM

Thu, Jan 9, 6:44 PM · Restricted Project, Restricted Project
craig.topper added inline comments to D72307: [X86] Directly emit a BROADCAST_LOAD from constant pool in lowerUINT_TO_FP_vXi32 to avoid double loads seen in D71971.
Thu, Jan 9, 6:12 PM · Restricted Project
craig.topper accepted D72466: [FPEnv][RFC] Invert sense of MIFlag::FPExcept flag.

LGTM

Thu, Jan 9, 6:08 PM · Restricted Project
craig.topper created D72477: [TargetLowering][ARM][X86] Change softenSetCCOperands handling of ONE to avoid spurious exceptions for QNANs with strict FP quiet compares.
Thu, Jan 9, 12:54 PM · Restricted Project
craig.topper committed rG4e003aad42d9: [X86] Add ueq/one fp128 quiet compare tests. NFC (authored by craig.topper).
[X86] Add ueq/one fp128 quiet compare tests. NFC
Thu, Jan 9, 12:26 PM
craig.topper committed rGb705fe5686a8: [TargetLowering][X86] TeachSimplifyDemandedBits to handle cases where only the… (authored by craig.topper).
[TargetLowering][X86] TeachSimplifyDemandedBits to handle cases where only the…
Thu, Jan 9, 10:24 AM
craig.topper closed D72356: [TargetLowering][X86] TeachSimplifyDemanedBits to handle cases where only the sign bit is demanded from a SETCC and can be passed through.
Thu, Jan 9, 10:24 AM · Restricted Project
craig.topper added inline comments to D72227: [Driver][X86] Add -malign-branch* and -malign-branch-within-32B-boundaries.
Thu, Jan 9, 8:30 AM · Restricted Project

Wed, Jan 8

craig.topper added inline comments to D29014: [SelDag][MIR] Add FREEZE.
Wed, Jan 8, 3:37 PM · Restricted Project
craig.topper updated the diff for D72356: [TargetLowering][X86] TeachSimplifyDemanedBits to handle cases where only the sign bit is demanded from a SETCC and can be passed through.

Rebase after the uint_to_fp v4i64->v4f32 custom type legalization change D72368.

Wed, Jan 8, 12:32 PM · Restricted Project
craig.topper updated the diff for D72224: [LegalizeVectorOps] Improve handling of multi-result operations..

Add a LowerOperationWrapper helper that updates a Result vector. It looks a lot like X86's override of TargetLowering::LowerOperationWrapper except the bool result. The TargetLowering version doesn't allow for the possibility of keeping the existing node since it only called by the type legalizer today. I think in the future we could try to merge this together, but it will require changes to other targets.

Wed, Jan 8, 12:23 PM · Restricted Project
craig.topper accepted D71375: [X86] Remove EFLAGS from live-in lists of successor MBBs in X86FlagsCopyLowering.

LGTM

Wed, Jan 8, 12:13 PM · Restricted Project
craig.topper added inline comments to D72224: [LegalizeVectorOps] Improve handling of multi-result operations..
Wed, Jan 8, 10:21 AM · Restricted Project
craig.topper committed rG3811417f39a7: [X86] Custom type legalize v4i64->v4f32 uint_to_fp on sse4.1 targets in 64-bit… (authored by craig.topper).
[X86] Custom type legalize v4i64->v4f32 uint_to_fp on sse4.1 targets in 64-bit…
Wed, Jan 8, 10:12 AM
craig.topper committed rGd60b3b4817cb: [X86] Add isel patterns for bitcasting between v32i1/v64i1 and float/double. (authored by craig.topper).
[X86] Add isel patterns for bitcasting between v32i1/v64i1 and float/double.
Wed, Jan 8, 10:12 AM
craig.topper closed D72368: [X86] Custom type legalize v4i64->v4f32 uint_to_fp on sse4.1 targets.
Wed, Jan 8, 10:12 AM · Restricted Project
craig.topper retitled D72356: [TargetLowering][X86] TeachSimplifyDemanedBits to handle cases where only the sign bit is demanded from a SETCC and can be passed through from [TargetLowering][X86] TeachSimplifyDemanedBits to handle cases where only the sign bit is demanded and can be passed through to [TargetLowering][X86] TeachSimplifyDemanedBits to handle cases where only the sign bit is demanded from a SETCC and can be passed through.
Wed, Jan 8, 10:11 AM · Restricted Project

Tue, Jan 7

craig.topper added inline comments to D72319: [InstCombine] Adding Z / (1.0 / Y) => (Y * Z).
Tue, Jan 7, 11:20 PM · Restricted Project
craig.topper accepted D71897: [X86] Adding fp128 support for strict fcmp.

LGTM

Tue, Jan 7, 8:26 PM · Restricted Project
craig.topper created D72368: [X86] Custom type legalize v4i64->v4f32 uint_to_fp on sse4.1 targets.
Tue, Jan 7, 3:17 PM · Restricted Project