<div dir="ltr">On 13 February 2013 09:00, Eli Bendersky <span dir="ltr"><<a href="mailto:eliben@google.com" target="_blank">eliben@google.com</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

[forwarding review to llvm-commits. I hit "Reply" by mistake]<br>
<div><div class="h5"><br>
On Tue, Feb 12, 2013 at 6:21 PM, Nick Lewycky <<a href="mailto:nlewycky@google.com">nlewycky@google.com</a>> wrote:<br>
> This patch is one way of fixing PR15250, by only forming a TCRETURN call to<br>
> a function with up to two 'inreg' arguments. This extends a fix implemented<br>
> by Evan in r105092.<br>
><br>
> Patch attached, please review!<br>
><br>
<br>
LGTM, with a small question about the test:<br>
<br>
+; RUN: llc < %s -relocation-model=pic | FileCheck %s<br>
+; PR15250<br>
+<br>
+target datalayout =<br>
"e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32-n8:16:32-S128"<br>
+target triple = "i386-unknown-linux-gnu"<br>
+<br>
+declare void @callee1(i32 inreg, i32 inreg, i32 inreg)<br>
+define void @test1(i32 %a, i32 %b) nounwind {<br>
+; CHECK: test1:<br>
+; CHECK: calll callee1@PLT<br>
+  tail call void @callee1(i32 inreg 0, i32 inreg 0, i32 inreg 0) nounwind<br>
+  ret void<br>
+}<br>
<br>
Should the test also verify that a tail call did not happen here?<br></div></div></blockquote><div><br></div><div style>It does, if it were a tail call we'd see a jmp to callee1 instead of a call instruction.</div><div style>

</div></div><br></div><div class="gmail_extra" style>Nick</div></div>