Introduce a section to the programmers manual about type hierarchies,
authorChandler Carruth <chandlerc@gmail.com>
Wed, 28 Jan 2015 03:04:54 +0000 (03:04 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Wed, 28 Jan 2015 03:04:54 +0000 (03:04 +0000)
commitdde94fb301f4233be0862f4f7c71e8c101a0cd31
treef3e2cf1469fa53a7ffb9f47842466e47a7aab138
parent41c1bc24e4deda8cfb3f8981212897e82da34402
Introduce a section to the programmers manual about type hierarchies,
polymorphism, and virtual dispatch.

This is essentially trying to explain the emerging design techniques
being used in LLVM these days somewhere more accessible than the
comments on a particular piece of infrastructure. It covers the
"concepts-based polymorphism" that caused some confusion during initial
reviews of the new pass manager as well as the tagged-dispatch mechanism
used pervasively in LLVM and Clang.

Perhaps most notably, I've tried to provide some criteria to help
developers choose between these options when designing new pieces of
infrastructure.

Differential Revision: http://reviews.llvm.org/D7191

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@227292 91177308-0d34-0410-b5e6-96231b3b80d8
docs/ProgrammersManual.rst