[LLVMdev] r98938 broke argument passing on MSP430?

Ben Ransford ransford at cs.umass.edu
Fri Jun 11 11:55:15 PDT 2010


Hello,

Yesterday I noticed that MSP430 argument passing is broken in trunk;
see http://llvm.org/PR6573 for details and testcases.  The problem is
that calls aren't being preceded by instructions that put the
arguments into registers.  I backtracked my working copy and then
stepped forward until it broke between r98937 and r98938.  Refining
further, I found that rolling back the single-statement change to
utils/TableGen/DAGISelMatcherGen.cpp -- something about variadic
instructions that was probably OK for x86, but MSP430 doesn't have
variadic instructions -- restored the correct behavior.  Seems like
r98938 either introduced a bug in DAGISelMatcherGen.cpp or exposed a
bug in MSP430InstrInfo.td (or similar).  That's Chris's commit; could
he or someone else who's comfortable with LLVM internals (I'm not)
help me root out the problem?

I'm asking here because I don't know if this change broke other
non-x86 architectures.

-ben



More information about the llvm-dev mailing list