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

Recent Activity

Mon, Oct 7

jyknight added a comment to D67867: [libc] Add few docs and implementation of strcpy and strcat..

The commit was done in a hurry. For the initial commit of a brand new project that sets up the project hierarchy, this seems to have received fewer than enough thumbs up. Many points raised in the review process were just shrugged off.

I don't know if it matters anymore because this was committed but I agree with @MaskRay. His suggestion of using llvm-objcopy to rename the symbols for tests makes much more sense to me. I haven't seen a libc that does testing in an ergonomic way and this suggestion seems the best to me, frankly.

There is a lot going on here, it's hard to follow it all in one patch, and I think some comments got lost because of this. I feel like a lot of big design decisions were made here, did I miss something on the libc-dev mailing list?

Mon, Oct 7, 3:06 PM · Restricted Project, Restricted Project
jyknight reopened D28213: [Frontend] Correct values of ATOMIC_*_LOCK_FREE to match builtin.

The close was due to phabricator problem, reopening.

Mon, Oct 7, 7:37 AM · Restricted Project, Restricted Project

Thu, Oct 3

jyknight added inline comments to D68410: [AttrDocs] document always_inline.
Thu, Oct 3, 11:41 AM · Restricted Project

Wed, Oct 2

jyknight added a comment to D67867: [libc] Add few docs and implementation of strcpy and strcat..

The issue really only exists when you refer to object files across standards layers -- e.g., using an object file that exposes the POSIX symbol "open" from an object file implementing ISO C. If you make sure to always strictly-layer the libc, so that ISO C-implementing object files don't use any POSIX-exporting object files, and so on, you won't need to mark anything weak. For the example of "open", you'd have an internal implementation of open in its own file, only exposing libc-internal symbols. Then fopen (ISO C) can use that safely, without dragging in a definition of the symbol open. Separately, the implementation of open (POSIX) can be defined in its own file, also based on the internal open.)

This approach is fairly general can be adopted with the existing setup as well. In fact, I can image that irrespective of the approach we take, we will end up with patterns like this.

Wed, Oct 2, 2:50 PM · Restricted Project, Restricted Project
jyknight added a comment to D67867: [libc] Add few docs and implementation of strcpy and strcat..

The objcopy step is required to avoid putting mangled names with the alias attribute. If there is any other way to achieve the same thing, I am open to it.

Ah, I see! I'd suggest using extern "C" instead. There's no need for these be C++-mangled -- you can simply use a name prefix instead. E.g., if you define it as extern "C" __llvm_libc_strcpy(...) {} then it's trivial to make the strcpy alias without objcopy magic.

Yes, this solution was considered. But, it does not really solve the problem you brought up; we will still need to make the alias weak.

Wed, Oct 2, 1:27 PM · Restricted Project, Restricted Project
jyknight added a comment to D67847: [Support] make report_fatal_error `abort` instead of `exit`.

The abort() function raises SIGABRT, for which the default behavior is to trigger a coredump. Do we actually want that behavior?

Wed, Oct 2, 12:32 PM · Restricted Project, Restricted Project

Mon, Sep 30

jyknight added a comment to D67867: [libc] Add few docs and implementation of strcpy and strcat..

The objcopy step is required to avoid putting mangled names with the alias attribute. If there is any other way to achieve the same thing, I am open to it.

Mon, Sep 30, 2:35 PM · Restricted Project, Restricted Project
jyknight added a comment to D67867: [libc] Add few docs and implementation of strcpy and strcat..

Maybe everything is fine, but given this setup, does anyone see any potential problems with compiling these functions for nvptx? I'd like to eventually see a mode where we compile an appropriate subset of these functions for GPU targets -- either in bitcode form for linking with our device-side OpenMP runtime library or as a native object -- to provide a more feature-complete offloading environment.

The one thing that caught by eye was the use of the section attribute, and I was curious what nvptx does with that. As far as I can tell, perhaps the answer is nothing.

Then I think this scheme won't work, since the point of the sections is to enable the creation of the global symbols post-build.

E.g., I think the idea is that the main implementation defines the function with C++ name __llvm_libc::strcpy(char *, const char *), and places the code in the .llvm.libc.entrypoint.strcpy section. And then another tool comes along and iterates the llvm.libc.entrypoint sections, and adds global symbol aliases for each one.

