Hi all <br>Ups, I'm really sorry for that previous message, I've sent it by mistake.<br><br>So let me write it once more.<br><br>I've been working for some time now on a backend for our CPU. However I couldn't figure out how to implement some stuff.<br>
I'd appreciate your help with these.<br><br>First thing is return address saving. To do that, first I have to copy it to a general purpose register. I have no idea how to find an unused gpr register in emitPrologue/emitEpilogue. I've noticed that in other backends RegScavenger is used for that purpose, but not from inside of those methods. So my question is how could I get an unused register from inside of these methods?<br>
<br>And my second problem is with returning structures by value. ABI says that aggregates up to 32bytes should be returned directly in register. Any advice how this could be done?<br>
<div class="gmail_quote"><br></div>Thanks<br>Artur<br>