LLVM/GCC Compiler
  • England,East of England,Cambridgeshire
  • full-time
  • Salary negotiable
Job Description:
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.
Job number 1438425
metapel
Company Details:
MicroTECH Global Ltd
Company size:
Industry:
The jobs on site are for both men and women