From 314e80e5f8d5d5233c062c489d41cef95a15e960 Mon Sep 17 00:00:00 2001 From: Daniel Sanders Date: Wed, 7 May 2014 10:13:19 +0000 Subject: [tablegen] Add !listconcat operator with the similar semantics as !strconcat Summary: It concatenates two or more lists. In addition to the !strconcat semantics the lists must have the same element type. My overall aim is to make it easy to append to Instruction.Predicates rather than override it. This can be done by concatenating lists passed as arguments, or by concatenating lists passed in additional fields. Reviewers: dsanders Reviewed By: dsanders Subscribers: hfinkel, llvm-commits Differential Revision: http://reviews.llvm.org/D3506 llvm-svn: 208183 --- llvm/docs/TableGen/LangIntro.rst | 6 ++++++ llvm/docs/TableGen/LangRef.rst | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'llvm/docs/TableGen') diff --git a/llvm/docs/TableGen/LangIntro.rst b/llvm/docs/TableGen/LangIntro.rst index 5b6094fa91f..3e74dffb00e 100644 --- a/llvm/docs/TableGen/LangIntro.rst +++ b/llvm/docs/TableGen/LangIntro.rst @@ -160,6 +160,12 @@ supported include: remaining elements in the list may be arbitrary other values, including nested ```dag``' values. +``!listconcat(a, b, ...)`` + A list value that is the result of concatenating the 'a' and 'b' lists. + The lists must have the same element type. + More than two arguments are accepted with the result being the concatenation + of all the lists given. + ``!strconcat(a, b, ...)`` A string value that is the result of concatenating the 'a' and 'b' strings. More than two arguments are accepted with the result being the concatenation diff --git a/llvm/docs/TableGen/LangRef.rst b/llvm/docs/TableGen/LangRef.rst index 781f789faaf..9b074be38dc 100644 --- a/llvm/docs/TableGen/LangRef.rst +++ b/llvm/docs/TableGen/LangRef.rst @@ -93,7 +93,7 @@ wide variety of meanings: BangOperator: one of :!eq !if !head !tail !con :!add !shl !sra !srl - :!cast !empty !subst !foreach !strconcat + :!cast !empty !subst !foreach !listconcat !strconcat Syntax ====== -- cgit v1.2.3