[LLVMdev] Lowering operations to 8-bit!

Chris Lattner sabre at nondot.org
Fri Sep 28 13:54:38 PDT 2007


On Sep 28, 2007, at 1:10 PM, <Alireza.Moshtaghi at microchip.com>  
<Alireza.Moshtaghi at microchip.com> wrote:

> Attached please find the gdb backtrace dump and the postscript file of
> the DAG right before assertion.
> The red Node is the current Node in LegalizeOp()

Okay, this is the problem.  LegalizeOp should only be called on a  
node if the VT is valid for the target.  In this case, ExpandOp  
should have been called to split the register up.  I'd suggest going  
up the stack to figure out who called LegalizeOp instead of ExpandOp.

> Here is my code in the formalizing arguments (copied ISD::MERGE_VALUES
> from PowerPC implementation, not sure if it is really needed)

MergeValues is required because the FORMAL_ARGUMENTs node returns one  
value for each argument input to the function, and also a chain  
value.  These have to match up correctly.

-Chris



More information about the llvm-dev mailing list