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.
ARMv8 – A status
Toolchain Working Group
What we did since LCA'13
●
Libraries
– Boehm gc and libatomic_ops
– libunwind
●
Binutils
– gc sections
– gprof
●
GCC
– Boe...
Ongoing work
●
Libraries
– libdwarf
●
Binutils
– IFUNC
●
GCC
– gprof
– libssp and libasan – blocked due to stack frame
– s...
Stack Frame
local var n
...
local var 1
canary
...
Frame grows upward Frame grows downward
canary
local var 1
...
local va...
What is LRA
●
A replacement of reload
●
What is reload ?
– Checks that each insn after register allocation is valid (opera...
Plans
●
GCC
– LTO and PGO
– libtsan (thread sanitizer)
– memory models
– Bug fixing
Thanks !
Upcoming SlideShare
Loading in …5
×

LCE13: ARMv8 Graphical Stack

727 views

Published on

Resource: LCE13
Name: ARMv8 Graphical Stack
Date: 12-07-2013
Speaker: Thomas Gall
Video: https://www.youtube.com/watch?v=LuAUaXLEqTE

Published in: Technology
  • Be the first to comment

LCE13: ARMv8 Graphical Stack

  1. 1. ARMv8 – A status Toolchain Working Group
  2. 2. What we did since LCA'13 ● Libraries – Boehm gc and libatomic_ops – libunwind ● Binutils – gc sections – gprof ● GCC – Boehm gc integration – Mainline backports
  3. 3. Ongoing work ● Libraries – libdwarf ● Binutils – IFUNC ● GCC – gprof – libssp and libasan – blocked due to stack frame – stack frame – changing the growing direction – LRA (Local Register Allocator)
  4. 4. Stack Frame local var n ... local var 1 canary ... Frame grows upward Frame grows downward canary local var 1 ... local var n ...
  5. 5. What is LRA ● A replacement of reload ● What is reload ? – Checks that each insn after register allocation is valid (operands are in the right register class) and fixes them up – Mostly machine-dependent and tries to do everything at once – More than 25 years old and more than 20 000 LoC – A blocker to new optimization ● LRA – New design of reload – Divides this process in small and separated subtasks – Iterative
  6. 6. Plans ● GCC – LTO and PGO – libtsan (thread sanitizer) – memory models – Bug fixing
  7. 7. Thanks !

×