[LLVMdev] A "backend" is ... ?

Robinson, Paul Paul_Robinson at playstation.sony.com
Wed Mar 5 11:57:27 PST 2014


So is it fair to say that "writing a new backend" should be understood as "adding a new target"?

With that interpretation, it does make sense.
--paulr

We have a target-independent layer in the backend, and then a large number of targets.

The target-independent layer makes it possible for all of the targets to share common code where it makes sense. In fact, a large part of legalization is shared between the targets. However, it is quite complex, and there have been lots of efforts over the years to simplify legalization. So even though this is shared, it is something interesting.

However, this target-independent logic is hooked *extensively* by each target. And documenting exactly how to do all of this is the thing being referenced. And simplifying this per-target hooking logic (or reducing, etc) makes writing a new target in the backend significantly easier.

Hope that helps some.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140305/9b3dfc8f/attachment.html>


More information about the llvm-dev mailing list