That scheme feels probably over-complex, IMO, but I don't have an concrete counter-proposal in mind.

For what it's worth, FreeBSD libc does a similar namespacing trick in C. The internal symbols are underscore prefixed and they're exported as aliases (typically as weak aliases, to allow them to be preempted by other implementations, and to explicitly give names to callers for the preemptible and non-preemptible versions). Making symbols preemptible isn't really possible with PE/COFF, because the linkage model has a stronger concept of where definitions come from than ELF (at least, in the absence of symbol versions in ELF). On ELF platforms, we should support symbol versions as early as possible, because adding them later is an ABI break, even if we change no code.

Mon, Sep 30, 9:11 AM · Restricted Project, Restricted Project

Fri, Sep 27

jyknight added a comment to D67867: [libc] Add few docs and implementation of strcpy and strcat..

Maybe everything is fine, but given this setup, does anyone see any potential problems with compiling these functions for nvptx? I'd like to eventually see a mode where we compile an appropriate subset of these functions for GPU targets -- either in bitcode form for linking with our device-side OpenMP runtime library or as a native object -- to provide a more feature-complete offloading environment.

The one thing that caught by eye was the use of the section attribute, and I was curious what nvptx does with that. As far as I can tell, perhaps the answer is nothing.

Fri, Sep 27, 9:42 AM · Restricted Project, Restricted Project
jyknight added a comment to D67867: [libc] Add few docs and implementation of strcpy and strcat..

I did consider such a layout. However, the same kind of distinction can be achieved by two things:

  1. Next to the implementation and/or target listing for a function, call out the standard/extension that prescribes it.
  2. When composing the target for libc.a for a platform, group the functions per standards/extensions they come from.

    Another point which made me not pick this layout: I agree that as a catalog, the structure you are suggesting could be more meaningful. But as a developer, my mental model is much simpler if all the functions from a header file are grouped in one place, irrespective of the standard they come from.
Fri, Sep 27, 7:00 AM · Restricted Project, Restricted Project

Wed, Sep 25

jyknight added a comment to D67867: [libc] Add few docs and implementation of strcpy and strcat..

Some high level comments on your filesystem layout standard:

Wed, Sep 25, 10:10 AM · Restricted Project, Restricted Project

Tue, Sep 24

jyknight added a comment to D67573: Fix __atomic_is_lock_free's return type..

Ping.

Tue, Sep 24, 2:17 PM · Restricted Project
jyknight added a comment to D67982: [ObjC] Add some additional test cases around pointer conversions..

