Logout succeed
Logout succeed. See you again!

Status of ARM platform support in LLVM and more Anton Korobeynikov PDF
Preview Status of ARM platform support in LLVM and more Anton Korobeynikov
L LV M + A R M = ? Status of ARM platform support in LLVM and more Anton Korobeynikov [email protected] Outline 1. LLVM Compiler Infrastructure 2. Status: 1. Clang 2. Compiler-RT 3. Backend 3. Track, Use & Contribute 4. Interoperability Problems LLVM: What is it? Language independent optimizer and code generator - Many optimizations, many targets - Modern and library-based design LLVM: What is it? Language independent optimizer and code generator - Many optimizations, many targets - Modern and library-based design Clang C/C++/ObjectiveC frontend - Designed for speed, reusability, compatibility with GCC (not only!) extensions - Good also as indexing, analysis, refactoring tool LLVM: other subprojects 1. MC: operations on “machine code” - Assemblers, disassemblers, direct object code emission LLVM: other subprojects 1. MC: operations on “machine code” - Assemblers, disassemblers, direct object code emission 2. LLDB: low level debugger - Command line debugger - Reuses Clang parser, some JIT bits, MC disassemblers LLVM: other subprojects 1. MC: operations on “machine code” - Assemblers, disassemblers, direct object code emission 2. LLDB: low level debugger - Command line debugger - Reuses Clang parser, some JIT bits, MC disassemblers 3. libc++: C++ standard runtime library - Full support for C++11 - Designed for performance Clang: status as of 2.9 1. Production quality C, ObjC, C++, ObjC++ compiler on: • X86 (-32 and -64) • (some) ARM cores Clang: status as of 2.9 1. Production quality C, ObjC, C++, ObjC++ compiler on: • X86 (-32 and -64) • (some) ARM cores 2. Can bootstrap; build Boost, Mozilla, Qt, ... Clang: status as of 2.9 1. Production quality C, ObjC, C++, ObjC++ compiler on: • X86 (-32 and -64) • (some) ARM cores 2. Can bootstrap; build Boost, Mozilla, Qt, ... 3. Builds working base FreeBSD system