Update polygen grammar for recent language changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61669 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/utils/llvm.grm b/utils/llvm.grm
index 9f7588a..c5a40ce 100644
--- a/utils/llvm.grm
+++ b/utils/llvm.grm
@@ -123,7 +123,6 @@
coldcc |
"x86_stdcallcc" |
"x86_fastcallcc" |
- "x86_ssecallcc" |
cc EUINT64VAL ;
ParamAttr ::= zeroext
@@ -133,6 +132,7 @@
| inreg
| sret
| noalias
+ | nocapture
| byval
| nest
| align EUINT64VAL
@@ -140,29 +140,32 @@
OptParamAttrs ::= + _ | OptParamAttrs ParamAttr ;
+RetAttr ::= inreg
+ | zeroext
+ | signext
+ | noalias
+ ;
+
+OptRetAttrs ::= _
+ | OptRetAttrs RetAttr
+ ;
+
FuncAttr ::= noreturn
| nounwind
+ | inreg
| zeroext
| signext
| readnone
| readonly
+ | noinline
+ | alwaysinline
+ | optsize
+ | ssp
+ | sspreq
;
OptFuncAttrs ::= + _ | OptFuncAttrs FuncAttr ;
-FuncNoteList ::= FuncNote
- | FuncNoteList ^ "," FuncNote
- ;
-
-FuncNote ::= inline ^ "=" ^ never
- | inline ^ "=" ^ always
- | "opt_size"
- ;
-
-OptFuncNotes ::= _
- | notes ^ "(" ^ FuncNoteList ^ ")"
- ;
-
OptGC ::= + _ | gc STRINGCONSTANT ;
OptAlign ::= + _ | align EUINT64VAL ;
@@ -217,13 +220,13 @@
| Types SymbolicValueRef
| Types ConstExpr
| Types zeroinitializer
- | IntType ESINT64VAL
- | IntType ESAPINTVAL
- | IntType EUINT64VAL
- | IntType EUAPINTVAL
- | INTTYPE true
- | INTTYPE false
- | FPType FPVAL ;
+ | Types ESINT64VAL
+ | Types ESAPINTVAL
+ | Types EUINT64VAL
+ | Types EUAPINTVAL
+ | Types true
+ | Types false
+ | Types FPVAL ;
ConstExpr::= CastOps "(" ^ ConstVal to Types ^ ")"
| getelementptr "(" ^ ConstVal IndexList ^ ")"
@@ -284,8 +287,9 @@
ArgList ::= ArgListH | ArgListH ^ "," "..." | "..." | _ ;
-FunctionHeaderH ::= OptCallingConv ResultTypes GlobalName "(" ^ ArgList ^ ")"
- OptFuncAttrs OptSection OptAlign OptGC OptFuncNotes ;
+FunctionHeaderH ::= OptCallingConv OptRetAttrs ResultTypes
+ GlobalName "(" ^ ArgList ^ ")"
+ OptFuncAttrs OptSection OptAlign OptGC ;
BEGIN ::= ( begin | "{" ) ^ "\n";