<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/70666>70666</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[ORC] FastISel and ORCv2/LLJIT
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
wjakob
</td>
</tr>
</table>
<pre>
Dear LLVM team,
a while back, I ported an application from MCJIT to ORCv2/LLJIT (using the C bindings). One feature that was lost during this rewrite was the ability to control the method used to perform instruction selection. The MCJIT interface exposed this through a convenient parameter:
```
struct LLVMMCJITCompilerOptions {
...
LLVMBool EnableFastISel;
};
```
but no such thing exists for ORCv2/LLJIT (that I am aware of..).
Thus, I was wondering if there is any way to enable/disable `FastISel` for ORCv2/LLJIT, either using the C API or via annotations in the generated LLVM IR? I'd be really grateful for feedback from somebody familiar with this part of LLVM (@lhames?)
PS: I saw that the `TargetMachine` C++ API has a `setFastISel()` method, but it is likewise not exposed through the C-level `LLVMCreateTargetMachine` call.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxkVNFuozoQ_RrnZVRETEKSBx4acpFy1aqrbnXfBxjAW2Mjewjbv7-yye52VSlKDDM-c3zOidF71RuiQuzPYn_Z4MyDdcXyA99tvalt-1FcCB08Pf33DEw4ClmK9CLSx_UbYRmUJqixeReyhCtM1jG1gAZwmrRqkJU10Dk7wnP57_UN2MLLa3mTQlZPT-GFkMfZK9MDDwQl1Mq0yvReyFMCL4agI-TZEfCADAt60NYztLNb9ygPjhanmGIxgGCttOKPMKqxhp3V8fVIPNgWZk9tKE3kOutGUMazm5vI05OmuErgbaA7Y2WYXIcNAf2cbNwdpvLg7NwPgGHIjYwiwzChw5GYnMjuEok8vX_i4zorChrRSztOSpN7mcJYD-JwXhshSZL7KjSfrdXwj8FaU4Wer99Ji-zeKg6XP-u_x9Uzg7Hg52YIrE0P9FN59tBZ99WHKPEVcARc0BHYLkmCD58tfxtmv1od5F6saSk6obogsiNQHtB8wILRAIqUhaxa5cMKRJ7-PkCefuURsEkFKPgci8dvV7AObgoBjbGMq1zKxHpPhhyG4MWkXl9FVsFVyEMLNYEj1PoD-tDRzTrO7IjakNo1mt6OFNIOHY5KK3SwKB5Wnyd0DLZbkYU8il2qBxzJi6wS8vRZm2_fRfYIV_C4rHEN3ESevqHriZ-xGZShcOpSyLOQ53iqAT1g6PLEv5WRxwCdp_fQBlGClYqDvFq906I8gbH8KZNrHKNcD5pupANoYF06QqYvJBrUOtm0RdaeshNuqNjmp2N-OG4Pu81QYJPi9hiecZt3iG2e7vZNnjenbiuP6WGjCpnKbJtm6Xafyt0p2Wf1Ljtg27Y72cjdTuxSGlHpROvbmFjXb5T3MxWHNM_zjcaatI8Xj5SGFohFIWW4h1wR9jzUc--D3CGxf1BYsY431strKfYX-CUaoGn_ztJmdroYmCcf_o6yErLqFQ9znTR2FLIKkPefh8nZH9SwkFUk4oWsItH_AwAA__8Mq6W3">