lca14: lca14-201: 64-bit gnu & llvm toolchains status & directions
DESCRIPTION
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=4sNVA1d5itwTRANSCRIPT
Yvan Roux, Renato Golin, Tue-4-Mar, 10:05am
LCA14-201: 64-bit GNU & LLVM toolchains status report
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
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.
• 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
• 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)
Your needs...
More about Linaro Connect: http://connect.linaro.orgMore about Linaro: http://www.linaro.org/about/
More about Linaro engineering: http://www.linaro.org/engineering/Linaro members: www.linaro.org/members