(See https://reviews.llvm.org/D67983 for the proposed behavior change.)

Tue, Sep 24, 2:00 PM · Restricted Project
jyknight added a comment to D67983: [ObjC] Diagnose implicit type coercion from ObjC 'Class' to object pointer types..

Note that the test-case diffs are on top of https://reviews.llvm.org/D67982, which I split out to make the actual change in behavior in this commit clearer.

Tue, Sep 24, 2:00 PM · Restricted Project
jyknight created D67983: [ObjC] Diagnose implicit type coercion from ObjC 'Class' to object pointer types..
Tue, Sep 24, 1:59 PM · Restricted Project
jyknight created D67982: [ObjC] Add some additional test cases around pointer conversions..
Tue, Sep 24, 1:58 PM · Restricted Project

Mon, Sep 23

jyknight added inline comments to D67867: [libc] Add few docs and implementation of strcpy and strcat..
Mon, Sep 23, 5:53 PM · Restricted Project, Restricted Project

Sat, Sep 21

jyknight committed rGc2ca003baffb: NFC: Change ObjCQualified*TypesAreCompatible to take ObjCObjectPointerType… (authored by jyknight).
NFC: Change ObjCQualified*TypesAreCompatible to take ObjCObjectPointerType…
Sat, Sep 21, 3:34 PM
jyknight committed rL372492: NFC: Change ObjCQualified*TypesAreCompatible to take.
NFC: Change ObjCQualified*TypesAreCompatible to take
Sat, Sep 21, 3:34 PM

Fri, Sep 20

jyknight added a comment to D67802: [SelectionDAG][Mips][Sparc] Don't allow SimplifyDemandedBits to constant fold TargetConstant nodes to a Constant..

Sparc change looks good.
Don't know about the MIPS one -- seems like probably something upstream should be creating a Constant instead of a TargetConstant, rather than converting it there?

Fri, Sep 20, 7:23 AM · Restricted Project

Tue, Sep 17

jyknight committed rL372184: Request commit access for jyknight.
Request commit access for jyknight
Tue, Sep 17, 2:12 PM

Mon, Sep 16

jyknight added a comment to D67601: TLI: Remove DAG argument from getRegisterByName.

The code is attempting to ensure that you don't use RBP as a global register unless RBP is actually a reserved register (being used as the frame pointer in the function.) That's a reasonable goal, but maybe there's another better way to be doing it.

Mon, Sep 16, 7:37 AM

Sep 13 2019

jyknight created D67573: Fix __atomic_is_lock_free's return type..
Sep 13 2019, 3:01 PM · Restricted Project

Aug 28 2019

jyknight committed rGf025968bccde: Ignore object files that lack coverage information. (authored by jyknight).
Ignore object files that lack coverage information.
Aug 28 2019, 1:36 PM
jyknight committed rL370257: Ignore object files that lack coverage information..
Ignore object files that lack coverage information.
Aug 28 2019, 1:36 PM
jyknight closed D66763: Ignore object files that lack coverage information. Before this change, if multiple binary files were presented, all of them must have been instrumented or the load would fail with coverage_map_error::no_data_found..
Aug 28 2019, 1:36 PM · Restricted Project
jyknight added a comment to D65280: Add a pass to lower is.constant and objectsize intrinsics.

Can we not get the entire thing merged? I'd really like that... I think the patch is actually really close. I have a bunch of comments below but they're all pretty boring in reality.

It's really late in the process -- as in I'm only really waiting for this and one other bug -- so I'm hesitant to take a large change, but I also don't really understand exactly what's at stake here.

Aug 28 2019, 7:40 AM · Restricted Project

Aug 27 2019

jyknight added a comment to D66822: Hardware cache line size builtins.

numbers for cacheline size.

Aug 27 2019, 1:05 PM · Restricted Project

Aug 22 2019

jyknight added a comment to D57450: [RISCV] Set MaxAtomicInlineWidth and MaxAtomicPromoteWidth for RV32/RV64 targets with atomics.

@jyknight I hear where you're coming from. I'll see what I can do about the psABI document.

In that ticket, it's mentioned that the Darwin ABI explicitly says that non-power-of-two atomic types should be padded and realigned, but I cannot find any documentation explaining this. That would be useful, given presumably GCC does have to pad/align on Darwin.

Aug 22 2019, 9:32 AM · Restricted Project, Restricted Project
jyknight added a comment to D57450: [RISCV] Set MaxAtomicInlineWidth and MaxAtomicPromoteWidth for RV32/RV64 targets with atomics.

That GCC and Clang differ in handling of Atomics is a really unfortunate, longstanding issue.

Aug 22 2019, 7:15 AM · Restricted Project, Restricted Project

Aug 20 2019

jyknight accepted D66193: Remove llvm/utils/git/find-rev.

Seems reasonable.

Aug 20 2019, 4:56 PM · Restricted Project

Aug 2 2019

jyknight committed rG383d760ffef9: Fix git-llvm to not delete non-empty directories. (authored by jyknight).
Fix git-llvm to not delete non-empty directories.
Aug 2 2019, 10:11 AM
jyknight committed rL367693: Fix git-llvm to not delete non-empty directories..
Fix git-llvm to not delete non-empty directories.
Aug 2 2019, 10:11 AM
jyknight closed D65416: Fix git-llvm to not delete non-empty directories..
Aug 2 2019, 10:11 AM · Restricted Project
jyknight added a comment to D64830: [Xtensa 4/10] Add basic *td files with Xtensa architecture description..

Doing a websearch for "xtensa isa", I do see that documentation does seem to exist: https://github.com/eerimoq/hardware-reference/blob/master/esp32/xtensa%20Instruction%20Set%20Architecture%20(ISA)%20Reference%20Manual.pdf.

Aug 2 2019, 9:46 AM · Restricted Project

Aug 1 2019

jyknight added a comment to D65582: IR: accept and print numbered %N names for function args.

+1 for doing this. I started looking at fixing this when I modified the printer to print proper labels for numbered basic-blocks (instead of comments), but I didn't do so because of the amount of test churn was off-putting.

Aug 1 2019, 9:02 AM · Restricted Project, Restricted Project
jyknight added a comment to D65280: Add a pass to lower is.constant and objectsize intrinsics.

With this new pass, I think we should be able to remove the code handling the objectsize and is.constant instrinsics in CodegenPrepare, FastISel, SelectionDAGBuilder.cpp, and IRTranslator. Which sure is a nice cleanup.

Aug 1 2019, 8:05 AM · Restricted Project
jyknight added a comment to D65280: Add a pass to lower is.constant and objectsize intrinsics.

I think the pass needs to handle the removal of any remaining llvm.objectsize, as well, so that llvm.is.constant(llvm.objectsize(...)) continues to return true -- even if the object size cannot be determined.

Aug 1 2019, 7:44 AM · Restricted Project

Jul 30 2019

jyknight accepted D64893: Ask confirmation when `git llvm push` will push multiple commits.
Jul 30 2019, 8:15 AM · Restricted Project
jyknight added a comment to D65416: Fix git-llvm to not delete non-empty directories..

.

Jul 30 2019, 8:07 AM · Restricted Project
jyknight added inline comments to D65416: Fix git-llvm to not delete non-empty directories..
Jul 30 2019, 7:35 AM · Restricted Project
jyknight added a comment to D65436: [docs] Add note about git version to git-llvm section.

I don't really want to promise any particular version, because nobody is really checking that particular versions of git work -- the way our scripts continue work with old versions is when developers use them and report a problem. The only real requirement here is "whatever the oldest version someone's actually used recently".

Jul 30 2019, 7:23 AM · Restricted Project, Restricted Project

Jul 29 2019

jyknight accepted D64796: [builtins][test] XFAIL two SPARC tests.

Given the reference to the bug, seems fine to me to commit an xfail here since nobody is actively working to fix this right now.

Jul 29 2019, 2:06 PM · Restricted Project, Restricted Project
jyknight committed rG2fd2f41d2a36: git-llvm: Restore compatibility with git 1.8.3. (authored by jyknight).
git-llvm: Restore compatibility with git 1.8.3.
Jul 29 2019, 2:05 PM
jyknight committed rL367259: git-llvm: Restore compatibility with git 1.8.3..
git-llvm: Restore compatibility with git 1.8.3.
Jul 29 2019, 2:00 PM
jyknight created D65416: Fix git-llvm to not delete non-empty directories..
Jul 29 2019, 1:55 PM · Restricted Project
jyknight added inline comments to D64893: Ask confirmation when `git llvm push` will push multiple commits.
Jul 29 2019, 1:41 PM · Restricted Project
jyknight added a comment to D65192: [Sema] Make -Wbitwise-op-parentheses and -Wlogical-op-parentheses disabled-by-default.

I'm not sure the history behind why these were added as default-on warnings....they don't really seem appropriate as default warnings to me, either.

Jul 29 2019, 1:34 PM · Restricted Project, Restricted Project
jyknight added a comment to D64793: [Driver] Properly use values-X[ca].o, values-xpg[46].o on Solaris.

I fear it is necessary: at least it matches documented behaviour of both the Sun/Oracle Studio compilers and gcc.

Jul 29 2019, 11:16 AM · Restricted Project, Restricted Project

Jul 23 2019

jyknight added a comment to D64793: [Driver] Properly use values-X[ca].o, values-xpg[46].o on Solaris.

Is this really necessary? Users don't typically pass -std= to the driver for linking anyways (what do you even pass if you've compiled both C and C++ code?) so this seems a rather odd way to control behavior.

