LLVM/GCC Compiler

Posted 4 April by MicroTECH Global Ltd
Easy Apply

Register and upload your CV to apply with just one click

JOB AD:

We are currently looking for an experienced LLVM/GCC Backend Compiler Engineer to join our team and contribute to the development of innovative software solutions. In this role, you will be responsible for designing, implementing, optimizing, and maintaining the backend components of LLVM and GCC compilers for our cutting-edge hardware.

Key Responsibilities:

  • Design and implement backend components for LLVM and GCC compilers, targeting new or existing instruction set architectures (ISAs).
  • Analyze and optimize generated code for performance, code size, and resource utilization.
  • Develop and maintain target-specific abstractions, data structures, and algorithms for code generation, instruction selection, register allocation, and scheduling.
  • Implement target-specific optimization passes, including peephole optimizations, loop transformations, and instruction fusion.
  • Debug and validate generated code to ensure correctness, working closely with the hardware and software teams to identify and resolve issues.
  • Integrate the new backend into the existing compiler infrastructure, including build systems, continuous integration, and testing frameworks.
  • Collaborate with frontend compiler engineers to support new language features, intrinsics, or built-in functions related to the ISA.
  • Write clear and comprehensive documentation for the new backend, including any target-specific features, optimizations, and limitations.
  • Evaluate and analyze the performance of the generated code on target hardware, identify bottlenecks, and develop strategies to improve performance.
  • Stay current with new developments in LLVM, GCC, and the broader compiler field, and update the backend accordingly to ensure that it remains state-of-the-art.

Required:

  • Bachelor's degree in Computer Science, Computer Engineering, or a related field; advanced degrees preferred.
  • 5+ years of experience working with compiler technologies, specifically in the areas of LLVM and/or GCC backends.
  • Deep understanding of compiler concepts, including intermediate representations, code generation, and optimization techniques.
  • Familiarity with one or more instruction set architectures (ISAs) and their associated hardware.
  • Strong programming skills in C/C++ and experience with compiler development tools, such as debuggers, profilers, and disassemblers.
  • Excellent problem-solving, debugging, and analytical skills.
  • Strong verbal and written communication skills, with the ability to collaborate effectively within a team and with cross-functional teams.

Reference: 50350608

Please note Reed.co.uk does not communicate with candidates via Whatsapp, and we will never ask you to provide your bank, passport or driving licence details during the application process. To stay safe in your job search and flexible work, we recommend visiting JobsAware, a non-profit, joint industry and law enforcement organisation working to combat labour market abuse. Visit the JobsAware website for information and free expert advice for safer work.

Report this job

Not quite what you are looking for? Try these similar searches