<div dir="ltr"><div dir="ltr">In order for clang to support a new target you need to add support in lib/Basic/Targets.cpp in the AllocateTarget function and add new files to the lib/Basic/Targets/ directory.<div><br clear="all"><div><div dir="ltr" class="gmail-m_-4472815284346632780gmail_signature">~Craig</div></div><br></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Mar 23, 2019 at 2:06 PM Craig Topper <<a href="mailto:craig.topper@gmail.com" target="_blank">craig.topper@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">-march for clang and -march for llc do different things unfortunately. -march for clang at least on x86 is the same as -mcpu in llc. Which is an artifact of gcc compatibility.<br clear="all"><div><div dir="ltr" class="gmail-m_-4472815284346632780gmail-m_-517385066016083070m_-1531462331427081108gmail_signature"><br></div><div dir="ltr" class="gmail-m_-4472815284346632780gmail-m_-517385066016083070m_-1531462331427081108gmail_signature">~Craig</div></div><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Mar 23, 2019 at 1:40 PM Doerfert, Johannes via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">




<div dir="ltr">
<div id="gmail-m_-4472815284346632780gmail-m_-517385066016083070gmail-m_-1531462331427081108gmail-m_-2352617680284133756divtagdefaultwrapper" style="font-size:12pt;color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif" dir="ltr">
<p style="margin-top:0px;margin-bottom:0px">Oh, my bad.</p>
<p style="margin-top:0px;margin-bottom:0px"><br>
</p>
<p style="margin-top:0px;margin-bottom:0px">Idk why llc seems to know that architecture but clang does not.
<br>
</p>
<p style="margin-top:0px;margin-bottom:0px">Doesn't make sense to me, sorry.<br>
</p>
</div>
<hr style="display:inline-block;width:98%">
<div id="gmail-m_-4472815284346632780gmail-m_-517385066016083070gmail-m_-1531462331427081108gmail-m_-2352617680284133756divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> J S <<a href="mailto:mm92126@hotmail.com" target="_blank">mm92126@hotmail.com</a>><br>
<b>Sent:</b> Saturday, March 23, 2019 3:32:03 PM<br>
<b>To:</b> Doerfert, Johannes<br>
<b>Cc:</b> via llvm-dev<br>
<b>Subject:</b> Re: [llvm-dev] Generating object files more efficiently</font>
<div> </div>
</div>

<div dir="ltr">
<div style="font-family:Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
It is my actual target architecture<br>
</div>
<div id="gmail-m_-4472815284346632780gmail-m_-517385066016083070gmail-m_-1531462331427081108gmail-m_-2352617680284133756x_appendonsend"></div>
<hr style="display:inline-block;width:98%">
<div id="gmail-m_-4472815284346632780gmail-m_-517385066016083070gmail-m_-1531462331427081108gmail-m_-2352617680284133756x_divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> Doerfert, Johannes <<a href="mailto:jdoerfert@anl.gov" target="_blank">jdoerfert@anl.gov</a>><br>
<b>Sent:</b> Saturday, March 23, 2019 1:30 PM<br>
<b>To:</b> J S<br>
<b>Cc:</b> via llvm-dev<br>
<b>Subject:</b> Re: [llvm-dev] Generating object files more efficiently</font>
<div> </div>
</div>

<div dir="ltr">
<div id="gmail-m_-4472815284346632780gmail-m_-517385066016083070gmail-m_-1531462331427081108gmail-m_-2352617680284133756x_x_divtagdefaultwrapper" dir="ltr" style="font-size:12pt;color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif">
<p style="margin-top:0px;margin-bottom:0px">I copied "-march=XYZ" from your original email,</p>
<p style="margin-top:0px;margin-bottom:0px">you have to replace it with your actual target architecture or simply drop it.</p>
</div>
<hr style="display:inline-block;width:98%">
<div id="gmail-m_-4472815284346632780gmail-m_-517385066016083070gmail-m_-1531462331427081108gmail-m_-2352617680284133756x_x_divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> J S <<a href="mailto:mm92126@hotmail.com" target="_blank">mm92126@hotmail.com</a>><br>
<b>Sent:</b> Saturday, March 23, 2019 3:26:59 PM<br>
<b>To:</b> Doerfert, Johannes<br>
<b>Cc:</b> via llvm-dev<br>
<b>Subject:</b> Re: [llvm-dev] Generating object files more efficiently</font>
<div> </div>
</div>