Jul 23 2019, 8:30 AM · Restricted Project, Restricted Project
jyknight added a comment to D65123: Restore tests for lldb-server and lldb-vscode removed at rL366590.

Thanks for restoring this, but I'm a bit confused how this has happened. My original diff didn't remove these folders, but it seems when I committed the diff via arcanist and git llvm it also removed these other folders. I assume git llvm is when translating the change to SVN not just removing a folder but also all folders in the same directory?

Interesting.. I wouldn't be totally surprised by that as git-llvm does some magic to svn check out only the files/directories that have been modified. Combining that with the different treatment of directories in svn and git (explicit modelling vs. implicit "it exists if it contains a file"), I can see how things might go south in some corner cases like this. But that's just speculation -- I'm generally trying to avoid git-llvm as it is too magical for my taste. Maybe @jyknight or @mehdi_amini can shed more light on this?

Jul 23 2019, 7:21 AM · Restricted Project, Restricted Project
jyknight accepted D64484: [CMake] Add -z defs on Solaris.
Jul 23 2019, 7:09 AM · Restricted Project
jyknight accepted D64496: [compiler-rt][builtins] Provide __clear_cache for SPARC.

The code you reference in GCC is only for trampolines, while this function is used to implement builtin_clear_cache. AFAICT GCC is just wrong to implement this as a no-op.

