Page MenuHomePhabricator

jyknight (James Y Knight)
User

Projects

User does not belong to any projects.

User Details

User Since
Mar 27 2015, 11:23 AM (212 w, 5 d)

Recent Activity

Fri, Apr 19

jyknight added a comment to D56571: [RFC prototype] Implementation of asm-goto support in clang.

There shouldn't be an empty string ("") in the asm output -- that should be a reference to the "l_yes" label, not the empty string. That seems very weird...

Fri, Apr 19, 7:21 PM
jyknight added a comment to D59711: PR41183: Don't emit Wstrict-prototypes warning for an implicit function declaration..

Ping.

Fri, Apr 19, 3:15 PM · Restricted Project

Tue, Apr 9

jyknight added inline comments to D60274: [ELF] Implement Dependent Libraries Feature.
Tue, Apr 9, 8:00 AM · Restricted Project
jyknight added a comment to D59711: PR41183: Don't emit Wstrict-prototypes warning for an implicit function declaration..

Ping.

Tue, Apr 9, 5:11 AM · Restricted Project
jyknight accepted D60397: [Sparc] Fix incorrect MI insertion position for spilling f128..

Thanks!

Tue, Apr 9, 2:46 AM · Restricted Project
jyknight committed rT357986: Fix siod's gc implementation when used with GLIBC..
Fix siod's gc implementation when used with GLIBC.
Tue, Apr 9, 2:32 AM
jyknight committed rL357986: Fix siod's gc implementation when used with GLIBC..
Fix siod's gc implementation when used with GLIBC.
Tue, Apr 9, 2:20 AM
jyknight closed D60039: Fix the bug of garbage collection of siod..
Tue, Apr 9, 2:20 AM · Restricted Project

Mon, Apr 8

jyknight accepted D60039: Fix the bug of garbage collection of siod..
Mon, Apr 8, 7:57 AM · Restricted Project
jyknight added a comment to D60039: Fix the bug of garbage collection of siod..

