User Details
- User Since
- Oct 18 2012, 4:53 AM (443 w, 5 d)
Today

Thanks, this should now be just the NFC refactoring, with most clang-tidy/clang-format suggestions applied (I ignored the DWARF one for obvious reasons).

Ping.

Ping.
Wed, Apr 14
Tue, Apr 13
Thanks Amara. Committed with a beefed up comment as 5e3d9fcc3a88.
Tue, Apr 6
Added support for i386 (for the watch simulator). Mostly came for free but some slight issues around swiftself and CSRs.
Thu, Apr 1
Ping.
Ping.
Wed, Mar 31
Looks like a good change to me.
Fri, Mar 26
Wed, Mar 24
Tue, Mar 23
I think this looks reasonable. Preserving Darwin is probably the safest choice, though I don't know if we actually rely on it. If the description is actually the commit message make sure it's updated before committing because this patch does in fact change the Clang side too.
Mon, Mar 22
Ping.
Ping.
Mar 17 2021
Fixed the issue in SelectionDAG too. Not quite identical there, but still fundamentally hinged on exactly where the check should be placed.
Mar 16 2021
We've just discovered there are problems on the SDAG path too for guaranteed tail calls. I'll update the patch once I've got a fix ready.
Mar 8 2021
Mar 4 2021
Thanks, looks good to me.
Ping.
Ping.
Mar 2 2021
Feb 26 2021
I think this is fine.
Looks reasonable to me. If you were really keen you could probably write a MIR test (it complains loudly when an instruction has the wrong regclass), but in reality I think it's unlikely to matter. This isn't exactly a high-traffic part of the backend.
Feb 25 2021
Thanks. I think it looks good too now.
Feb 24 2021
Thanks. LGTM.
Just a rebase really (minor comment & doc changes). Also ping.
In this update:
I doubt it. because when I run test files separately they are passing. The issue occurs when I merge them in a single file.
Feb 22 2021
Please tell me what I am missing now?
Feb 17 2021
The two programs are identical, right? If so, you can put more than one RUN line in a single file to test it. Then use FileCheck --check-prefix=EXEC %s, EXEC: Hello World!.
Ping.
Looks sensible to me.
Feb 12 2021
Spotted a couple of issues over the last week:
Feb 9 2021
Thanks. I think this looks like the best fix we can do now.
We already seem to have shouldSignExtendTypeInLibCall (used in the actual ExpandLibCall this code gets to) and shouldExtendTypeInLibCall (used in another expander I didn't know about). Ideally that's where we'd fix this issue by getting the generic call lowerer to insert a zext (which may be folded again later, if it's a sound transformation). Unfortunately because we only have an i32 when the expansion happens I don't think that's possible.
Feb 8 2021
Thanks Ahmed, committed as c93d50dd7168.
Ping.
- Updated documentation as requested.
- Changed CallSeq_start AArch64 operand so we don't reserve the stack space twice.
Feb 1 2021
Of course, should have spotted that one.
Thanks for applying the suggested fixes. I think I'm happy with it now.
Jan 29 2021
I think this looks good now, modulo Sjoerd's last comment.
Jan 28 2021
Is there a check that this folding doesn't overrun a red-zone if it does exist? If not, fixing that could well lead to a more natural way to solve this (where the bounds being checked are just 0 if there's no red-zone).
Jan 26 2021
Jan 22 2021
Jan 21 2021
- Applied Kristof's FrameLowering suggestion.
- Added IR-level tests for the attribute I'd forgotten about.
Thanks for the questions. I'm quite fuzzy on the Swift side of this I'm afraid, so take my replies with a pinch of salt.
Jan 20 2021
Jan 19 2021
Jan 11 2021
Jan 5 2021
Nice! So iOS will benefit outline atomics too.
Dec 21 2020
Outline atomics were added with gcc 9.3.1 and turned on by default in gcc 10.1. Consequently most of distributions had libgcc with outline atomics already.
Dec 20 2020
Also, even on Linux it seems Clang is inclined to link against libgcc rather than libclang by default (at least that's what my Debian one does). When did these functions get into libgcc? I'm worried that a significant proportion of users there will find themselves having to add extra command-line options (whether disabling this or forcing libclang) to produce binaries.
Sorry, ignore that. Wrong review.
Also, even on Linux it seems Clang is inclined to link against libgcc rather than libclang by default (at least that's what my Debian one does). When did these functions get into libgcc? I'm worried that a significant proportion of users there will find themselves having to add extra command-line options (whether disabling this or forcing libclang) to produce binaries.
As it stands this needs to be a platform-level change. The compiler-rt stuff may now compile outside Linux (thanks!), but the capability detection is still fundamentally Linux (and even glibc) only so nothing else would use it as intended.
Dec 14 2020
Ping.
Dec 11 2020
I think this looks reasonable now.
Dec 10 2020
That's a nice improvement. Still LGTM.
I think this is a reasonable change, inline asm is pretty rare.
Dec 9 2020
LGTM.
Looks fine to me except for one weird quirk that I don't think should be there.
Dec 8 2020
To github.com:llvm/llvm-project.git
c54d827fdb12..c5978f42ec8e main -> main
Ping.
Dec 3 2020
Ping.
Thanks Gerolf. Committed: