Update the LLVM polygen grammar for recent language changes:
authorDan Gohman <gohman@apple.com>
Mon, 15 Sep 2008 16:10:51 +0000 (16:10 +0000)
committerDan Gohman <gohman@apple.com>
Mon, 15 Sep 2008 16:10:51 +0000 (16:10 +0000)
x86_ssecallcc, function notes, and some whitespace adjustments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56221 91177308-0d34-0410-b5e6-96231b3b80d8

utils/llvm.grm

index bec33edff9ca6d9b8eae1f79cb5e0d6c00463bde..9f7588ae2821bbdb7a536a5e9de0082d1c65ceb2 100644 (file)
@@ -123,6 +123,7 @@ OptCallingConv ::= + _ |
                  coldcc |
                  "x86_stdcallcc" |
                  "x86_fastcallcc" |
+                 "x86_ssecallcc" |
                  cc EUINT64VAL ;
 
 ParamAttr ::= zeroext
@@ -149,6 +150,19 @@ FuncAttr      ::= noreturn
 
 OptFuncAttrs  ::= + _ | OptFuncAttrs FuncAttr ;
 
+FuncNoteList  ::= FuncNote
+              | FuncNoteList ^ "," FuncNote
+              ;
+
+FuncNote      ::= inline ^ "=" ^ never
+              | inline ^ "=" ^ always
+              | "opt_size"
+              ;
+
+OptFuncNotes  ::= _
+              | notes ^ "(" ^ FuncNoteList ^ ")"
+              ;
+
 OptGC         ::= + _ | gc STRINGCONSTANT ;
 
 OptAlign      ::= + _ | align EUINT64VAL ;
@@ -175,9 +189,9 @@ Types
  | "[" ^ EUINT64VAL "x" Types ^ "]"
  | "<" ^ EUINT64VAL "x" Types ^ ">"
  | "{" TypeListI "}"
- | "{" "}"
+ | "{" "}"
  | "<" ^ "{" TypeListI "}" ^ ">"
- | "<" ^ "{" "}" ^ ">"
+ | "<" ^ "{" "}" ^ ">"
  ;
 
 ArgType ::= Types OptParamAttrs ;
@@ -191,13 +205,13 @@ ArgTypeListI ::= ArgTypeList | ArgTypeList ^ "," "..." | "..." | _ ;
 TypeListI ::= Types | TypeListI ^ "," Types ;
 
 ConstVal::= Types "[" ^ ConstVector ^ "]"
- | Types "[" "]"
+ | Types "[" "]"
  | Types "c" ^ STRINGCONSTANT
  | Types "<" ^ ConstVector ^ ">"
  | Types "{" ConstVector "}"
- | Types "{" "}"
+ | Types "{" "}"
  | Types "<" ^ "{" ConstVector "}" ^ ">"
- | Types "<" ^ "{" "}" ^ ">"
+ | Types "<" ^ "{" "}" ^ ">"
  | Types null
  | Types undef
  | Types SymbolicValueRef
@@ -271,7 +285,7 @@ ArgListH ::= ArgListH ^ "," Types OptParamAttrs OptLocalName
 ArgList ::= ArgListH | ArgListH ^ "," "..." | "..." | _ ;
 
 FunctionHeaderH ::= OptCallingConv ResultTypes GlobalName "(" ^ ArgList ^ ")"
-                  OptFuncAttrs OptSection OptAlign OptGC ;
+                  OptFuncAttrs OptSection OptAlign OptGC OptFuncNotes ;
 
 BEGIN ::= ( begin | "{" ) ^ "\n";
 
@@ -296,12 +310,12 @@ ConstValueRef ::= ESINT64VAL
  | zeroinitializer
  | "<" ConstVector ">"
  | "[" ConstVector "]"
- | "[" "]"
+ | "[" "]"
  | "c" ^ STRINGCONSTANT
  | "{" ConstVector "}"
- | "{" "}"
+ | "{" "}"
  | "<" ^ "{" ConstVector "}" ^ ">"
- | "<" ^ "{" "}" ^ ">"
+ | "<" ^ "{" "}" ^ ">"
  | ConstExpr
  | asm OptSideEffect STRINGCONSTANT ^ "," STRINGCONSTANT ;
 
@@ -330,8 +344,9 @@ BBTerminatorInst ::= ^ "  " ^
  | br label ValueRef
  | br INTTYPE ValueRef ^ "," label ValueRef ^ "," label ValueRef
  | switch IntType ValueRef ^ "," label ValueRef "[" JumpTable "]"
- | switch IntType ValueRef ^ "," label ValueRef "[" "]"
- | invoke OptCallingConv ResultTypes ValueRef "(" ^ ParamList ^ ")" OptFuncAttrs
+ | switch IntType ValueRef ^ "," label ValueRef "[" ^ "]"
+ | invoke OptCallingConv ResultTypes ValueRef ^ "(" ^ ParamList ^ ")"
+   OptFuncAttrs
    to label ValueRef unwind label ValueRef
  | unwind
  | unreachable ) ^ "\n";
@@ -370,7 +385,7 @@ InstVal ::=
  | insertelement ResolvedVal ^ "," ResolvedVal ^ "," ResolvedVal
  | shufflevector ResolvedVal ^ "," ResolvedVal ^ "," ResolvedVal
  | phi PHIList
- | OptTailCall OptCallingConv ResultTypes ValueRef "(" ^ ParamList ^ ")"
+ | OptTailCall OptCallingConv ResultTypes ValueRef "(" ^ ParamList ^ ")"
    OptFuncAttrs
  | MemoryInst ;