Job description
Role title: Compiler Engineer
Icera is seeking a Compiler Engineer to join its programming tools and models team, specifically to enhance our compiler and code generation technologies. The candidate must have prior commercial toolchain development experience, working for a semiconductor or software tools vendor with significant involvement in the porting/enhancement of compiler/linker assembler tools for a commercially available processor.
- knowledge of CPU architecture (pipeline effects, cache behaviour, interrupt mechanisms, bootstrap mechanisms etc.)
- Porting/enhancing GNU C compiler tools (gcc) and GNU binutils (gas, ld, BFD) to new processor targets.
- Experience of advanced register allocation and code scheduling techniques.
- Code generation techniques for non-C source languages (eg using MATLAB to generate assembly language or C).
- Code analysis and tuning (examining compiled and/or hand written assembly language statically, or using pipeline simulator output).
- Determining optimizations/improvements. Working with applications groups to assist in these activities.
- GNU newlib porting experience. Optimization of similar runtime libraries (for codesize/datasize etc)
- Embedded RTOS porting/writing drivers, eg eCOS/Nucleus/pSOS/VxWorks.
Candidates should have:
- Good degree (Computer Science, Electronic Engineering etc.)
- Several years industrial experience involving processor toolchain development, involvement in compiler porting, experience in porting tools such as assemblers, linkers, and experience of tuning tools to application requirements
- Good communication skills, a methodical approach and solid engineering ability.