If you change to condition on GLIBC instead of linux, I think this is fine to commit (although it still seems unfortunate to me that we're carrying an abandoned codebase which depends on weird broken stuff like this...)

Mon, Apr 8, 5:42 AM · Restricted Project
jyknight added a comment to D59509: Make static constructors + destructors minsize + cold (except for in -O0).

Looks reasonable to me.

Mon, Apr 8, 3:22 AM · Restricted Project
jyknight added inline comments to D60017: [git] Be more specific when looking for llvm-svn.
Mon, Apr 8, 3:11 AM · Restricted Project
jyknight added a comment to D60397: [Sparc] Fix incorrect MI insertion position for spilling f128..

Can you please write a test case for this? There's some existing sparcv9 spill tests in llvm/test/CodeGen/SPARC/64spill.ll.

Mon, Apr 8, 2:59 AM · Restricted Project

Sat, Apr 6

jyknight added inline comments to D60274: [ELF] Implement Dependent Libraries Feature.
Sat, Apr 6, 3:13 PM · Restricted Project

Fri, Apr 5

jyknight added a comment to D60274: [ELF] Implement Dependent Libraries Feature.

This commit message is rather bare-bones -- I hope that the ultimate commit message will be updated to contain more than just a reference to the RFC thread.

Fri, Apr 5, 11:31 AM · Restricted Project

Thu, Apr 4

jyknight committed rGa0401744185b: Revert [X86] When using Win64 ABI, exit with error if SSE is disabled for… (authored by jyknight).
Revert [X86] When using Win64 ABI, exit with error if SSE is disabled for…
Thu, Apr 4, 12:07 PM
jyknight committed rL357718: Revert [X86] When using Win64 ABI, exit with error if SSE is disabled for….
Revert [X86] When using Win64 ABI, exit with error if SSE is disabled for…
Thu, Apr 4, 12:04 PM
jyknight added a comment to D42512: [X86] When using Win64 ABI, exit with error if SSE is disabled for varargs.

This patch is not correct -- the crash is not with varargs functions specifically, llvm also crashes for a function declared to explicitly take a float/double. The Win64 calling convention code assigns values to xmm registers, but it should not when sse is disabled.

Thu, Apr 4, 11:58 AM · Restricted Project

Wed, Apr 3

jyknight added a comment to D60224: [TargetLowering] Extend bool args to inline-asm according to getBooleanType.

After looking at this a bit more, I realized that this is still insufficient. There's *many* more target-specific constraints than just x86 "i" which sign extend constant integer arguments -- and we'll need to apply this change to every one of them, in all targets.

Wed, Apr 3, 2:03 PM · Restricted Project
jyknight added a comment to D60208: [X86] Extend boolean arguments to inline-asm according to getBooleanType.

This looks like the same bug is present in the generic code in llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp as well.

Wed, Apr 3, 10:42 AM · Restricted Project
jyknight added a comment to D60039: Fix the bug of garbage collection of siod..

I would question whether it's actually worth it to attempt to keep software working that seems to have been abandoned for a decade as part of the llvm test suite? Should this code just be removed, instead of patched?

Wed, Apr 3, 10:35 AM · Restricted Project

Mon, Apr 1

jyknight added a comment to D60043: [FileCheck] Fix FileCheck.cpp compilation on Solaris.

Sounds like this file is missing #include <math.h> (it probably only #include <cmath>). If it wants to use ::log10, it should #include <math.h>. If it wants to use <cmath>, it should use std::log10.

Mon, Apr 1, 8:28 AM · Restricted Project

Fri, Mar 29

jyknight accepted D58070: [DAGCombine] Prune unnused nodes..

It'd be nice if we knew why adding new nodes to the worklist seemed to cause an issue, but the reduced form as here seems okay as far as it goes.

Fri, Mar 29, 9:36 AM · Restricted Project
jyknight accepted D58068: [DAG] Set up infrastructure to avoid smart constructor-based dangling nodes.

Looks fine again.

Fri, Mar 29, 8:38 AM · Restricted Project

Thu, Mar 28

jyknight added inline comments to D59837: Add "git llvm revert" subcommand.
Thu, Mar 28, 2:02 PM · Restricted Project

Wed, Mar 27

jyknight accepted D59897: [DAGCombiner] Teach TokenFactor pruning to peek through lifetime nodes.
Wed, Mar 27, 1:36 PM · Restricted Project

Tue, Mar 26

jyknight added a comment to D30471: [SDAG] Relax conditions under stores of loaded values can be merged.

Not sure if the PPC issue was a different one, but the commit that reverted this was:

Tue, Mar 26, 7:29 AM

Mar 25 2019

jyknight added inline comments to D58070: [DAGCombine] Prune unnused nodes..
Mar 25 2019, 12:14 PM · Restricted Project
jyknight accepted D58068: [DAG] Set up infrastructure to avoid smart constructor-based dangling nodes.
Mar 25 2019, 12:14 PM · Restricted Project

Mar 22 2019

jyknight created D59711: PR41183: Don't emit Wstrict-prototypes warning for an implicit function declaration..
Mar 22 2019, 12:36 PM · Restricted Project
jyknight committed rGc0e6b8ac3ad4: IR: Support parsing numeric block ids, and emit them in textual output. (authored by jyknight).
IR: Support parsing numeric block ids, and emit them in textual output.
Mar 22 2019, 11:28 AM
jyknight committed rL356789: IR: Support parsing numeric block ids, and emit them in textual output..
IR: Support parsing numeric block ids, and emit them in textual output.
Mar 22 2019, 11:28 AM
jyknight committed rC356789: IR: Support parsing numeric block ids, and emit them in textual output..
IR: Support parsing numeric block ids, and emit them in textual output.
Mar 22 2019, 11:27 AM
jyknight closed D58548: IR: Support parsing numeric block ids, and emit them in textual output..
Mar 22 2019, 11:27 AM · Restricted Project, Restricted Project

Mar 20 2019

Herald added a project to D44373: Fix reading objects created with -fembed-bitcode-marker.: Restricted Project.

Thanks for fixing this. LGTM.

Mar 20 2019, 7:29 AM · Restricted Project

Mar 18 2019

jyknight added inline comments to D58070: [DAGCombine] Prune unnused nodes..
Mar 18 2019, 3:01 PM · Restricted Project
jyknight added a comment to D58068: [DAG] Set up infrastructure to avoid smart constructor-based dangling nodes.

Could you add a comment to the CL description noting that a bunch of the calls to AddToWorklist in DAGCombiner.cpp that follow a DAG.getNode() are now redundant, and should be cleaned up in the future.

Mar 18 2019, 12:43 PM · Restricted Project
jyknight added a comment to D58548: IR: Support parsing numeric block ids, and emit them in textual output..

Sorry, forgot to re-ping this in a timely manner. :)

