<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:st1="urn:schemas-microsoft-com:office:smarttags" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 11 (filtered medium)">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]--><o:SmartTagType
 namespaceuri="urn:schemas-microsoft-com:office:smarttags" name="City"/>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
 name="Street"/>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
 name="address"/>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
 name="place"/>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
 name="PersonName"/>
<!--[if !mso]>
<style>
st1\:*{behavior:url(#default#ieooui) }
</style>
<![endif]-->
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:Helvetica;
        panose-1:2 11 6 4 2 2 2 2 2 4;}
@font-face
        {font-family:"MS Mincho";
        panose-1:2 2 6 9 4 2 5 8 3 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:"\@MS Mincho";
        panose-1:2 2 6 9 4 2 5 8 3 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:blue;
        text-decoration:underline;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:Arial;
        color:navy;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
        {page:Section1;}
-->
</style>

</head>

<body lang=EN-US link=blue vlink=blue style='word-wrap: break-word;-webkit-nbsp-mode: space;
-webkit-line-break: after-white-space'>

<div class=Section1>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>One of the requirements for the backend
that I am targeting is certain meta-data needs to be returned to the runtime. This
includes the mapping between parameters and the locations this data is expected
to be stored at. This is mainly because there are multiple address spaces and
each one is mapped differently but all are assigned registers from the same
register class. So this mapping needs to be known at compile time and passed in
the generated code to the runtime to be processed before execution.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p> </o:p></span></font></p>

<div>

<div class=MsoNormal align=center style='text-align:center'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'>

<hr size=2 width="100%" align=center tabindex=-1>

</span></font></div>

<p class=MsoNormal><b><font size=2 face=Tahoma><span style='font-size:10.0pt;
font-family:Tahoma;font-weight:bold'>From:</span></font></b><font size=2
face=Tahoma><span style='font-size:10.0pt;font-family:Tahoma'>
llvmdev-bounces@cs.uiuc.edu [mailto:llvmdev-bounces@cs.uiuc.edu] <b><span
style='font-weight:bold'>On Behalf Of </span></b>Evan Cheng<br>
<b><span style='font-weight:bold'>Sent:</span></b> Monday, September 29, 2008
8:52 AM<br>
<b><span style='font-weight:bold'>To:</span></b> <st1:PersonName w:st="on">LLVM
 Developers Mailing List</st1:PersonName><br>
<b><span style='font-weight:bold'>Subject:</span></b> Re: [LLVMdev] Going from
argument to register and back</span></font><o:p></o:p></p>

</div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p> </o:p></span></font></p>

<div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>On Sep 25, 2008, at 10:49 AM, Villmow, Micah wrote:<o:p></o:p></span></font></p>

</div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><br>
<br>
<o:p></o:p></span></font></p>

<span style='orphans: 2;text-align:auto;widows: 2;-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: 0;word-spacing:0px'><u1:smarttagtype namespaceuri="urn:schemas-microsoft-com:office:smarttags" name="City"><u1:smarttagtype namespaceuri="urn:schemas-microsoft-com:office:smarttags" name="place"><u1:smarttagtype namespaceuri="urn:schemas-microsoft-com:office:smarttags" name="Street"><u1:smarttagtype namespaceuri="urn:schemas-microsoft-com:office:smarttags" name="address">

<div link=blue vlink=purple>

<div>

<div>

<p class=MsoNormal><font size=2 color=black face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:black'>I am having trouble trying to figure out
two pieces of information from attempting to map arguments to registers.<u1:p></u1:p></span></font><font
color=black><span style='color:black'><o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=2 color=black face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:black'>How do I determine, based on the argument
name, which register the value is supposed to be assigned to?<u1:p></u1:p></span></font><font
color=black><span style='color:black'><o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=2 color=black face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:black'>I can hard-coded it currently and it will
be correct 100% of the time with the current set of assumptions,<u1:p></u1:p></span></font><font
color=black><span style='color:black'><o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=2 color=black face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:black'>but I would rather determine it
dynamically so that I can change my assumptions and still get the right
results.</span></font><font color=black><span style='color:black'><o:p></o:p></span></font></p>

</div>

</div>

</div>

</span></u1:smarttagtype></u1:smarttagtype></u1:smarttagtype></u1:smarttagtype>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p> </o:p></span></font></p>

</div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>Why would you want to map arguments to registers based on names?
Calling conventions are encoded in td files such X86CallingConv.td. Parameter
registers etc. are determined from argument number / type, not names.<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p> </o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>Evan<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><br>
<br>
<o:p></o:p></span></font></p>

<span style='orphans: 2;text-align:auto;widows: 2;-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: 0;word-spacing:0px'><u1:smarttagtype namespaceuri="urn:schemas-microsoft-com:office:smarttags" name="City"><u1:smarttagtype namespaceuri="urn:schemas-microsoft-com:office:smarttags" name="place"><u1:smarttagtype namespaceuri="urn:schemas-microsoft-com:office:smarttags" name="Street"><u1:smarttagtype namespaceuri="urn:schemas-microsoft-com:office:smarttags" name="address"><u1:p></u1:p><u1:p>

<div link=blue vlink=purple>

<div>

<div>

<p class=MsoNormal><font size=2 color=black face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:black'> </u1:p></span></font><font
color=black><span style='color:black'><o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=2 color=black face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:black'>Thanks,<u1:p></u1:p></span></font><font
color=black><span style='color:black'><o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=2 color=black face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:black'><u1:p> </u1:p></span></font><font
color=black><span style='color:black'><o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=2 color=black face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:black'>Micah Villmow<u1:p></u1:p></span></font><font
color=black><span style='color:black'><o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=2 color=black face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:black'>Systems Engineer<u1:p></u1:p></span></font><font
color=black><span style='color:black'><o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=2 color=black face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:black'>Advanced Technology & Performance<u1:p></u1:p></span></font><font
color=black><span style='color:black'><o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=2 color=black face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:black'>Advanced Micro Devices Inc.<u1:p></u1:p></span></font><font
color=black><span style='color:black'><o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><ns0:street u2:insauthor="Micah Villmow" u2:insdate="2008-09-25T10:32:00Z" u2:endinsauthor="Micah Villmow" u2:endinsdate="2008-09-25T10:32:00Z"><ns0:address u2:insauthor="Micah Villmow" u2:insdate="2008-09-25T10:32:00Z" u2:endinsauthor="Micah Villmow" u2:endinsdate="2008-09-25T10:32:00Z"><st1:street u2:st="on"><st1:address u2:st="on"><st1:Street
w:st="on"><st1:address w:st="on"><font size=2 color=black face=Arial><span
  style='font-size:10.0pt;font-family:Arial;color:black'>4555 Great America Pkwy</st1:address></st1:street></ns0:address></ns0:street></span></font></st1:address></st1:Street><font
size=2 color=black face=Arial><span style='font-size:10.0pt;font-family:Arial;
color:black'>,<u1:p></u1:p></span></font><font color=black><span
style='color:black'><o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><ns0:place u2:insauthor="Micah Villmow" u2:insdate="2008-09-25T10:32:00Z" u2:endinsauthor="Micah Villmow" u2:endinsdate="2008-09-25T10:32:00Z"><ns0:city u2:insauthor="Micah Villmow" u2:insdate="2008-09-25T10:32:00Z" u2:endinsauthor="Micah Villmow" u2:endinsdate="2008-09-25T10:32:00Z"><st1:city u2:st="on"><st1:place u2:st="on"><st1:City
w:st="on"><st1:place w:st="on"><font size=2 color=black face=Arial><span
  style='font-size:10.0pt;font-family:Arial;color:black'>Santa Clara</st1:place></st1:city></ns0:city></ns0:place></span></font></st1:place></st1:City><font
size=2 color=black face=Arial><span style='font-size:10.0pt;font-family:Arial;
color:black'>, CA. 95054<u1:p></u1:p></span></font><font color=black><span
style='color:black'><o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=2 color=black face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:black'>P: 408-572-6219<u1:p></u1:p></span></font><font
color=black><span style='color:black'><o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=2 color=black face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:black'>F: 408-572-6596</span></font><font
color=black><span style='color:black'><u1:p></u1:p><o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 color=black face="Times New Roman"><span
style='font-size:12.0pt;color:black'><u1:p> </u1:p><o:p></o:p></span></font></p>

</div>

</div>

<p class=MsoNormal><font size=1 color=black face=Helvetica><span
style='font-size:9.0pt;font-family:Helvetica;color:black'>_______________________________________________<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">http://llvm.cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
<br>
<o:p></o:p></span></font></p>

</div>

</div>

</u1:smarttagtype></u1:smarttagtype></u1:smarttagtype></u1:smarttagtype>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'></span><o:p> </o:p></span></font></p>

</div>

</body>

</html>