+ All Categories
Home > Technology > LCA14: LCA14-201: 64-bit GNU & LLVM Toolchains Status & Directions

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

Date post: 18-Nov-2014
Category:
Upload: linaro
View: 289 times
Download: 0 times
Share this document with a friend
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=4sNVA1d5itw
7
Yvan Roux, Renato Golin, Tue-4-Mar, 10:05am LCA14-201: 64-bit GNU & LLVM toolchains status report
Transcript
Page 1: LCA14: LCA14-201: 64-bit GNU & LLVM Toolchains Status & Directions

Yvan Roux, Renato Golin, Tue-4-Mar, 10:05am

LCA14-201: 64-bit GNU & LLVM toolchains status report

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

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

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

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.

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

• 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

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

• 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)

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

Your needs...

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

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


Recommended