Mar 18 2019, 12:41 PM · Restricted Project, Restricted Project
jyknight accepted D59346: [X86] Add gcc rotate intrinsics to ia32intrin.h.

Looks good.

Mar 18 2019, 12:41 PM · Restricted Project

Mar 14 2019

jyknight added a comment to rG087968716c3e: Sync with upstream.

It looks like this was generated because a pull request against the upstream repo was created containing this commit.

Mar 14 2019, 9:30 AM

Mar 6 2019

jyknight added a comment to D58154: Add support for -fpermissive..

Ah -- I now understand your concern, and managing user expectations appropriately does seem like a potential concern.

Mar 6 2019, 9:04 AM · Restricted Project

Mar 5 2019

jyknight added a comment to D58998: Replace function template (plus explicit specializations) by non-template overloads..

Is there any reason this needs to be a template -- can't these just be changed to function overloads, instead of template specializations?

Mar 5 2019, 3:35 PM · Restricted Project
jyknight added a comment to D58154: Add support for -fpermissive..

The errors disabled by this feature are default-error warnings -- you can already get the same effect by using -Wno-<lots-of-things>. Why is it bad to additionally allow -fpermissive to disable them? (If we have any diagnostics which are currently default-on-warnings which should not _ever_ be disable-able, then maybe we should just fix those?)

Mar 5 2019, 8:41 AM · Restricted Project

Mar 4 2019

jyknight accepted D58154: Add support for -fpermissive..
Mar 4 2019, 12:48 PM · Restricted Project
jyknight added a comment to D58154: Add support for -fpermissive..

Hm -- in GCC, -fpermissive has nothing at all to do with -pedantic/-pedantic-errors, but I suppose it should be fine to do this way.

Mar 4 2019, 12:48 PM · Restricted Project

Mar 2 2019

jyknight committed rGcf03bd92d64a: Tweak r355278 for compatibility with gcc 6 and earlier. (authored by jyknight).
Tweak r355278 for compatibility with gcc 6 and earlier.
Mar 2 2019, 1:55 PM
jyknight committed rL355280: Tweak r355278 for compatibility with gcc 6 and earlier..
Tweak r355278 for compatibility with gcc 6 and earlier.
Mar 2 2019, 1:54 PM
jyknight committed rC355280: Tweak r355278 for compatibility with gcc 6 and earlier..
Tweak r355278 for compatibility with gcc 6 and earlier.
Mar 2 2019, 1:54 PM
jyknight committed rG1ce395f25e29: Tweak r355278 for compatibility with gcc 6 and earlier. (authored by jyknight).
Tweak r355278 for compatibility with gcc 6 and earlier.
Mar 2 2019, 1:20 PM
jyknight committed rL355279: Tweak r355278 for compatibility with gcc 6 and earlier..
Tweak r355278 for compatibility with gcc 6 and earlier.
Mar 2 2019, 1:20 PM
jyknight committed rC355279: Tweak r355278 for compatibility with gcc 6 and earlier..
Tweak r355278 for compatibility with gcc 6 and earlier.
Mar 2 2019, 1:20 PM
jyknight added a comment to D57914: [Driver] Allow enum SanitizerOrdinal to represent more than 64 different sanitizer checks, NFC..

