<div dir="ltr">That might be useful if your *CPU* distinguished them (which no current CPUs do -- there are signed and unsigned *operations*, not signed and unsigned values).<div><br></div><div>It is irrelevant to your programming language. You do your type checking in your compiler, and emit LLVM code with i32 values the same as you'd emit machine code with 32 bit values that are neither signed nor unsigned.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Feb 19, 2015 at 7:04 PM, Timothee Cour <span dir="ltr"><<a href="mailto:timothee.cour2+llvm@gmail.com" target="_blank">timothee.cour2+llvm@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"><span style="font-size:12.8000001907349px">Since llvm doesn't distinguish signed vs unsigned integers anymore, what is the recommended way to represent a language that distinguishes them? Is that to introduce new types, eg:</span><div style="font-size:12.8000001907349px">%SignedI32 = type { i32 }<br></div><div style="font-size:12.8000001907349px">%UnsignedI32 = type { i32 }<br></div><div style="font-size:12.8000001907349px">?</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>