Home
Reading
Searching
Subscribe
Sponsors
Statistics
Posting
Contact
Spam
Lists
Links
About
Hosting
Filtering
Features Download
Marketing
Archives
FAQ
Blog
 
Gmane
From: James Molloy <James.Molloy-5wv7dgnIgG8 <at> public.gmane.org>
Subject: AArch64 -> ARM64 merge status
Newsgroups: gmane.comp.compilers.llvm.cvs
Date: Friday 25th April 2014 16:59:05 UTC (over 3 years ago)
Hi all,

The AArch64->ARM64 merge is progressing at a rapid pace. Below I have taken
the requirements drawn up in Edinburgh (which were sent to the list for
comment) and annotated them with the current progress.

The TL;DR is that we still have a couple of issues outstanding but we're
well on track for removing AArch64 (and re-bikeshedding ARM64) for the 3.5
release!

Times are incredibly approximate and are in man-days/weeks.


·         Requirement: No regressions

o   Correctness

§  [2w] Regression tests

·         All AArch64 Clang regression tests in Driver/, Sema/, Basic/ and
Preprocessor/ ported. Only those in CodeGen{,CXX}/ left.

·         Most LLVM regression tests ported. A couple of more intricate
tests remain, along with the MC tests which may be a headache to dig
through.

§  [?] QuIC internal tests

·         Nightly runs show 11 test failures. Some compile-time (front-end
issues), link-time and runtime (miscomparison) failures too.

§  [2d] ARM internal tests

·         All our test suites apart from Emperor and Perennial are
passing.

·         Emperor mentioned below, Perennial runs ongoing.

§  [0d] Apple internal tests

·         Tim says we're "looking reasonable" here :)

·         This only blocks a "go/no-go", and there are no actual actions
here at the moment (according to Tim)

§  [DONE] LLVM test suite

§  [1d] MC Hammer

·         One issue with aliasing remains. Patch being sent out to the
list Friday.

§  [3d] Emperor

·         One issue still outstanding. Patch being sent to the list very
shortly.

·         This is a random test suite so has the possibility to uncover
more problems. Our acceptance criterion is 3 days runtime without finding
any bugs.

o   Performance

§  No precise fixed performance baseline

§  [DONE] Investigate significant performance regressions - justify
fix/not fix.

·         No performance blockers reported.


·         Requirement: Feature parity

o   [1-2w] Big endian

§  This comes in two parts. Big endian support with no NEON is almost
completely ported - the last patches are being sent to the list on Friday.

§  NEON support for Big Endian hasn't been committed to AArch64. There's a
whole kettle of fish there, that probably have about 1-2 weeks of effort
left to fix. But this shouldn't be a merge completion blocker.

o   [2d] Support for no fpu/no neon/ no crc

§  Support has been ported, but some regression tests from AArch64 haven't
been ported over to ARM64 yet. There is at least one ISel crash that I can
see, so there's still at least some effort left here.

o   [DONE] A53 scheduler

§  The A53 scheduler has been ported across and ARM64 now has as much of a
schedule as AArch64 does.

o   [DONE-ish] Inline assembly

§  All work done - One patch has seen contention from Eric and Jim so may
have to be reverted. No big deal if it is though.

o   [DONE] Predefines

§  All predefines and driver flags should be correct.

o   [?] Conditionalise cyclone/Darwin

§  Not done yet, but noone's raised any issues about it so perhaps there
isn't much to do!

o   [?] ADRP CSE

§  This optimization, being worked on by Jiangning, has been half ported
to ARM64. But it hasn't been committed to AArch64 yet, so it can't be
considered a merge blocker.

o   [2d] fastcc & guaranteed tail opt

o   [1d?] Post-increment NEON ld/st

§  Kevin is now working on this

Cheers,

James


-- IMPORTANT NOTICE: The contents of this email and any attachments are
confidential and may also be privileged. If you are not the intended
recipient, please notify the sender immediately and do not disclose the
contents to any other person, use it for any purpose, or store or copy the
information in any medium. Thank you.

ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ,
Registered in England & Wales, Company No: 2557590
ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ,
Registered in England & Wales, Company No: 2548782
 
CD: 3ms