The intricate initialization-order workarounds apparently don't work in all build modes, so I've updated this code to have constexpr functions and initializations in r355278.

Mar 2 2019, 1:04 PM · Restricted Project, Restricted Project
jyknight committed rG47c777fe4102: Make the new SanitizerMask code added in r355190 constexpr. (authored by jyknight).
Make the new SanitizerMask code added in r355190 constexpr.
Mar 2 2019, 12:22 PM
jyknight committed rC355278: Make the new SanitizerMask code added in r355190 constexpr..
Make the new SanitizerMask code added in r355190 constexpr.
Mar 2 2019, 12:22 PM
jyknight committed rL355278: Make the new SanitizerMask code added in r355190 constexpr..
Make the new SanitizerMask code added in r355190 constexpr.
Mar 2 2019, 12:22 PM

Feb 27 2019

jyknight committed rGf33b1f49b76a: Fixup compilation/test failures after r354960 and r355013. (authored by jyknight).
Fixup compilation/test failures after r354960 and r355013.
Feb 27 2019, 1:49 PM
jyknight committed rCRT355034: Fixup compilation/test failures after r354960 and r355013..
Fixup compilation/test failures after r354960 and r355013.
Feb 27 2019, 1:48 PM
jyknight committed rL355034: Fixup compilation/test failures after r354960 and r355013..
Fixup compilation/test failures after r354960 and r355013.
Feb 27 2019, 1:48 PM

Feb 26 2019

jyknight accepted D56593: [SelectionDAG][RFC] Allow the user to specify a memeq function (v5)..

Probably worth adding a note to the release notes, something like "The optimizer will now convert calls to memcmp into a calls to bcmp in some circumstances. Users who are building freestanding code (not depending on the platform's libc) without specifying -ffreestanding may need to either pass -fno-builtin-bcmp, or provide a bcmp function."

Feb 26 2019, 6:38 AM · Restricted Project

Feb 22 2019

jyknight updated the diff for D58548: IR: Support parsing numeric block ids, and emit them in textual output..

Minor tweaks per comments.

Feb 22 2019, 2:50 PM · Restricted Project, Restricted Project
jyknight added a comment to D58548: IR: Support parsing numeric block ids, and emit them in textual output..

I like this idea, and I don’t think the textual IR central is too important. A few things:

  • Changes to the IR should always be discussed on llvm-dev. Did this already happen?
Feb 22 2019, 12:12 PM · Restricted Project, Restricted Project
jyknight updated the diff for D58548: IR: Support parsing numeric block ids, and emit them in textual output..

Add some wording to LangRef and clang-format.

Feb 22 2019, 12:12 PM · Restricted Project, Restricted Project
jyknight created D58548: IR: Support parsing numeric block ids, and emit them in textual output..
Feb 22 2019, 7:27 AM · Restricted Project, Restricted Project

Feb 20 2019

jyknight added a comment to D57601: Seperate volatility and atomicity/ordering in SelectionDAG.

Question for Reviewers: Going through uses of isVolatile in backend code, I see suspicious bits in Lania, ARM, and Hexagon. What's the best way to handle this? I can easily apply the workaround I mention for out of tree backends, or I could make them equally conservative for isAtomic. The other in tree backends appear to be fine, though I'd welcome review from folks knowledgeable of non-x86 backends.

Feb 20 2019, 9:48 AM · Restricted Project

Feb 19 2019

