Add pure/const attributes. Documentation will follow.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44109 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/AsmParser/Lexer.l b/lib/AsmParser/Lexer.l
index 0591cd9..98a21ca 100644
--- a/lib/AsmParser/Lexer.l
+++ b/lib/AsmParser/Lexer.l
@@ -275,6 +275,8 @@
 noalias         { return NOALIAS; }
 byval           { return BYVAL; }
 nest            { return NEST; }
+pure            { return PURE; }
+const           { return CONST; }
 sext{WSNL}      { // For auto-upgrade only, drop in LLVM 3.0 
                   return SIGNEXT; } 
 zext{WSNL}      { // For auto-upgrade only, drop in LLVM 3.0
diff --git a/lib/AsmParser/llvmAsmParser.y b/lib/AsmParser/llvmAsmParser.y
index f1c385f..4c9bed0 100644
--- a/lib/AsmParser/llvmAsmParser.y
+++ b/lib/AsmParser/llvmAsmParser.y
@@ -1113,6 +1113,7 @@
 
 // Function Attributes
 %token SIGNEXT ZEROEXT NORETURN INREG SRET NOUNWIND NOALIAS BYVAL NEST
+%token CONST PURE
 
 // Visibility Styles
 %token DEFAULT HIDDEN PROTECTED
@@ -1256,6 +1257,8 @@
               | NOUNWIND { $$ = ParamAttr::NoUnwind; }
               | ZEROEXT  { $$ = ParamAttr::ZExt;     }
               | SIGNEXT  { $$ = ParamAttr::SExt;     }
+              | PURE     { $$ = ParamAttr::Pure;     }
+              | CONST    { $$ = ParamAttr::Const;    }
               ;
 
 OptFuncAttrs  : /* empty */ { $$ = ParamAttr::None; }