<div class="gmail_quote">On Sat, Mar 28, 2009 at 8:15 PM, Eli Friedman <span dir="ltr"><<a href="mailto:eli.friedman@gmail.com">eli.friedman@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Author: efriedma<br>
Date: Sat Mar 28 19:15:25 2009<br>
New Revision: 67969<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=67969&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=67969&view=rev</a><br>
Log:<br>
Initial implementation of ARM ABI.  Mostly untested.  Note that I'm not<br>
really intending to take ownership of this; I wrote this mostly because<br>
I was curious about how the ARM ABI works.  It should be a decent start,<br>
though.</blockquote><div><br></div><div>Nice! I'd been having the same urge...</div><div> </div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">+  if  {<br>

+    ElemTy = llvm::Type::Int64Ty;<br>
+    SizeRegs = (Context.getTypeSize(Ty) + 63) / 64;<br>
+  } else {<br>
+    ElemTy = llvm::Type::Int32Ty;<br>
+    SizeRegs = (Context.getTypeSize(Ty) + 31) / 32;<br>
+  }</blockquote><div><br></div><div>Better as:</div><div>--</div><div>ElemTy = (Context.getTypeAlign(Ty) > 32) ? llvm::Type::Int64Ty : llvm::Type::Int32Ty;</div><div>SizeRegs = llvm::RoundUpToAlignment(Context.getTypeSize(Ty), </div>
<div>               Context.getTypeSize(ElemTy));</div><div>--</div><div>?</div><div><br></div><div> - Daniel</div><div><br></div></div>