jyknight added inline comments to D57450: [RISCV] Set MaxAtomicInlineWidth and MaxAtomicPromoteWidth for RV32/RV64 targets with atomics.
Feb 19 2019, 10:05 AM · Restricted Project
jyknight added inline comments to D58379: [compiler-rt] Intercept the bcmp() function..
Feb 19 2019, 7:08 AM · Restricted Project, Restricted Project

Feb 16 2019

jyknight added a comment to D57400: Add a .gitignore file to the root that ignores any files outside of the project directories..

I still don't like it...It's different, unusual, and IMO surprising to have such a wildcard ignore.

Feb 16 2019, 5:09 PM

Feb 15 2019

jyknight added a comment to D58260: [INLINER] allow inlining of blockaddresses if sole uses are callbrs.

I'm concerned that "nocapture" is not sufficient to describe the necessary property here.

Feb 15 2019, 12:21 PM · Restricted Project
jyknight added inline comments to D58260: [INLINER] allow inlining of blockaddresses if sole uses are callbrs.
Feb 15 2019, 10:31 AM · Restricted Project

Feb 13 2019

jyknight added a comment to D58091: Customize warnings for missing built-in type.

I think this warning (-Wbuiltin-requires-header) doesn't really make sense as its own warning.

Feb 13 2019, 8:28 PM · Restricted Project
jyknight added a comment to D56593: [SelectionDAG][RFC] Allow the user to specify a memeq function (v5)..

OK, I'm happy with all of that.

Feb 13 2019, 12:31 PM · Restricted Project
jyknight accepted D58120: [Builtins] Treat `bcmp` as a builtin..

Looks reasonable to me.

Feb 13 2019, 11:09 AM · Restricted Project

Feb 11 2019

jyknight added a comment to D56593: [SelectionDAG][RFC] Allow the user to specify a memeq function (v5)..

It'd be great to see this somewhat more widely publicized, outside of just the clang community. If libc implementors are aware of the gains and are willing to provide an actually-faster bcmp implementation, it'd be a lot better, than having this optimization that doesn't really optimize anything without users providing their own bcmp implementation.

Feb 11 2019, 10:34 AM · Restricted Project

Feb 9 2019

jyknight committed rG751fe286dc39: [opaque pointer types] Cleanup CGBuilder's Create*GEP. (authored by jyknight).
[opaque pointer types] Cleanup CGBuilder's Create*GEP.
Feb 9 2019, 2:22 PM
jyknight committed rC353629: [opaque pointer types] Cleanup CGBuilder's Create*GEP..
[opaque pointer types] Cleanup CGBuilder's Create*GEP.
Feb 9 2019, 2:22 PM
jyknight committed rL353629: [opaque pointer types] Cleanup CGBuilder's Create*GEP..
[opaque pointer types] Cleanup CGBuilder's Create*GEP.
Feb 9 2019, 2:22 PM
jyknight closed D57767: [opaque pointer types] Cleanup CGBuilder's Create*GEP..
Feb 9 2019, 2:22 PM · Restricted Project, Restricted Project

Feb 8 2019

jyknight committed rGae2f95121969: [opaque pointer types] Update calls to CreateCall to pass the function type in… (authored by jyknight).
[opaque pointer types] Update calls to CreateCall to pass the function type in…
Feb 8 2019, 11:32 AM
jyknight committed rLLDB353549: [opaque pointer types] Update calls to CreateCall to pass the function.
[opaque pointer types] Update calls to CreateCall to pass the function
Feb 8 2019, 11:31 AM
jyknight committed rL353549: [opaque pointer types] Update calls to CreateCall to pass the function.
[opaque pointer types] Update calls to CreateCall to pass the function
Feb 8 2019, 11:31 AM
jyknight committed rGf5f1b0e59eb7: [opaque pointer types] Cleanup CGBuilder's Create*GEP. (authored by jyknight).
[opaque pointer types] Cleanup CGBuilder's Create*GEP.
Feb 8 2019, 7:34 AM
jyknight committed rC353529: [opaque pointer types] Cleanup CGBuilder's Create*GEP..
[opaque pointer types] Cleanup CGBuilder's Create*GEP.
Feb 8 2019, 7:34 AM
jyknight committed rL353529: [opaque pointer types] Cleanup CGBuilder's Create*GEP..
[opaque pointer types] Cleanup CGBuilder's Create*GEP.
Feb 8 2019, 7:34 AM
jyknight closed D57766: [opaque pointer types] Cleanup CGBuilder's Create*GEP..
Feb 8 2019, 7:34 AM · Restricted Project, Restricted Project

