<div>Sorry, I think I confused C_Register and C_RegisterClass in my additions to TargetLowering::getConstraintType.  The enclosed patch reflects the fix in that function.  I'm currently rerunning the tests.</div>
<div> </div>
<div>Question #1: In developing some new tests for constraints, I see that the following generic constraints are not supported in the lowering operation:  E, F, p</div>
<div>x86 is missing: L, M, G, C</div>
<div>And the following I don't know how to test yet, since I don't know how to represent the operand in C, and probably are missing too:  f, t, u, y, x, Y</div>
<div>Should I be concerned about these?  My original intent was just to put in multi-alt selection logic.  The lowering stuff is probably a bit beyond me right now, so unless I learn more about it, I'm thinking to leave these alone for now and move on to the multi-alt selection for the other platform-specific constraints.</div>

<div> </div>
<div>Y has an additional problem in that it's a multi-character contraint, and the original constraint parsing into individual contraints is done in generic code, and thus won't know about these cases.  A simple work-around might be to translate these on the Clang/gcc side to single letters.  Otherwise I need some way to get the target stuff down there.</div>

<div> </div>
<div>Question #2:  With respect to the multi-alt selection support for the generic and x86 constraints I've done so far, can someone tell me if I'm doing the right thing?  If so, adding the support for the other platforms is probably reasonably straight forward, using the x86 stuff as a model.  But it would be nice to know if I'm on the right track before I continue on to the other platforms.</div>

<div> </div>
<div>-John<br></div>
<div class="gmail_quote">On Tue, Oct 12, 2010 at 10:58 AM, John Thompson <span dir="ltr"><<a href="mailto:john.thompson.jtsoftware@gmail.com">john.thompson.jtsoftware@gmail.com</a>></span> wrote:<br>
<blockquote style="BORDER-LEFT: #ccc 1px solid; MARGIN: 0px 0px 0px 0.8ex; PADDING-LEFT: 1ex" class="gmail_quote">
<div>Thanks for catching this.  I'll add a check for tabs and line endings as part of my submission procedure.  I've enclosed an updated patch.</div>
<div> </div>
<div>May I check this in?</div>
<div> </div><font color="#888888">
<div>-John<br><br></div></font>
<div>
<div></div>
<div class="h5">
<div class="gmail_quote">On Tue, Oct 12, 2010 at 1:32 AM, Frits van Bommel <span dir="ltr"><<a href="mailto:fvbommel@gmail.com" target="_blank">fvbommel@gmail.com</a>></span> wrote:<br>
<blockquote style="BORDER-LEFT: #ccc 1px solid; MARGIN: 0px 0px 0px 0.8ex; PADDING-LEFT: 1ex" class="gmail_quote">On Tue, Oct 12, 2010 at 2:16 AM, John Thompson<br>
<div><<a href="mailto:john.thompson.jtsoftware@gmail.com" target="_blank">john.thompson.jtsoftware@gmail.com</a>> wrote:<br></div>
<div>> Here's an updated patch with some more revisions, adding some missing stuff<br>> I found while developing new tests for the new stuff.  Still lacking is that<br>> I also see that the "lowering" operation is missing support for some of the<br>
> x86 constraints I added, which I'll work on next, as well as submitting the<br>> new tests for this stuff.  But may I check in the current changes, so as not<br>> to diverge too much from the trunk?  I've successfully run the regression<br>
> tests, test-suite, and the gcc tests with Clang on Linux 64-bit with the<br>> current changes.<br><br></div>You have hard tabs inside "enum ConstraintWeight" (in<br>TargetLowering.h, at the top of the patch).<br>
</blockquote></div><br><br clear="all"><br></div></div>
<div>
<div></div>
<div class="h5">-- <br>John Thompson<br><a href="mailto:John.Thompson.JTSoftware@gmail.com" target="_blank">John.Thompson.JTSoftware@gmail.com</a><br><br></div></div></blockquote></div><br><br clear="all"><br>-- <br>John Thompson<br>
<a href="mailto:John.Thompson.JTSoftware@gmail.com">John.Thompson.JTSoftware@gmail.com</a><br><br>