<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/151299>151299</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
TableGen backends as plugins
</td>
</tr>
<tr>
<th>Labels</th>
<td>
enhancement,
tablegen
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
DavidSpickett
</td>
</tr>
</table>
<pre>
Currently all backends are built into each tblgen binary, `llvm-tblgen`, `clang-tblgen`, `lldb-tblgen` etc. It would be good to have the ability to load a new backend as a plugin.
This would:
* Remove the need for several copies of the compiler (which can be confusing to developers and packagers of llvm).
* Allow faster development of backends in C++.
You can currently write a backend externally by emitting JSON and parsing that with whatever you want, but you won't have the TableGen APIs you'd have in C++.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJxkkkFvwzYMhX-NfCEa2HLtxAcf0hQZusM2rL3sSEm0rVWRDImOl38_KEmTATsZImXqe48PU7KjJ-pF8yaa9wIXnkLs3_Fszeds9TcxFyqYS39YYiTP7gLoHCjU3-RNAowEarGOwXoOQKgnYOVG8qCsx3gR8gCiLZ07n15uDdGW96J26Mf_VZ0z6lkEYr2BD4Y1LM6AIhhDMMABJjwT8ESAyjrLl1xzAQ0geFp_EAETIMxuGa3fiHIvyv3XZNNtnKjzWcg9_EmncB_niQwMIUKiM0V0oMNsKUEYrm0dTrN1FEHI3TpZPYFGn7l08MOSrB8ziKEzuTBTTIDewIz6G8d8CgNkL4TsNven986FFQZMTPHnvxN5zlcfPlsPByHfhHy7i_grLNeH9WMva7RMgA_h9A9T9OjcBdQF6GSZM9yvn7__dmeKN9oJGVbLE6wTctYMl7DAip7zRtTCt3PwQm75afsXKke_kIf9Hx8pXxFya27t_9AWpq9NV3dYUF9tm3rX7rZlXUx9V8sSqdrWSrW6VZVpKlRDp3BXtxIHKmwvS9mU27osu9emrDetanXVDcZsu64i1YjXkk5o3SYbuglxLGxKC_VVU8muKxwqcumabCnJT-g1ZV-FlEIehJScBeSUSZmzH_trSNUyJvFaOps4PSezZUf9Q_Iz_-merVQs0fUT85xyquRRyONoeVrURoeTkMfb1q-flzmGv0mzkMcrcRLyeIc-9_LfAAAA__-NVzFO">