coldcc |
"x86_stdcallcc" |
"x86_fastcallcc" |
+ "x86_ssecallcc" |
cc EUINT64VAL ;
ParamAttr ::= zeroext
OptFuncAttrs ::= + _ | OptFuncAttrs FuncAttr ;
+FuncNoteList ::= FuncNote
+ | FuncNoteList ^ "," FuncNote
+ ;
+
+FuncNote ::= inline ^ "=" ^ never
+ | inline ^ "=" ^ always
+ | "opt_size"
+ ;
+
+OptFuncNotes ::= _
+ | notes ^ "(" ^ FuncNoteList ^ ")"
+ ;
+
OptGC ::= + _ | gc STRINGCONSTANT ;
OptAlign ::= + _ | align EUINT64VAL ;
| "[" ^ EUINT64VAL "x" Types ^ "]"
| "<" ^ EUINT64VAL "x" Types ^ ">"
| "{" TypeListI "}"
- | "{" "}"
+ | "{" ^ "}"
| "<" ^ "{" TypeListI "}" ^ ">"
- | "<" ^ "{" "}" ^ ">"
+ | "<" ^ "{" ^ "}" ^ ">"
;
ArgType ::= Types OptParamAttrs ;
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
ArgList ::= ArgListH | ArgListH ^ "," "..." | "..." | _ ;
FunctionHeaderH ::= OptCallingConv ResultTypes GlobalName "(" ^ ArgList ^ ")"
- OptFuncAttrs OptSection OptAlign OptGC ;
+ OptFuncAttrs OptSection OptAlign OptGC OptFuncNotes ;
BEGIN ::= ( begin | "{" ) ^ "\n";
| zeroinitializer
| "<" ConstVector ">"
| "[" ConstVector "]"
- | "[" "]"
+ | "[" ^ "]"
| "c" ^ STRINGCONSTANT
| "{" ConstVector "}"
- | "{" "}"
+ | "{" ^ "}"
| "<" ^ "{" ConstVector "}" ^ ">"
- | "<" ^ "{" "}" ^ ">"
+ | "<" ^ "{" ^ "}" ^ ">"
| ConstExpr
| asm OptSideEffect STRINGCONSTANT ^ "," STRINGCONSTANT ;
| 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";
| insertelement ResolvedVal ^ "," ResolvedVal ^ "," ResolvedVal
| shufflevector ResolvedVal ^ "," ResolvedVal ^ "," ResolvedVal
| phi PHIList
- | OptTailCall OptCallingConv ResultTypes ValueRef "(" ^ ParamList ^ ")"
+ | OptTailCall OptCallingConv ResultTypes ValueRef ^ "(" ^ ParamList ^ ")"
OptFuncAttrs
| MemoryInst ;