Compiler positions available for week ending September 14 (comp.compilers)
14 Sep 2003 17:12:19 -0400

          From comp.compilers

Related articles
Compiler positions available for week ending September 14 (2003-09-14)
Compiler positions available for week ending September 14 (1997-09-15)
| List of all articles for this month |

From: (comp.compilers)
Newsgroups: comp.compilers
Date: 14 Sep 2003 17:12:19 -0400
Organization: Compilers Central
Keywords: jobs
Posted-Date: 14 Sep 2003 17:12:19 EDT

This is a digest of ``help wanted'' and ``position available'' messages
received at comp.compilers during the preceding week. Messages must
advertise a position having something to do with compilers and must also
conform to the guidelines periodically posted in
Positions that remain open may be re-advertised once a month. To respond
to a job offer, send mail to the author of the message. To submit a
message, mail it to


Subject: Microsoft - Compiler Opportunities
Date: Wed, 10 Sep 2003 15:04:54 -0700
From: "Lisa Martin" <>

Software Design Engineer - New Product

Microsoft has recently started an exciting compiler and tools project
which will produce all its future code generators, JIT compilers,
optimizers, and program analysis tools. The tools suite will include
tools ranging from profilers to sophisticated defect analysis tools.
Producing optimized, robust software requires advanced, integrated
tools that are built from a common infrastructure that is capable of
analyzing and processing program related information at different
stages in the development process. This information, whether it is
source code, intermediate representation, metadata, profile
information, browser data, binaries, etc has historically been
scattered about in a typical build environment. We're looking to build
a common Program Database where all of this data can be stored and
retrieved efficiently and uniformly thru an API by various interested
parties. These would include compilers, dynamic & static analysis
tools, debuggers, source browsers, QA tools, and so on. We are looking
for a person with a background in programming environments/databases/
compilers/tools to help design and implement this central Program
Database. You would be working with a team of experienced compiler and
tools writers tasked with producing the core of Microsoft's next
generation programming environment. The PDB and the API's you design
will be used in products throughout Microsoft as well as future 3rd
party tool vendors. The ideal candidate would have an MS/CS+ and 4+
years of experience building program databases, analysis tools (and
their stores) and a strong passion for programming environments in

Software Design Engineer - New Product

Creating high quality, bug free code is just plain hard and requires
diligence. Join the team working to make production of bug free code
easier. If you ever reviewed your code and wondered "Why didn't the
compiler catch _that_ error?" we should talk. By using compiler
parsing and program analysis techniques along with simulated execution
technologies we create programs that analyze and reason about other
programs. There is a need to expand on ways in which tools search out
bugs or potential bugs within code and identify issues for the
programmer to fix before that code is checked in. Such tools will have
a significant impact on the reliability of software throughout the
industry. A successful candidate will have a firm grasp of parsing
technology and program analysis. We make extensive use of graph theory
and graph data structures. Qualifications: Must be highly motivated,
with good communications skills and the ability to work in a team
environment. Must have 3 or more years of post university experience
developing language related software using C++.

Program Manager - Visual C++

Be a driving force in Microsoft's next generation platform for code
generators, optimizers and program analysis tools. The platform is
developed in close collaboration with Microsoft Research and
encompasses Just In Time compilers, traditional optimizing compilers,
advanced static and dynamic program correctness, profiling, and
instrumentation tools. As a program manager, your critical
contributions include providing technical direction, writing specs,
solving key issues, and giving talks as well as being the liaison
between customers and developers and quality assurance teams. The
ideal candidate has expertise in one or more of the following general
areas: floating point optimizations, object-oriented optimizations,
retargetable compilers, JITs, continuous profiling systems or IR
design. If you've ever wanted to make a big impact on a from-scratch
compiler project and have your product used by a millions of
developers, this is the project for you!

Software Design Engineer in Test - New Product

The least costly bug to fix is the one that never gets checked in. Be
part of a team that will begin to make that a reality for software
projects across the industry. Primary responsibilities include
designing and implementing test cases for compiler front-end based
static analysis tools. These tools work on abstract syntax trees built
up from the source and are used to identify well-known problems.
Opportunities exist to test plug-ins operating those trees to identify
defects and to test the tree generation/persistence as well.
Qualifications should include an understanding of compilers and
parsing technology, strong communication, problem solving, and test
planning skills, 3 years of post college computer programming
experience using C/C++, and the ability to work both independently and
in a team environment.

For immediate consideration, please forward a current resume/CV to:

Lisa Martin
Senior Technical Recruiter
Developer Division Recruiting
(425) 703-7944


From: "Richard F. Man" <>
Subject: LCC consultant wanted for "minor" optimizations
Date: Wed, 10 Sep 2003 16:41:11 -0700
Organization: ImageCraft Creations Inc.

This may be a minor job, or it may not be. In LCC, if you have something
like this:

if (?common_expr>)

In theory, the value numbers of all 3 ?common_expr>s should be the same.
However, because "reset()" is called in walk, and in AND/OR/NOT nodes
etc., they value numbers turn out to be different. This is just the way
it is done.

I want to eliminate this limitation. For testing purpose, I disabled the
reset() call in walk, and sure enough the ?common_expr>s were picked up.
The -target=symbolic dump looks good. However, when I changed the target
to a real processor, the ?common_expr> in the conditional part did not
get picked up for some reasons. I have confirmed that mayrecalc() does
not get involved here.

If you understand what I have written above, and can fix this limitation
so that the CSE can happen, please contact me. I am willing to pay for
the consulting work. The source code is lcc 4.2 derivative.

Thank you.

// richard

Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.