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

381 views
289 views

Published on


Resource: LCA14
Name: LCA14-201: 64-bit GNU & LLVM Toolchains Status & Directions
Date: 04-03-2014
Speaker: Yvan Roux and Renato Golin
Video: https://www.youtube.com/watch?v=4sNVA1d5itw

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
381
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
14
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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 • http://llvm.org/PR18892 LLVM (the fine print)
  6. 6. Your needs...
  7. 7. More about Linaro Connect: http://connect.linaro.org More about Linaro: http://www.linaro.org/about/ More about Linaro engineering: http://www.linaro.org/engineering/ Linaro members: www.linaro.org/members

×