- Company Name
- 5V Tech | Certified B Corp™
- Job Title
- Compiler Engineer
- Job Description
-
**Job Title:** Compiler Engineer (LLVM/Clang)
**Role Summary:**
Design, implement, and maintain production‑grade LLVM/Clang compiler components, with a focus on backend/code‑generation for RISC‑V targets and upstream contributions.
**Expectations:**
- Deliver reliable, optimized compiler features for real workloads.
- Participate in RFCs, patches, and reviews for LLVM/Clang.
- Estimate effort and provide technical guidance to customers.
**Key Responsibilities:**
- Implement and optimize backend passes (instruction selection, register allocation, scheduling, lowering) for LLVM targets, emphasizing RISC‑V.
- Extend and maintain Clang front‑end and tooling (attributes, builtins, diagnostics, driver).
- Develop and tune middle‑end IR passes (vectorization, loop optimizations, inlining, PGO/LTO workflows).
- Add and validate target features (ISA extensions, relocations, TLS models, ABIs, calling conventions).
- Profile and optimize workloads using perf, VTune, and hardware counters.
- Contribute upstream code, RFCs, patches, and reviews.
- Work closely with customers to understand requirements and produce accurate effort estimates.
**Required Skills:**
- Proven professional experience with LLVM/Clang, especially backend or code‑generation.
- Strong C/C++ systems programming; deep understanding of IR, SSA, analysis, and passes.
- Solid grasp of computer architecture fundamentals (pipelines, memory models, caches, atomics).
- Proficiency with Unix toolchains, CMake/Ninja, git, and collaborative code-review processes.
- Experience profiling and optimizing real workloads.
- RISC‑V architecture expertise; additional experience with MLIR, sanitizers, LLD, libc++, PGO/LTO, or embedded/cross‑compilation considered a plus.
**Required Education & Certifications:**
- Bachelor’s or Master’s degree in Computer Science, Electrical Engineering, or related field (or equivalent professional experience).
- No mandatory certifications; strong portfolio of LLVM contributions or open‑source work preferred.