<div dir="ltr">What language are you compiling?<div><br></div><div>If it is anything remotely like C then you absolutely need a stack (or a heap), because of the possibility of recursion. If the hardware doesn't provide one then you have to create your own using a normal pointer register (or, worst case, a global pointer variable).</div><div><br></div><div>It is possible to compile languages such as traditional FORTRAN and COBOL without a stack, but you still need a frame for each function to hold the return address and any local variables that don't fit into registers. It's just that the frames can be allocated as global variables instead of on a stack. You still need to calculate a frame layout. You probably even still want a frame pointer, to avoid having possibly large absolute addresses when referencing slots in the frame.</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, May 7, 2015 at 10:06 AM, Avinash Bole <span dir="ltr"><<a href="mailto:boleavinash@gmail.com" target="_blank">boleavinash@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div><div><div>Hello,<br><br></div>Im trying to build a Backend using LLVM. My Architecture doesnt have a stack. So,I need to store all the variables in Registers.<br><br></div>I found in xxxFrameLowering.cpp (where xxx is any target name) references to stack and frame pointer. I tried to remove all those references by placing Register class in place of stack but of no use.<br><br></div>Can anyone please suggest the way to do this...,would be very helpful if you can share some code or reference links too..<br><br></div>Thank you,<br></div>Avinash<br><div><div><div><br></div></div></div></div>
<br>_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
<br></blockquote></div><br></div>