View All Jobs 157680

Compiler/debugger Engineer

Improve debug info tracking and formalization in compiler and debugger workflows
London
Senior
22 hours agoBe an early applicant
Apple

Apple

A multinational technology company known for its consumer electronics, software, and online services, including the iPhone, iPad, and Mac computers.

Compiler/Debugger Engineer

Debugging matters — developers spend more time in the debugger than they spend writing new code. Apple's debugger/compiler integration team is looking for individuals who are passionate about improving the debugging experience. This involves work LLVM, the Clang and Swift compiler frontends, the LLDB debugger, and related tools. You will closely collaborate with the Swift and LLVM open source projects.

Our team works at the intersection of compiler and debugger technology: we are responsible for the debugging experience — from generating debug information in our compilers (Clang, Swift, LLVM) all the way to the language plugins in the LLDB debugger. LLDB's unique strength is its powerful expression evaluator that is backed by the actual compiler to JIT expressions typed by the developer into the debugged process and execute them. This flexibility allows LLDB to be used even in contexts outside of traditional debugging: For example, it is also the technology powering the Swift REPL.

Responsibilities

  • In this role, you will take a compiler-centric view at debugging workflows and improve the tracking of debug info in SIL, LLVM IR, and MIR to improve the availability and accuracy of debug info in our compilers. You will work on formalizing the semantics of debug info to make it easier for authors of program transformations to correctly update debug info alongside the code. You will also investigate novel debug info workflows built around LLVM's support for content-addressable storage (CAS) to better support compilation caching and debug info storage formats and distribution. You will get to work on the Swift frontend, on LLVM and LLDB and will work closely with the respective open source communities.

Minimum Qualifications

  • Experience in developing software tools (for example: compilers, debuggers, language runtimes, profilers or binary translation tools)
  • Excellent software engineering, testing, and debugging skills

Preferred Qualifications

  • Strong C++ expertise
  • Experience with serialization formats such as Clang and Swift modules
  • Experience with LLVM, Clang, and LLDB development
  • Experience working with debug info formats like DWARF
  • Experience with contributing to Open Source projects

At Apple, we're not all the same. And that's our greatest strength. We draw on the differences in who we are, what we've experienced and how we think. Because to create products that serve everyone, we believe in including everyone. Therefore, we are committed to treating all applicants fairly and equally. As a registered Disability Confident employer, we will work with applicants to make any reasonable accommodations. Apple will consider for employment all qualified applicants with criminal backgrounds in a manner consistent with applicable law.

+ Show Original Job Post
























Compiler/debugger Engineer
London
Engineering
About Apple
A multinational technology company known for its consumer electronics, software, and online services, including the iPhone, iPad, and Mac computers.