Russell C. Hadley

SUMMARY

Compiler backend & language designer with demonstrated experience in implementing and delivering production quality development tools optimized for unique problems and platforms.

PROFESSIONAL ACCOMPLISHMENTS

Microsoft Corporation, Redmond, Washington
9/05 – present Senior Software Development Engineer

Senior individual contributor responsible for design and implementation of new phases and algorithms in the next generation Phoenix compiler.  Areas of contribution include:

  • Function inlining
  • Function alias info merging
  • IR idiom pattern matching language and infrastructure
  • Post-lower SSA idiom optimizer
  • Global Register Allocator
  • ARM machine target architecture
  • Framework logging infrastructure

Equator Technologies Inc., Campbell, California
11/04 – 7/05 Senior Compiler Engineer

Senior team member working on bringing Equator’s proprietary compiler technology to market; focusing on back end code correctness and performance.

  • Developed new alias analysis pass on low level intermediate representation
  • Code generation improvements for Equator’s VILW architecture.
  • Added intermediate representation legalization pass.

Barcelona Design Corporation, Sunnyvale, California
11/02 – 10/04 Manager Software Development

Chief architect, developer, and project manager for domain specific object oriented programming language and environment.

  •  Defined domain specific optimization language based on requirements of internal user community. Key features included:
    • Object based
    • First class functions
    • Generics
    • Delayed evaluation
    • Advanced debugging features
  • Recruited team to implement language
  • Specified software development and QA methodology
  • Individual contributor for interpreter, debugger and command line interface
  • Implemented and delivered domain language and libraries on time and budget

BSQUARE Corporation, Bellevue, Washington
9/96 – 9/02 Senior Software Engineer

Key team member on ports of the Microsoft UTC compiler back end to RISC platforms for the WindowsCE OS. Platforms included ARM/Thumb, SH3, SH4, SHmedia(SH5), TriCore, PowerPC, and MIPS.

  • Implemented machine dependent optimizations to exploit processor features.
  • Developed new approach to capture data dependency in SSA of values in heterogeneous register sets to improve dead code elimination, copy propagation, and register allocation.
  • Extended global optimizer to recognize more opportunities to address performance on RISC architectures.
  • Improved code generation to exploit SIMD instructions available in WindowsCE RISC architectures.
  • Contributor for global expression and loop optimizations, code generation, register allocation, dataflow analysis, scheduling, constant and copy propagation, and flow optimizations.
  • Developed and implemented testing tools and tests to verify quality of the compiler back end.
  • Mentored and trained new engineers in technology and professional practice.

SKILLS

  • Proven leader
  • Software Development Methodology
  • Programming language design
  • ARM/Thumb, SH3, SH4, SHmedia(SH5), TriCore, PowerPC, and MIPS assembly language
  • Code generation
  • Global compiler optimization
  • Instruction set architecture dependent optimization to exploit processor features.
  • Code benchmarking.

PROFESSIONAL AWARDS/AFFILIATIONS

  • BSQUARE All-Star Award; Awarded August 2001
  • Association of Computing Machinery (ACM), ACM SIG Programming Languages (SigPLAN)

PROFESSIONAL INTERESTS

  • Optimization techniques
  • Programming language design
  • Algorithms and data structures
  • High quality software

EDUCATION

  • Bachelors of Science in Computer Science, Norwich University, Northfield, Vermont 1996

References available upon request.