summaryrefslogtreecommitdiffstats
path: root/llvm/utils/TableGen/FileParser.y.cvs
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/utils/TableGen/FileParser.y.cvs')
-rw-r--r--llvm/utils/TableGen/FileParser.y.cvs4
1 files changed, 3 insertions, 1 deletions
diff --git a/llvm/utils/TableGen/FileParser.y.cvs b/llvm/utils/TableGen/FileParser.y.cvs
index 2732680d2fb..0612f56ca01 100644
--- a/llvm/utils/TableGen/FileParser.y.cvs
+++ b/llvm/utils/TableGen/FileParser.y.cvs
@@ -222,7 +222,7 @@ using namespace llvm;
};
%token INT BIT STRING BITS LIST CODE DAG CLASS DEF MULTICLASS DEFM FIELD LET IN
-%token SHLTOK SRATOK SRLTOK STRCONCATTOK
+%token CONCATTOK SHLTOK SRATOK SRLTOK STRCONCATTOK
%token <IntVal> INTVAL
%token <StrVal> ID VARNAME STRVAL CODEFRAGMENT
@@ -391,6 +391,8 @@ Value : IDValue {
exit(1);
}
delete $3;
+ } | CONCATTOK '(' Value ',' Value ')' {
+ $$ = (new BinOpInit(BinOpInit::CONCAT, $3, $5))->Fold();
} | SHLTOK '(' Value ',' Value ')' {
$$ = (new BinOpInit(BinOpInit::SHL, $3, $5))->Fold();
} | SRATOK '(' Value ',' Value ')' {
OpenPOWER on IntegriCloud