Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

LCA14: LCA14-201: 64-bit GNU & LLVM Toolchains Status & Directions


Published on

Resource: LCA14
Name: LCA14-201: 64-bit GNU & LLVM Toolchains Status & Directions
Date: 04-03-2014
Speaker: Yvan Roux and Renato Golin

Published in: Technology
  • Be the first to comment

  • Be the first to like this

LCA14: LCA14-201: 64-bit GNU & LLVM Toolchains Status & Directions

  1. 1. Yvan Roux, Renato Golin, Tue-4-Mar, 10:05am LCA14-201: 64-bit GNU & LLVM toolchains status report
  2. 2. GNU Toolchain Available in Linaro releases. Status of FSF releases GCC 4.9, Binutils 2.24, Glibc 2.19 (16 months since the initial port upstreaming) New features: • Core extensions (Crypto, CRC) • Big-endian • Tiny code model (partial) • ILP32 data model (experimental) • Boehm garbage collector • GNU indirect functions (ifunc) • Stack-smashing protector (libssp) • Performance analysis (gprof) • Sections garbage collector (Binutils) • Pointer encryption (glibc) New Front-ends: • Java • Go
  3. 3. Improvements: • ISA coverage • Intrinsics support • Atomics (all memory models) • Simd/NEON • Auto-vectorization • Cost model • Tuning (Cortex-A53, Cortex-A57, big.LITTLE) • LRA (modern replacement of reload) • Optimized string functions (glibc) On-going work: • Address sanitizer (libasan) • committed on LLVM trunk • will be in GCC 4.10 • Profile Guided Optimization (PGO) GNU Toolchain Available in Linaro releases.
  4. 4. • Scalar and NEON instruction set complete • NEON/Crypto enabled by default (except soft-float) • EH should be working, but not thoroughly tested • Data Model: LP64 only • Atomics: • seq_cst, acquire, release, relaxed • no consume model yet • Tuning: Nothing yet • Tests: PlumHall, SPEC, EEMBC, Coremark, PCS tests • LLVM Test-suite: used to pass, regressed a bit lately • Auto-vectorization disabled for now • MCJIT should be working, no thorough tests done LLVM
  5. 5. • Last week CMake native builds were added • ignored some old JIT tests • ARM fixed some vararg failures • fixed endiannes detection in test-suite • Bugs in the test-suite • hash mismatch in sphereflake • Some NEON intrinsics still have trouble compiling • LLVM (the fine print)
  6. 6. Your needs...
  7. 7. More about Linaro Connect: More about Linaro: More about Linaro engineering: Linaro members: