aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--utils/llvm.grm50
1 files changed, 27 insertions, 23 deletions
diff --git a/utils/llvm.grm b/utils/llvm.grm
index 9f7588ae28..c5a40cee00 100644
--- a/utils/llvm.grm
+++ b/utils/llvm.grm
@@ -123,7 +123,6 @@ OptCallingConv ::= + _ |
coldcc |
"x86_stdcallcc" |
"x86_fastcallcc" |
- "x86_ssecallcc" |
cc EUINT64VAL ;
ParamAttr ::= zeroext
@@ -133,6 +132,7 @@ ParamAttr ::= zeroext
| inreg
| sret
| noalias
+ | nocapture
| byval
| nest
| align EUINT64VAL
@@ -140,29 +140,32 @@ ParamAttr ::= zeroext
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 @@ ConstVal::= Types "[" ^ ConstVector ^ "]"
| 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 @@ ArgListH ::= ArgListH ^ "," Types OptParamAttrs OptLocalName
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";