<div dir="ltr">
<div id="gmail-m_-4472815284346632780gmail-m_-517385066016083070gmail-m_-1531462331427081108gmail-m_-2352617680284133756x_x_x_divtagdefaultwrapper" dir="ltr" style="font-size:12pt;color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif">
<p style="margin-top:0px;margin-bottom:0px"><br>
</p>
<p style="margin-top:0px;margin-bottom:0px">Johannes,</p>
<p style="margin-top:0px;margin-bottom:0px"><br>
</p>
<p style="margin-top:0px;margin-bottom:0px">I tried the last one and it gave me this:</p>
<p style="margin-top:0px;margin-bottom:0px"><br>
</p>
<p style="margin-top:0px;margin-bottom:0px"></p>
<div>error: unknown target CPU 'XYZ'<br>
note: valid target CPU values are: nocona, core2, penryn, bonnell, atom,<br>
      silvermont, slm, goldmont, goldmont-plus, tremont, nehalem, corei7,<br>
      westmere, sandybridge, corei7-avx, ivybridge, core-avx-i, haswell,<br>
      core-avx2, broadwell, skylake, skylake-avx512, skx, cascadelake,<br>
      cannonlake, icelake-client, icelake-server, knl, knm, k8, athlon64,<br>
      athlon-fx, opteron, k8-sse3, athlon64-sse3, opteron-sse3, amdfam10,<br>
      barcelona, btver1, btver2, bdver1, bdver2, bdver3, bdver4, znver1, znver2,<br>
      x86-64</div>