Feb 6 2019

jyknight committed rGcfe8cd7e06aa: [opaque pointer types] Make EmitCall pass Function Types to CreateCall/Invoke. (authored by jyknight).
[opaque pointer types] Make EmitCall pass Function Types to CreateCall/Invoke.
Feb 6 2019, 5:17 PM
jyknight committed rL353356: [opaque pointer types] Make EmitCall pass Function Types to.
[opaque pointer types] Make EmitCall pass Function Types to
Feb 6 2019, 5:16 PM
jyknight committed rC353356: [opaque pointer types] Make EmitCall pass Function Types to.
[opaque pointer types] Make EmitCall pass Function Types to
Feb 6 2019, 5:16 PM
jyknight closed D57804: [opaque pointer types] Make EmitCall pass Function Types to CreateCall/Invoke..
Feb 6 2019, 5:16 PM · Restricted Project
jyknight committed rGf7321540d518: [opaque pointer types] Pass through function types for TLS initialization and… (authored by jyknight).
[opaque pointer types] Pass through function types for TLS initialization and…
Feb 6 2019, 5:16 PM
jyknight committed rL353355: [opaque pointer types] Pass through function types for TLS.
[opaque pointer types] Pass through function types for TLS
Feb 6 2019, 5:14 PM
jyknight committed rC353355: [opaque pointer types] Pass through function types for TLS.
[opaque pointer types] Pass through function types for TLS
Feb 6 2019, 5:14 PM
jyknight closed D57801: [opaque pointer types] Pass through function types for TLS initialization and global destructor calls..
Feb 6 2019, 5:14 PM · Restricted Project

Feb 5 2019

jyknight created D57804: [opaque pointer types] Make EmitCall pass Function Types to CreateCall/Invoke..
Feb 5 2019, 7:36 PM · Restricted Project
jyknight created D57801: [opaque pointer types] Pass through function types for TLS initialization and global destructor calls..
Feb 5 2019, 6:40 PM · Restricted Project
jyknight committed rGab4f7f144a63: Fix MSVC constructor call extension after b92d290e48e9 (r353181). (authored by jyknight).
Fix MSVC constructor call extension after b92d290e48e9 (r353181).
Feb 5 2019, 4:06 PM
jyknight committed rC353246: Fix MSVC constructor call extension after b92d290e48e9 (r353181)..
Fix MSVC constructor call extension after b92d290e48e9 (r353181).
Feb 5 2019, 4:06 PM
jyknight committed rL353246: Fix MSVC constructor call extension after b92d290e48e9 (r353181)..
Fix MSVC constructor call extension after b92d290e48e9 (r353181).
Feb 5 2019, 4:05 PM
jyknight closed D57794: Fix MSVC constructor call extension after b92d290e48e9 (r353181)..
Feb 5 2019, 4:05 PM · Restricted Project, Restricted Project
jyknight created D57794: Fix MSVC constructor call extension after b92d290e48e9 (r353181)..
Feb 5 2019, 3:32 PM · Restricted Project, Restricted Project
jyknight committed rG76f787424d45: [opaque pointer types] More trivial changes to pass FunctionType to CallInst. (authored by jyknight).
[opaque pointer types] More trivial changes to pass FunctionType to CallInst.
Feb 5 2019, 11:18 AM