<div><div>Hi,</div><div>I'm trying to compile the benchmarks from Mibench suite with the application of the all LLVM's tranformation passes.</div><div>Moreover, I'm trying to generate assembly code for Mips architecture for extraction of energy and performance metrics.</div>


<div>For this, for example, initially I compile the sources and link them generating a bitecode file. After, I apply each optimization using opt tool:</div><div><i>opt -$i file.bc -o file.opt.bc</i></div><div>where $i is each one of the LLVM's tranformation pass.</div>


<div><br></div><div>After, to generate assembly MIPS, I do:</div><div><i>llc -march=mipsel file.opt.bc -o file.opt.s</i></div><div><i><br></i></div><div>I configured the LLVM with --build=mipsel, mips and --enable-targets=mipsel, mips</div>

<div><br></div><div>For some benchmarks from Mibench, this process worked, but for others it doesn't worked.</div>
<div>For example: BITCOUNT, BLOWFISH, QSORT, DIJKSTRA, PATRICIA - (OK)</div><div>                        SUSAN and BASICMATH ( Not OK)</div><div><br></div><div>The output generated with BASICMATH and SUSAN CORNERS  with llc was:</div>

<div><div>llc 0x08a35738</div><div>Stack dump:</div><div>0.      Program arguments: llc -march=mipsel basicmath.strip.bc -o basicmath.strip.s </div><div>1.      Running pass 'Function Pass Manager' on module 'basicmath.strip.bc'.</div>

<div>2.      Running pass 'MIPS DAG->DAG Pattern Instruction Selection' on function '@SolveCubic'</div></div><div><br></div><div><br></div><div>How can I resolve this problem? <br></div><div>Am I performing the process of wrong way?</div>

<div><br></div><div>Thanks!</div></div><div> </div><div><br></div>-- <br><font><b><i>Rafael Parizi</i></b></font><br><br><br><br>