<br>
<p></p>
<br>
<div style="color:rgb(0,0,0)">
<hr style="display:inline-block;width:98%">
<div id="gmail-m_-4472815284346632780gmail-m_-517385066016083070gmail-m_-1531462331427081108gmail-m_-2352617680284133756x_x_x_divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> Doerfert, Johannes <<a href="mailto:jdoerfert@anl.gov" target="_blank">jdoerfert@anl.gov</a>><br>
<b>Sent:</b> Saturday, March 23, 2019 1:15 PM<br>
<b>To:</b> J S<br>
<b>Cc:</b> via llvm-dev<br>
<b>Subject:</b> Re: [llvm-dev] Generating object files more efficiently</font>
<div> </div>
</div>
<div class="gmail-m_-4472815284346632780gmail-m_-517385066016083070gmail-m_-1531462331427081108gmail-m_-2352617680284133756x_x_x_BodyFragment"><font size="2"><span style="font-size:11pt">
<div class="gmail-m_-4472815284346632780gmail-m_-517385066016083070gmail-m_-1531462331427081108gmail-m_-2352617680284133756x_x_x_PlainText">I would have guessed:<br>
<br>
object:<br>
clang -c foo.c -o foo.o -march=XYZ<br>
<br>
shared library:<br>
clang -shared foo.c -o foo.so -march=XYZ<br>
<br>
executable:<br>
clang foo.c -o foo -march=XYZ<br>
<br>
<br>
On 03/23, J S via llvm-dev wrote:<br>
> Currently I compile my C code in 2 steps in order to generate .o files<br>
> <br>
> clang -emit-llvm -c foo.c -o foo.bc<br>
> llc -march=XYZ foo.bc -filetype=obj<br>
> <br>
> Is there a way to generate either .o or .elf files in just 1 command?<br>
> <br>
> Thanks.<br>
> <br>
<br>
> _______________________________________________<br>
> LLVM Developers mailing list<br>
> <a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
> <a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" id="gmail-m_-4472815284346632780gmail-m_-517385066016083070gmail-m_-1531462331427081108gmail-m_-2352617680284133756LPlnk441436" class="gmail-m_-4472815284346632780gmail-m_-517385066016083070gmail-m_-1531462331427081108gmail-m_-2352617680284133756x_x_x_OWAAutoLink" target="_blank">
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a>
<div id="gmail-m_-4472815284346632780gmail-m_-517385066016083070gmail-m_-1531462331427081108gmail-m_-2352617680284133756LPBorder_GT_15533727854030.6247321936370462" style="margin-bottom:20px;overflow:auto;width:100%;text-indent:0px">
<table id="gmail-m_-4472815284346632780gmail-m_-517385066016083070gmail-m_-1531462331427081108gmail-m_-2352617680284133756LPContainer_15533727854010.8522819716881989" cellspacing="0" style="width:90%;background-color:rgb(255,255,255);overflow:auto;padding-top:20px;padding-bottom:20px;margin-top:20px;border-top:1px dotted rgb(200,200,200);border-bottom:1px dotted rgb(200,200,200)">
<tbody>
<tr valign="top" style="border-spacing:0px">
<td id="gmail-m_-4472815284346632780gmail-m_-517385066016083070gmail-m_-1531462331427081108gmail-m_-2352617680284133756x_x_x_TextCell_15533727854020.30525608518325453" colspan="2" style="vertical-align:top;padding:0px;display:table-cell">
<div id="gmail-m_-4472815284346632780gmail-m_-517385066016083070gmail-m_-1531462331427081108gmail-m_-2352617680284133756LPRemovePreviewContainer_15533727854020.5780090391607132"></div>
<div id="gmail-m_-4472815284346632780gmail-m_-517385066016083070gmail-m_-1531462331427081108gmail-m_-2352617680284133756LPTitle_15533727854020.6569217889933334" style="color:rgb(0,120,215);font-weight:400;font-size:21px;font-family:wf_segoe-ui_light,"Segoe UI Light","Segoe WP Light","Segoe UI","Segoe WP",Tahoma,Arial,sans-serif;line-height:21px">
<a id="gmail-m_-4472815284346632780gmail-m_-517385066016083070gmail-m_-1531462331427081108gmail-m_-2352617680284133756LPUrlAnchor_15533727854020.316176065422607" href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" style="text-decoration:none" target="_blank">llvm-dev Info Page</a></div>
<div id="gmail-m_-4472815284346632780gmail-m_-517385066016083070gmail-m_-1531462331427081108gmail-m_-2352617680284133756LPMetadata_15533727854030.04365073044475842" style="margin:10px 0px 16px;color:rgb(102,102,102);font-weight:400;font-family:wf_segoe-ui_normal,"Segoe UI","Segoe WP",Tahoma,Arial,sans-serif;font-size:14px;line-height:14px">
<a href="http://lists.llvm.org" target="_blank">lists.llvm.org</a></div>
<div id="gmail-m_-4472815284346632780gmail-m_-517385066016083070gmail-m_-1531462331427081108gmail-m_-2352617680284133756LPDescription_15533727854030.8051908586636592" style="display:block;color:rgb(102,102,102);font-weight:400;font-family:wf_segoe-ui_normal,"Segoe UI","Segoe WP",Tahoma,Arial,sans-serif;font-size:14px;line-height:20px;max-height:100px;overflow:hidden">
To see the collection of prior postings to the list, visit the llvm-dev Archives.. Using llvm-dev: To post a message to all the list members, send email to <a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>. You can subscribe to the list, or change your existing subscription, in the
 sections below.</div>
</td>
</tr>
</tbody>
</table>
</div>
<br>
<br>
<br>
-- <br>
<br>
Johannes Doerfert<br>
Researcher<br>
<br>
Argonne National Laboratory<br>
Lemont, IL 60439, USA<br>
<br>
<a href="mailto:jdoerfert@anl.gov" target="_blank">jdoerfert@anl.gov</a><br>
</div>
</span></font></div>
</div>
</div>
</div>
</div>
</div>
</div>

_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</blockquote></div>
</blockquote></div>