<html><head><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On May 14, 2012, at 3:26 PM, Yiannis Tsiouris <<a href="mailto:gtsiour@softlab.ntua.gr">gtsiour@softlab.ntua.gr</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">
<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
<div bgcolor="#FFFFFF" text="#000000">
On 05/14/2012 06:26 PM, Jakob Stoklund Olesen wrote:
<blockquote cite="mid:2B6D9B52-544C-4511-B270-A5D9F84CBBF5@2pi.dk" type="cite"><br>
<div>
<div>On May 13, 2012, at 3:31 PM, Yiannis Tsiouris wrote:</div>
<br class="Apple-interchange-newline">
<blockquote type="cite"><span class="Apple-style-span" style="border-collapse: separate; font-family: Optima;
font-style: normal; font-variant: normal; font-weight:
normal; letter-spacing: normal; line-height: normal;
orphans: 2; text-align: -webkit-auto; text-indent: 0px;
text-transform: none; white-space: normal; widows: 2;
word-spacing: 0px; -webkit-border-horizontal-spacing: 0px;
-webkit-border-vertical-spacing: 0px;
-webkit-text-decorations-in-effect: none;
-webkit-text-size-adjust: auto; -webkit-text-stroke-width:
0px; font-size: medium; "><span class="Apple-style-span" style="font-family: monospace; ">I reproduced the problem
by just adding a " CCIfType<[i8, i16, i32],<br>
CCPromoteToType<i64>>," line in RetCC_X86Common
in a vanilla LLVM tree<br>
and trying to compile a simple function that uses i32
vregs without a<br>
cc. Is this normal or a bug? I could try to fix it if this
is the case.<br>
</span></span></blockquote>
</div>
<br>
<div>This looks like something worth tracking down.</div>
<div><br>
</div>
<div>/jakob</div>
<div><br>
</div>
</blockquote>
I attach an even smaller testcase that breaks the Expanding Post-RA
Pseudo Instrs pass. The test uses a calling convention that promotes
types both in CC and RetCC (CallingConvention::HiPE). I also attach
the LOG of trying to compile it with llc and -debug (i.e. llc <
promote-fail-in-retcc.ll -debug).<br>
<br>
I'm trying to track this down so any hint is more than welcome! :-)<br></div></blockquote><div><br></div><div>It's probably breaking because it is emitting COPY instructions with mismatched registers, trying to copy an 8-bit register to a 64-bit register.</div><div><br></div><div>/jakob</div><div><br></div></div></body></html>