[LLVMdev] A problem on returning value for functions

Tim Northover t.p.northover at gmail.com
Tue Jul 9 05:07:49 PDT 2013


Hi,

> The headache is when I pass option -O0 to llc, the generated codes are
> correct. However, if I omit -O0 and use default compiling options, the
> instruction "movi  r0, #1234" does not show.

It's probably being eliminated as dead code. You want to make sure
that during ISelLowering your RET instruction has %R0 as one of its
operands (check in the -view-isel-dags step).

That's the most likely cause anyway. If not, posting the DAG might
help, or the output of "llc -debug" on an equivalent .ll file.

Cheers.

Tim.



More information about the llvm-dev mailing list