Jul 23 2019, 7:09 AM · Restricted Project, Restricted Project
jyknight accepted D64487: [clang, test] Fix Clang :: Headers/max_align.c on 64-bit SPARC.

LGTM.

Jul 23 2019, 6:38 AM · Restricted Project

Jul 17 2019

jyknight added a comment to D64875: Add LLVM's LICENSE.txt file to the monorepo root.

I agree, it should have one, especially once we stop supporting separate checkouts, and hopefully can remove redundant copies in other places.

Jul 17 2019, 1:27 PM · Restricted Project

Jul 12 2019

jyknight committed rG8b76e622b389: Fix some minor coding-style issues in git-llvm. (authored by jyknight).
Fix some minor coding-style issues in git-llvm.
Jul 12 2019, 9:43 AM
jyknight committed rG541faedd6675: Allow the 'git-llvm' tool to push to svn from the split repositories for 'test… (authored by jyknight).
Allow the 'git-llvm' tool to push to svn from the split repositories for 'test…
Jul 12 2019, 9:42 AM
jyknight committed rL365918: Fix some minor coding-style issues in git-llvm..
Fix some minor coding-style issues in git-llvm.
Jul 12 2019, 9:41 AM
jyknight committed rL365917: Allow the 'git-llvm' tool to push to svn from the split repositories.
Allow the 'git-llvm' tool to push to svn from the split repositories
Jul 12 2019, 9:40 AM

Jun 13 2019

jyknight added a comment to D63244: Add --undefined-glob which is an --undefined with wildcard pattern match..

Actually linker scripts do support metacharacter escaping (although, it seems lld does not support this correctly, yet).

Jun 13 2019, 8:32 AM · Restricted Project

Jun 5 2019

jyknight added a comment to D62798: Explicitly detect recursive response files.

Comment updates SGTM.

Jun 5 2019, 2:04 PM · Restricted Project
jyknight accepted D62798: Explicitly detect recursive response files.

I like it. Some minor suggestions for a few extra comments, but other than that LGTM.

Jun 5 2019, 11:36 AM · Restricted Project

Jun 4 2019

jyknight committed rGdbb4322e511b: [lldb] Fix out-of-bounds read after c3ea7c66fec021867e005ad1b02f3c7e80feaa85… (authored by jyknight).
[lldb] Fix out-of-bounds read after c3ea7c66fec021867e005ad1b02f3c7e80feaa85…
Jun 4 2019, 8:25 AM
jyknight committed rL362510: [lldb] Fix out-of-bounds read after c3ea7c66fec021867e005ad1b02f3c7e80feaa85.
[lldb] Fix out-of-bounds read after c3ea7c66fec021867e005ad1b02f3c7e80feaa85
Jun 4 2019, 8:24 AM

May 30 2019

jyknight added a comment to D60748: Fix i386 struct and union parameter alignment.

I don't think this was correct (where by "correct", there, I mean "what GCC does", as this patch is intended to match GCC behavior).

May 30 2019, 9:41 AM · Restricted Project
jyknight added a comment to D62035: [AST] const-ify ObjC inherited class search.

I don't really have much to say about this, and the patch is probably fine, but I do note that most of the other accessors on this class also return mutable objects.

