X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=utils%2Fllvm.grm;h=7025fbde3797713e427cea844335450cc7485730;hb=a9183c8020c3203f7597d1fbfe4244dd99c7981e;hp=9f7588ae2821bbdb7a536a5e9de0082d1c65ceb2;hpb=0d58eb63fc63620000e31a4a2ca17dec19cb2f9f;p=oota-llvm.git diff --git a/utils/llvm.grm b/utils/llvm.grm index 9f7588ae282..7025fbde379 100644 --- a/utils/llvm.grm +++ b/utils/llvm.grm @@ -69,7 +69,7 @@ FPType ::= float | double | "ppc_fp128" | fp128 | "x86_fp80"; LocalName ::= LOCALVAR | STRINGCONSTANT | PCTSTRINGCONSTANT ; OptLocalName ::= LocalName | _ ; -OptAddrSpace ::= - addrspace "(" ^ EUINT64VAL ^ ")" | _ ; +OptAddrSpace ::= - addrspace ^ "(" ^ EUINT64VAL ^ ")" | _ ; OptLocalAssign ::= LocalName "=" | _ ; @@ -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 ^ ")" @@ -258,13 +261,12 @@ Definition | declare FunctionProto | - module asm AsmBlock | OptLocalAssign type Types - | OptLocalAssign type void - | OptGlobalAssign GVVisibilityStyle ThreadLocal GlobalType ConstVal - OptAddrSpace GlobalVarAttributes - | OptGlobalAssign GVInternalLinkage GVVisibilityStyle ThreadLocal GlobalType - ConstVal OptAddrSpace GlobalVarAttributes - | OptGlobalAssign GVExternalLinkage GVVisibilityStyle ThreadLocal GlobalType - Types OptAddrSpace GlobalVarAttributes + | OptGlobalAssign GVVisibilityStyle ThreadLocal OptAddrSpace GlobalType + ConstVal GlobalVarAttributes + | OptGlobalAssign GVInternalLinkage GVVisibilityStyle ThreadLocal OptAddrSpace + GlobalType ConstVal GlobalVarAttributes + | OptGlobalAssign GVExternalLinkage GVVisibilityStyle ThreadLocal OptAddrSpace + GlobalType Types GlobalVarAttributes | OptGlobalAssign GVVisibilityStyle alias AliasLinkage AliaseeRef | target TargetDefinition | deplibs "=" LibrariesDefinition @@ -275,17 +277,18 @@ AsmBlock ::= STRINGCONSTANT ; TargetDefinition ::= triple "=" STRINGCONSTANT | datalayout "=" STRINGCONSTANT ; -LibrariesDefinition ::= "[" LibList "]"; +LibrariesDefinition ::= "[" ( LibList | _ ) "]"; -LibList ::= LibList ^ "," STRINGCONSTANT | STRINGCONSTANT | _ ; +LibList ::= LibList ^ "," STRINGCONSTANT | STRINGCONSTANT ; ArgListH ::= ArgListH ^ "," Types OptParamAttrs OptLocalName | 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";