New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
LCA14: LCA14-201: 64-bit GNU & LLVM Toolchains Status & Directions
1. Yvan Roux, Renato Golin, Tue-4-Mar, 10:05am
LCA14-201: 64-bit GNU & LLVM
toolchains status report
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. 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. • 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. • 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)
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