May 30 2019, 7:14 AM · Restricted Project

May 23 2019

jyknight added a comment to D62319: IR: add 'byval(<ty>)' variant to 'byval' function parameters.

One of the other suggestions was to pass a _type_ as a parameter to byval. IMO that would be the nicest idea (but I don't know if it's infeasibly difficult?)

May 23 2019, 8:34 AM · Restricted Project
jyknight accepted D60017: [git] Be more specific when looking for llvm-svn.
May 23 2019, 7:05 AM · Restricted Project

May 22 2019

jyknight added a comment to D60017: [git] Be more specific when looking for llvm-svn.

Sorry for dropping this, a couple more comments, then I think it's good.

May 22 2019, 2:39 PM · Restricted Project
jyknight committed rGb2ece169ed60: Add back --sysroot support for darwin header search. (authored by jyknight).
Add back --sysroot support for darwin header search.
May 22 2019, 1:42 PM
jyknight committed rL361429: Add back --sysroot support for darwin header search..
Add back --sysroot support for darwin header search.
May 22 2019, 1:37 PM
jyknight committed rC361429: Add back --sysroot support for darwin header search..
Add back --sysroot support for darwin header search.
May 22 2019, 1:37 PM
jyknight closed D62268: Add back --sysroot support for darwin header search..
May 22 2019, 1:37 PM · Restricted Project
jyknight added a comment to D62268: Add back --sysroot support for darwin header search..

This LGTM.

When I did the refactor, all the code was only using -isysroot (and never accessing --sysroot), so I thought only -isysroot was relevant on Darwin. Seems like I was wrong.

May 22 2019, 1:37 PM · Restricted Project
jyknight created D62268: Add back --sysroot support for darwin header search..
May 22 2019, 1:18 PM · Restricted Project

May 9 2019

jyknight added inline comments to D61267: Update Phabricator.rst.
May 9 2019, 3:17 PM · Restricted Project

May 6 2019

jyknight committed rG1fe312b34b74: PR41183: Don't emit strict-prototypes warning for an implicit function… (authored by jyknight).
PR41183: Don't emit strict-prototypes warning for an implicit function…
May 6 2019, 2:39 PM
jyknight committed rL360084: PR41183: Don't emit strict-prototypes warning for an implicit function.
PR41183: Don't emit strict-prototypes warning for an implicit function
May 6 2019, 2:35 PM
jyknight committed rC360084: PR41183: Don't emit strict-prototypes warning for an implicit function.
PR41183: Don't emit strict-prototypes warning for an implicit function
May 6 2019, 2:35 PM
jyknight closed D59711: PR41183: Don't emit Wstrict-prototypes warning for an implicit function declaration..
May 6 2019, 2:35 PM · Restricted Project

May 2 2019

jyknight added inline comments to D61411: [SelectionDAG] Expand ADD/SUBCARRY.
May 2 2019, 7:30 AM · Restricted Project

Apr 19 2019

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...

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

Ping.

Apr 19 2019, 3:15 PM · Restricted Project

Apr 9 2019

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

Ping.

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

Thanks!

Apr 9 2019, 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.
Apr 9 2019, 2:32 AM
jyknight committed rL357986: Fix siod's gc implementation when used with GLIBC..
Fix siod's gc implementation when used with GLIBC.
Apr 9 2019, 2:20 AM
jyknight closed D60039: Fix the bug of garbage collection of siod..
Apr 9 2019, 2:20 AM · Restricted Project

Apr 8 2019

jyknight accepted D60039: Fix the bug of garbage collection of siod..
Apr 8 2019, 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...)

Apr 8 2019, 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.

Apr 8 2019, 3:22 AM · Restricted Project
jyknight added inline comments to D60017: [git] Be more specific when looking for llvm-svn.
Apr 8 2019, 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.

Apr 8 2019, 2:59 AM · Restricted Project

Apr 6 2019

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

Apr 5 2019

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.

Apr 5 2019, 11:31 AM · Restricted Project

Apr 4 2019

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…
Apr 4 2019, 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…
Apr 4 2019, 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.

Apr 4 2019, 11:58 AM · Restricted Project

Apr 3 2019

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.

Apr 3 2019, 2:03 PM · Restricted Project