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

Recent Activity

Today

jyknight added a comment to D117304: [clang][dataflow] Remove TestingSupport's dependency on gtest.

Users outside of the clang repo may use different googletest versions.

Thu, Jan 20, 8:32 AM · Restricted Project
jyknight added a comment to D117356: InstructionCombining: avoid eliding mismatched alloc/free pairs.

Apologies if I didn't make myself clear. The inlining of the allocator function step is already incorrect. This instcombine bailout is not a desirable direction since it implicitly assumes the earlier allocator inlining is correct but it is not. Whatever attributes would be added in the future should be used for preventing the C++ new/delete from doing any kinds of IPO/IPA (marking them to be deleted is allowed though).

Thu, Jan 20, 6:07 AM · Restricted Project

Yesterday

jyknight added inline comments to D117356: InstructionCombining: avoid eliding mismatched alloc/free pairs.
Wed, Jan 19, 1:49 PM · Restricted Project
jyknight added a comment to D117356: InstructionCombining: avoid eliding mismatched alloc/free pairs.

Ah, @jyknight bailed me out. That's https://github.com/llvm/llvm-project/issues/40384 which looks related, yes. I suspect that would be resolved by this patch.

Agreed that this patch could fix it. However, the underlying issue is that the mismatch is generated by LLVM itself. IMHO preventing the mismatch is a better approach (which D97735 would do, I think we should land that instead. @rsmith (thought?)

Wed, Jan 19, 12:34 PM · Restricted Project
jyknight added a comment to D116913: [lld-macho] Add --start-lib --end-lib.

Sorry I didn't see to comment on this before, but I'm also skeptical about introducing a new concept of stateful options to this command-line syntax.

Wed, Jan 19, 11:51 AM · Restricted Project, Restricted Project

Fri, Jan 14

jyknight added a reverting change for rGa4e255f9c6d4: Skip exception cleanups when the innermost scope is EHTerminateScope.: rG0d3f2fd26940: Revert "Skip exception cleanups when the innermost scope is EHTerminateScope.".
Fri, Jan 14, 4:00 PM
jyknight committed rG0d3f2fd26940: Revert "Skip exception cleanups when the innermost scope is EHTerminateScope." (authored by jyknight).
Revert "Skip exception cleanups when the innermost scope is EHTerminateScope."
Fri, Jan 14, 4:00 PM
jyknight added a reverting change for D113620: Skip exception cleanups when the innermost scope is EHTerminateScope.: rG0d3f2fd26940: Revert "Skip exception cleanups when the innermost scope is EHTerminateScope.".
Fri, Jan 14, 3:59 PM · Restricted Project
jyknight committed rGa4e255f9c6d4: Skip exception cleanups when the innermost scope is EHTerminateScope. (authored by jyknight).
Skip exception cleanups when the innermost scope is EHTerminateScope.
Fri, Jan 14, 3:03 PM
jyknight committed rGca88becc614f: Regenerate some autogenerated test files ahead of modifying them. (authored by jyknight).
Regenerate some autogenerated test files ahead of modifying them.
Fri, Jan 14, 3:03 PM
jyknight closed D113620: Skip exception cleanups when the innermost scope is EHTerminateScope..
Fri, Jan 14, 3:02 PM · Restricted Project
jyknight added inline comments to D117356: InstructionCombining: avoid eliding mismatched alloc/free pairs.
Fri, Jan 14, 2:42 PM · Restricted Project
jyknight committed rG3bd1ff9a2327: Fix NDEBUG unused-variable warning after… (authored by jyknight).
Fix NDEBUG unused-variable warning after…
Fri, Jan 14, 1:16 PM

Thu, Jan 13

jyknight added a reverting change for rG07ddfa95e3b5: GlobalISel: Add G_ASSERT_ALIGN hint instruction: rGa97e20a3a8a5: Revert "GlobalISel: Add G_ASSERT_ALIGN hint instruction".
Thu, Jan 13, 9:02 PM
jyknight added a reverting change for rG3d2d208f6a0a: IR: Make getRetAlign check callee function attributes: rGa97e20a3a8a5: Revert "GlobalISel: Add G_ASSERT_ALIGN hint instruction".
Thu, Jan 13, 9:02 PM
jyknight added a reverting change for rG4f414af6a77c: Fix MSVC "32-bit shift implicitly converted to 64 bits" warning. NFC.: rGa97e20a3a8a5: Revert "GlobalISel: Add G_ASSERT_ALIGN hint instruction".
Thu, Jan 13, 9:02 PM
jyknight added a reverting change for rGa5507d2e253a: Fix MSVC "32-bit shift implicitly converted to 64 bits" warning. NFC.: rGa97e20a3a8a5: Revert "GlobalISel: Add G_ASSERT_ALIGN hint instruction".
Thu, Jan 13, 9:02 PM
jyknight committed rGa97e20a3a8a5: Revert "GlobalISel: Add G_ASSERT_ALIGN hint instruction" (authored by jyknight).
Revert "GlobalISel: Add G_ASSERT_ALIGN hint instruction"
Thu, Jan 13, 9:02 PM
jyknight added a reverting change for rG7ce48be0fd83: [LV] Inline CreateSplatIV call for scalar VFs (NFC).: rG073c27b5e585: Revert "[LV] Inline CreateSplatIV call for scalar VFs (NFC).".
Thu, Jan 13, 4:06 PM
jyknight committed rG073c27b5e585: Revert "[LV] Inline CreateSplatIV call for scalar VFs (NFC)." (authored by jyknight).
Revert "[LV] Inline CreateSplatIV call for scalar VFs (NFC)."
Thu, Jan 13, 4:06 PM
jyknight accepted D115253: [C2x] Support the *_WIDTH macros in limits.h and stdint.h.

Accepting assuming the last comment will be addressed before pushing. Thanks!

Thu, Jan 13, 8:03 AM · Restricted Project

Wed, Jan 12

jyknight added a reverting change for D115545: [Inline] Attempt to delete any discardable if unused functions: rG55fcbf0a8489: Revert "[Inline] Attempt to delete any discardable if unused functions".
Wed, Jan 12, 7:07 PM · Restricted Project
jyknight added a reverting change for rGd5be48c66d3e: [Inline] Attempt to delete any discardable if unused functions: rG55fcbf0a8489: Revert "[Inline] Attempt to delete any discardable if unused functions".
Wed, Jan 12, 7:07 PM
jyknight committed rG55fcbf0a8489: Revert "[Inline] Attempt to delete any discardable if unused functions" (authored by jyknight).
Revert "[Inline] Attempt to delete any discardable if unused functions"
Wed, Jan 12, 7:07 PM
jyknight added a comment to D115545: [Inline] Attempt to delete any discardable if unused functions.

This seems to cause a reproducible infinite loop inside the inliner on some inputs. I haven't narrowed down a repro case yet, but I'm going to revert this in the meantime.

Wed, Jan 12, 7:06 PM · Restricted Project
jyknight committed rGd1021978b8e7: Omit "clang" from CHECK lines. (authored by jyknight).
Omit "clang" from CHECK lines.
Wed, Jan 12, 1:19 PM
jyknight added inline comments to D115253: [C2x] Support the *_WIDTH macros in limits.h and stdint.h.
Wed, Jan 12, 9:53 AM · Restricted Project

Tue, Jan 11

jyknight added inline comments to D115253: [C2x] Support the *_WIDTH macros in limits.h and stdint.h.
Tue, Jan 11, 2:13 PM · Restricted Project
jyknight committed rG228dfc092751: Fix bazel build after f77d115cc136585f39d30a78c741eb296f9e804d. (authored by jyknight).
Fix bazel build after f77d115cc136585f39d30a78c741eb296f9e804d.
Tue, Jan 11, 11:32 AM
jyknight committed rG0a6f1c5f972a: Fix bazel build after 8503c688d555014b88849e933bf096035a351586. (authored by jyknight).
Fix bazel build after 8503c688d555014b88849e933bf096035a351586.
Tue, Jan 11, 9:43 AM
jyknight accepted D115688: [SelectionDAG] treat X constrained labels as i for asm.
Tue, Jan 11, 7:54 AM · Restricted Project
jyknight accepted D116424: [ShrinkWrap] check for PPC's non-callee-saved LR.
Tue, Jan 11, 7:53 AM · Restricted Project

Mon, Jan 10

jyknight added inline comments to D116424: [ShrinkWrap] check for PPC's non-callee-saved LR.
Mon, Jan 10, 2:56 PM · Restricted Project
jyknight committed rG39f75ab6a7e3: Fix unused-variable warnings after d0ee094d6acf72608e927bf2e9ba69c57da59a96. (authored by jyknight).
Fix unused-variable warnings after d0ee094d6acf72608e927bf2e9ba69c57da59a96.
Mon, Jan 10, 8:29 AM

Fri, Jan 7

jyknight accepted D116059: [Clang][CFG] check children statements of asm goto.
Fri, Jan 7, 12:26 PM · Restricted Project
jyknight added inline comments to D116424: [ShrinkWrap] check for PPC's non-callee-saved LR.
Fri, Jan 7, 12:07 PM · Restricted Project
jyknight accepted D115311: [clang][CGStmt] emit i constraint rather than X for asm goto indirect dests.
Fri, Jan 7, 12:02 PM · Restricted Project, Restricted Project
jyknight accepted D115410: [llvm][test] rewrite callbr to use i rather than X constraint NFC.
Fri, Jan 7, 11:50 AM · Restricted Project, Restricted Project
jyknight added a comment to D115688: [SelectionDAG] treat X constrained labels as i for asm.

LG, with a few minor comments.

Fri, Jan 7, 11:46 AM · Restricted Project

Dec 16 2021

jyknight added inline comments to D115410: [llvm][test] rewrite callbr to use i rather than X constraint NFC.
Dec 16 2021, 3:05 PM · Restricted Project, Restricted Project
jyknight added inline comments to D115688: [SelectionDAG] treat X constrained labels as i for asm.
Dec 16 2021, 2:56 PM · Restricted Project

Dec 15 2021

jyknight added a comment to D114523: [compiler-rt][AArch64] Add a workaround for Exynos 9810.

It was noted in other discussions that problems have only been reported on the Galaxy S9 and S9+ devices, running older versions of the device firmware (based on Android 8). Although I have no first-hand knowledge, presumably the kernel in the more recent builds has been updated to (correctly) not report HWCAP_ATOMICS as available.

Dec 15 2021, 10:08 AM · Restricted Project, Restricted Project

Dec 14 2021

jyknight added inline comments to D115253: [C2x] Support the *_WIDTH macros in limits.h and stdint.h.
Dec 14 2021, 9:54 AM · Restricted Project

Dec 13 2021

jyknight added inline comments to D115410: [llvm][test] rewrite callbr to use i rather than X constraint NFC.
Dec 13 2021, 3:13 PM · Restricted Project, Restricted Project
jyknight added a comment to D115311: [clang][CGStmt] emit i constraint rather than X for asm goto indirect dests.

This looks reasonable to me, but I'd like to wait for a conclusion on D115409 first. (Which probably will result in rewriting the commit message, as well).

Dec 13 2021, 2:59 PM · Restricted Project, Restricted Project
jyknight added a comment to D115410: [llvm][test] rewrite callbr to use i rather than X constraint NFC.

This looks good to me, but I'd like to wait for a conclusion on D115409 first.

Dec 13 2021, 2:46 PM · Restricted Project, Restricted Project
jyknight added a comment to D115409: [SelectionDAGBuilder] drop special handling for CallBr.

OK, I do think that special case definitely needs to be deleted. It's assuming that the block args are in a particular place in the argument list of the callbr -- the place Clang put them -- and then assigned special behavior based on that location. But I think it shouldn't do so -- they should be able to placed anywhere in the arglist.

Dec 13 2021, 2:44 PM · Restricted Project, Restricted Project

Dec 9 2021

jyknight added a comment to D115471: [clang] number labels in asm goto strings after tied inputs.

It's rather sad that GCC made the quite-unintuitive decision to number the arguments in this way -- LONG AFTER clang had already implemented the other way...

Dec 9 2021, 5:20 PM · Restricted Project
jyknight added a comment to D114895: [SelectionDagBuilder] improve CallBrInst BlockAddress constraint handling.

The current design allows you to use blockaddress constants in code outside the asm goto to compute the destination of an asm goto, I think? At least, the IR definition looks like it allows that; not sure how well it works in practice.

Dec 9 2021, 3:14 PM · Restricted Project
jyknight added a comment to D87279: [clang] Fix handling of physical registers in inline assembly operands..

This change seems like it's done in the wrong layer -- why do we add a special-case in Clang to emit "={r11},{r11}", instead of fixing LLVM to not break when given the previously-output "={r11},0"?

Dec 9 2021, 5:48 AM · Restricted Project

Dec 7 2021

jyknight accepted D115115: [doc] Fix namespace comment style in Coding Guidelines.

Correcting the examples to match the style emitted automatically by our tooling is an improvement.

Dec 7 2021, 5:29 AM · Restricted Project

Nov 22 2021

jyknight added a comment to D100879: [Clang] Propagate guaranteed alignment for malloc and others .

I think this patch was wrong -- we should not be assuming 16-byte alignment for an allocation smaller than 16 bytes.

Nov 22 2021, 7:54 AM · Restricted Project

Nov 10 2021

jyknight requested review of D113620: Skip exception cleanups when the innermost scope is EHTerminateScope..
Nov 10 2021, 2:46 PM · Restricted Project
jyknight committed rGfddc4e41164e: Correct handling of the 'throw()' exception specifier in C++17. (authored by jyknight).
Correct handling of the 'throw()' exception specifier in C++17.
Nov 10 2021, 2:44 PM
jyknight closed D113517: Correct handling of the 'throw()' exception specifier in C++17..
Nov 10 2021, 2:44 PM · Restricted Project
jyknight added a comment to D113517: Correct handling of the 'throw()' exception specifier in C++17..

This change allows those future optimizations to apply to throw() as well, in C++17 mode, which is the desirable outcome.

I see. It seems inconsistent that throw(X) would still call unexpected but that throw() would call terminate, but I suppose in the throw() case there is really not much interesting that an unexpected_handler can do other than (take some logging action and) terminate the program -- in particular, it can't do exception translation. So maybe the inconsistency is not a big deal, and it's more important to get the better code generation, especially given how rare throw(X) is compared to throw(). OK, I think I'm convinced that this is the best direction.

Nov 10 2021, 2:44 PM · Restricted Project
jyknight added a comment to D113517: Correct handling of the 'throw()' exception specifier in C++17..

What's the motivation for this change? I believe the current behavior is still conforming: set_unexpected is no longer (officially) part of the standard library (though it still exists as a zombie name), and the default unexpected handler calls terminate, so calling unexpected rather than terminate should have the same effect, except in non-conforming programs that call std::set_unexpected anyway (and for such programs, calling unexpected seems like the behavior the programmer would expect). Do we generate better code if we call terminate rather than unexpected?

Nov 10 2021, 7:33 AM · Restricted Project

Nov 9 2021

jyknight requested review of D113517: Correct handling of the 'throw()' exception specifier in C++17..
Nov 9 2021, 2:01 PM · Restricted Project
jyknight committed rG50082e1882ae: Fix test after aee49255074fd4ef38d97e6e70cbfbf2f9fd0fa7. (authored by jyknight).
Fix test after aee49255074fd4ef38d97e6e70cbfbf2f9fd0fa7.
Nov 9 2021, 2:00 PM

Oct 27 2021

jyknight added inline comments to D112400: [clang][compiler-rt][atomics] Add `__c11_atomic_fetch_nand` builtin and support `__atomic_fetch_nand` libcall.
Oct 27 2021, 6:10 AM · Restricted Project, Restricted Project

Oct 7 2021

jyknight accepted D111291: [MIRParser] Add support for IsInlineAsmBrIndirectTarget.
Oct 7 2021, 7:33 AM · Restricted Project

Oct 4 2021

jyknight added a comment to D79794: Change the INLINEASM_BR MachineInstr to be a non-terminating instruction..

The design was already messed up before INLINEASM_BR for exception handling.

Oct 4 2021, 2:05 PM · Restricted Project

Sep 13 2021

jyknight accepted D108243: Put code that avoids heapifying local blocks behind a flag.
Sep 13 2021, 4:06 PM · Restricted Project
jyknight added a comment to D108243: Put code that avoids heapifying local blocks behind a flag.

Added driver flags, and tests for them

Sep 13 2021, 10:14 AM · Restricted Project

Aug 30 2021

jyknight added a comment to D108389: [libc++] Bypass calling exception-throwing functions in the dylib with -fno-exceptions.

The only two classes that have this behavior are std::string and std::vector. All other classes define their exception-throwing functions in the headers, so they end up calling abort() directly. That looks accidental to me, and not really something we'd want to consider a contract with our users. WDYT?

Aug 30 2021, 3:33 PM · Restricted Project

Aug 26 2021

jyknight added a comment to D108243: Put code that avoids heapifying local blocks behind a flag.

Ping. Any comment from Apple folks?

Aug 26 2021, 10:28 AM · Restricted Project

Aug 24 2021

jyknight added inline comments to D108643: Introduce _BitInt, deprecate _ExtInt.
Aug 24 2021, 6:03 PM · Restricted Project, Restricted Project
jyknight added a comment to D108389: [libc++] Bypass calling exception-throwing functions in the dylib with -fno-exceptions.

To answer your question more directly, the goal here in terms of behavior is to ensure that a TU using std::vector::at (and friends) under -fno-exceptions doesn't rely on a weak-def symbol located in the dylib -- which it technically doesn't need cause all we do is abort() anyway.

Aug 24 2021, 3:33 PM · Restricted Project

Aug 20 2021

jyknight added a comment to D106577: [clang] Define __STDC_ISO_10646__.

I don't think that scenario is valid. MBCS-to-unicode mappings are a part of the definition of the MBCS (sometimes officially, sometimes de-facto defined by major vendors), not in the definition of Unicode.

Isn't that scenario basically the one we're in today where the compiler is unaware of what mappings the library provides?

Aug 20 2021, 10:28 PM · Restricted Project, Restricted Project

Aug 17 2021

jyknight added a comment to D58514: Avoid needlessly copying blocks that initialize or are assigned to local auto variables to the heap.

I've gone ahead and created a revert review: https://reviews.llvm.org/D108243

Aug 17 2021, 2:31 PM · Restricted Project
jyknight added a reverting change for rGc5792aa90fa4: Avoid needlessly copying a block to the heap when a block literal initializes a…: D108243: Put code that avoids heapifying local blocks behind a flag.
Aug 17 2021, 2:30 PM
jyknight requested review of D108243: Put code that avoids heapifying local blocks behind a flag.
Aug 17 2021, 2:30 PM · Restricted Project

Aug 16 2021

jyknight added a comment to D58514: Avoid needlessly copying blocks that initialize or are assigned to local auto variables to the heap.

It appears as though this commit was reverted in Apple's XCode Clang fork -- the behavior currently in XCode matches the behavior of upstream Clang prior to this patch. Presuming that's correct, I think we should revert this upstream as well. There doesn't seem to be a good reason to have the semantics of blocks differ between Apple's clang and upstream clang.

Aug 16 2021, 7:00 PM · Restricted Project

Aug 13 2021

jyknight added a comment to D106577: [clang] Define __STDC_ISO_10646__.

One specific example I'd like to be considered:
Suppose the C standard library implementation's mbstowcs converts a certain multi-byte character C to somewhere in the Unicode private use area, because Unicode version N doesn't have a corresponding character. Suppose further that the compiler is aware of Unicode version N+1, in which a character corresponding to C was added. Is an implementation formed by that combination of compiler and standard library, that defines __STDC_ISO_10646__ to N+1, conforming? Or is it non-conforming because it represents character C as something other than the corresponding short name from Unicode version N+1?

And David Keaton (long-time WG14 member and current convener) replied:

Yikes! It does indeed sound like the library would affect the value of __STDC_ISO_10646__ in that case. Thanks for clarifying the details.

There was no further discussion after that point, so I think the unofficial WG14 stance is that the compiler and the library need to collude on setting the value of that macro.

Aug 13 2021, 8:09 AM · Restricted Project, Restricted Project

Aug 8 2021

jyknight closed D106127: [NFC][AssemblyWriter]Allow AssemblyWriter::printBasicBlock() to print blocks that don't have parents..

This was committed in fbd3bb4365e145a5033fdeea0ede978304d22d68.

Aug 8 2021, 8:33 PM · Restricted Project

Jul 27 2021

jyknight committed rG3d272eea08b1: Fix test/Transforms/LoopVectorize/AArch64/strict-fadd-vf1.ll. (authored by jyknight).
Fix test/Transforms/LoopVectorize/AArch64/strict-fadd-vf1.ll.
Jul 27 2021, 3:33 PM
jyknight added a comment to D106577: [clang] Define __STDC_ISO_10646__.

BTW, looks like the standard wording came from:
http://www.open-std.org/jtc1/sc22/wg14/www/docs/dr_273.htm

Jul 27 2021, 8:01 AM · Restricted Project, Restricted Project

Jul 26 2021

jyknight added a comment to D106577: [clang] Define __STDC_ISO_10646__.

One benefit we don't get with this approach is providing the right value for the macro (without paying the cost of always including stdc-predefs.h).

Jul 26 2021, 2:56 PM · Restricted Project, Restricted Project
jyknight added a comment to D106577: [clang] Define __STDC_ISO_10646__.

Perhaps a reasonable path forward here to address the BSD issue can be to add a targetinfo method:

/* Returns true if the expected encoding of wchar_t changes at runtime
   depending on locale for this target.
   Note that clang always encodes wide character literals as utf16/utf32,
   regardless. */
bool usesDynamicWCharEncoding();

which returns false by default, and true for FreeBSD, NetBSD, OpenBSD, and Solaris. Then, the condition for setting this define can be if(TI.getWCharWidth() >= 32 && !TI.usesDynamicWcharEncoding()).

Jul 26 2021, 9:53 AM · Restricted Project, Restricted Project

Jul 23 2021

jyknight added a comment to D106577: [clang] Define __STDC_ISO_10646__.

I think this patch as it stands would cause problems with libc implementations that put their #define somewhere other than than stdc-predef.h (eg, older versions of glibc that put it in features.h or other standard libraries that put it in yvals.h) due to the macro redefinition with a conflicting expansion. Such implementations are non-conforming but certainly exist. Likewise it could break the build for the same reason if we start implicitly including stdc-predef.h at some point. So I think that blindly predefining this macro will prove problematic in at least some circumstances.

Jul 23 2021, 8:21 PM · Restricted Project, Restricted Project
jyknight added a comment to D106577: [clang] Define __STDC_ISO_10646__.

Even after the more recent discussion, I still think my initial message was incorrect, and that the compiler should be defining this macro itself, as proposed in this patch. Note that my confusion was not that the macro being defined or not was dependent on libc behavior, only the precise value it should be defined to.

Jul 23 2021, 11:48 AM · Restricted Project, Restricted Project

Jul 22 2021

jyknight added a comment to D106577: [clang] Define __STDC_ISO_10646__.

I'm not sure we should be populating this.

The _value_ is determined by what libc supports, so it probably needs to be left up to libc to define it.

Why is the value determined by what libc supports? The definition from the standard is:

If this symbol is defined, then every character in the Unicode required set, when stored in an
object of type wchar_t, has the same value as the short identifier of that character.

That doesn't seem to imply anything about the library, just the size of wchar_t.

Jul 22 2021, 1:00 PM · Restricted Project, Restricted Project
jyknight added a comment to D106577: [clang] Define __STDC_ISO_10646__.

I'm not sure we should be populating this.

Jul 22 2021, 12:18 PM · Restricted Project, Restricted Project

Jul 20 2021

jyknight accepted D106127: [NFC][AssemblyWriter]Allow AssemblyWriter::printBasicBlock() to print blocks that don't have parents..

Please make sure to update the description to match the new code before committing.

Jul 20 2021, 2:40 PM · Restricted Project
jyknight added inline comments to D106127: [NFC][AssemblyWriter]Allow AssemblyWriter::printBasicBlock() to print blocks that don't have parents..
Jul 20 2021, 1:20 PM · Restricted Project

Jul 15 2021

jyknight added a comment to D103935: Add Twine support for std::string_view..

This patch causes segmentation faults when you have an application compiled with -std=c++17 (The current gcc default) and libLLVM.so compiled with c++14 (The current LLVM project default). Is this a valid use case or do we require that all library users use the same c++ version as the library.

Jul 15 2021, 5:52 AM · Restricted Project

Jul 9 2021

jyknight added inline comments to D103465: [OpaquePtr] Track pointee types in Clang.
Jul 9 2021, 10:57 AM · Restricted Project

Jul 7 2021

jyknight added a comment to D104500: [clang] Apply P1825 as Defect Report from C++11 up to C++20..

This commit seems to have broken libc++ in C++98 mode, as it appears to have depended upon the implicit-move extension.

Jul 7 2021, 3:57 PM · Restricted Project
jyknight updated subscribers of D104500: [clang] Apply P1825 as Defect Report from C++11 up to C++20..
Jul 7 2021, 3:48 PM · Restricted Project
jyknight added a comment to D105142: RFC: Implementing new mechanism for hard register operands to inline asm as a constraint..

This code doesn't handle multiple alternatives in a constraint.

Jul 7 2021, 11:41 AM · Restricted Project

Jun 23 2021

jyknight added a comment to D97224: Use Address for CGBuilder's CreateAtomicRMW and CreateAtomicCmpXchg..

Ping. I think this is correct, and would like to commit.

Jun 23 2021, 9:39 AM · Restricted Project

Jun 10 2021

jyknight accepted D103833: [demangler] Fix demangling of 'half'.

(I note the new behavior also matches gcc)

Jun 10 2021, 9:03 AM · Restricted Project, Restricted Project
jyknight added a comment to D103833: [demangler] Fix demangling of 'half'.

A git diff generally has an extraneous path component [ab] first, e.g. your diff should look like this:

diff --git a/libcxxabi/src/demangle/ItaniumDemangle.h b/libcxxabi/src/demangle/ItaniumDemangle.h
index 4e3af0cb2649..78035c38ee50 100644
--- a/llvm/include/llvm/Demangle/ItaniumDemangle.h
+++ b/llvm/include/llvm/Demangle/ItaniumDemangle.h
Jun 10 2021, 5:46 AM · Restricted Project, Restricted Project

Jun 9 2021

jyknight accepted D103338: Rename MachineMemOperand::getOrdering -> getSuccessOrdering..
Jun 9 2021, 4:03 PM · Restricted Project
jyknight added a comment to D103833: [demangler] Fix demangling of 'half'.

The pre-merge check failures relating to the failure to include "ItaniumDemangle.h" seem confusing to me. I cannot see how they would be caused by this change, itself: this looks on the surface to be a problem with the CI. Do I need to do anything about this?

Jun 9 2021, 4:02 PM · Restricted Project, Restricted Project
jyknight accepted D103987: Start tracking Clang's C implementation status.

Sounds like a great plan to me.

Jun 9 2021, 2:54 PM · Restricted Project

Jun 8 2021

jyknight added a comment to D103495: [static initializers] Emit global_ctors and global_dtors in reverse order when .ctors/.dtors are used..

Won't this change cause weird effects with LTO, when you're merging multiple TUs' global_ctors arrays before emitting? Won't this end up reversing the order of the files, as well as the order of the functions within a single file? That does not seem likely to be expected, right?

Jun 8 2021, 11:05 AM · Restricted Project

Jun 3 2021

jyknight added inline comments to D101835: [llvm] llvm-tapi-diff.
Jun 3 2021, 7:48 PM · Restricted Project

Jun 2 2021

jyknight committed rG2541075c22ae: Fix llvm/test/tools/llvm-dwp/X86/type_dedup_v5.test (authored by jyknight).
Fix llvm/test/tools/llvm-dwp/X86/type_dedup_v5.test
Jun 2 2021, 5:30 PM

May 28 2021

jyknight added inline comments to D103284: [AArch64][RISCV] Make sure isel correctly honors failure orderings..
May 28 2021, 5:51 AM · Restricted Project