[PATCHES] Upstreaming watchOS and tvOS support

Eric Christopher via llvm-commits llvm-commits at lists.llvm.org
Wed Oct 28 11:23:54 PDT 2015


Hi Tim,

Basic idea from a read through sounds ok. As long as the compact unwind
isn't touching generic code in any way that's uncomfortable I'm fine with
post commit :)

-eric

On Wed, Oct 28, 2015 at 10:50 AM Tim Northover via llvm-commits <
llvm-commits at lists.llvm.org> wrote:

> Hi,
>
> I'd like to start upstreaming support for Apple's watchOS and tvOS
> platforms. The more substantial changes are to support watchOS, tvOS
> is mostly just iOS with the freedom to diverge in future.
>
> At the LLVM level, the watchOS ABI is very close to an extension of
> AAPCS-VFP to support 16-byte naturally aligned vectors, increasing the
> required stack alignment to 16 as a result. Exception handling uses a
> new compact unwind format (like ARM64 & x86), falling back to DWARF if
> necessary.
>
> So, I've split the LLVM patches into what I think are reasonably
> self-contained chunks:
>
> 1. Add Triple basic support, with one exercising feature for testing:
> the .watchos_version_min and .tvos_version_min directives.
> 2. Ensure correct libcalls are present on Watch and TV.
> 3. Support generic changes for new watchOS ABI.
> 4. Support watchOS compact unwind format and switch to DWARF as fallback.
> 5. A helper function used by Clang to determine watchOS versions.
>
> The most substantial change that could use looking over is probably
> the compact unwind generation. The rest is pretty obvious and
> straightforward: "grep ios | add watchOS and tvOS".
>
> So are people happy for these to go in? I'm hoping to upload the
> corresponding Clang bits later today.
>
> Cheers.
>
> Tim.
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151028/8983c549/attachment.html>


More information about the llvm-commits mailing list