summaryrefslogtreecommitdiffstats
path: root/llvm/docs/TableGen/Deficiencies.rst
diff options
context:
space:
mode:
authorRenato Golin <renato.golin@linaro.org>2014-03-20 16:08:34 +0000
committerRenato Golin <renato.golin@linaro.org>2014-03-20 16:08:34 +0000
commitca10564cf691a99c52d9f0dbc46deaf6dae78bd1 (patch)
treeeb6b92f8483a8af929ac6313f9b29b68addab6c7 /llvm/docs/TableGen/Deficiencies.rst
parent18d85aed3974564dc636b2fba6215ade85a00370 (diff)
downloadbcm5719-llvm-ca10564cf691a99c52d9f0dbc46deaf6dae78bd1.tar.gz
bcm5719-llvm-ca10564cf691a99c52d9f0dbc46deaf6dae78bd1.zip
Re-factor TableGen docs
This is mainly a movement of content around to give place to new content allowing different people to add bits to it in the right place. There is some new content, but mostly to fill the gaps left by text movement. I'm dropping the old syntax documentation as it has the problem of being quickly outdated by changes and largely unnecessary to people not involved in creating the language, but using it, which is the whole point of the documentation. llvm-svn: 204351
Diffstat (limited to 'llvm/docs/TableGen/Deficiencies.rst')
-rw-r--r--llvm/docs/TableGen/Deficiencies.rst31
1 files changed, 31 insertions, 0 deletions
diff --git a/llvm/docs/TableGen/Deficiencies.rst b/llvm/docs/TableGen/Deficiencies.rst
new file mode 100644
index 00000000000..a00aecd342d
--- /dev/null
+++ b/llvm/docs/TableGen/Deficiencies.rst
@@ -0,0 +1,31 @@
+=====================
+TableGen Deficiencies
+=====================
+
+.. contents::
+ :local:
+
+Introduction
+============
+
+Despite being very generic, TableGen has some deficiencies that have been
+pointed out numerous times. The common theme is that, while TableGen allows
+you to build Domain-Specific-Languages, the final languages that you create
+lack the power of other DSLs, which in turn increase considerably the size
+and complexity of TableGen files.
+
+At the same time, TableGen allows you to create virtually any meaning of
+the basic concepts via custom-made back-ends, which can pervert the original
+design and make it very hard for newcomers to understand it.
+
+There are some in favour of extending the semantics even more, but making sure
+back-ends adhere to strict rules. Others suggesting we should move to more
+powerful DSLs designed with specific purposes, or even re-using existing
+DSLs.
+
+Known Problems
+==============
+
+TODO: Add here frequently asked questions about why TableGen doesn't do
+what you want, how it might, and how we could extend/restrict it to
+be more use friendly.
OpenPOWER on IntegriCloud