[ARM] In ARMAsmParser, MatchCoprocessorOperandName() permitted p10 and p11 as operand...
[oota-llvm.git] / utils / llvm.grm
index 4499d4b35a9f7c5124a3aa34a84f90683d040e4a..d65f075076cf8ef8eb4c064a8cece328c5d40acf 100644 (file)
@@ -8,6 +8,8 @@ It is strictly syntax-based, and makes no attempt to generate
 IR that is semantically valid. Most of the IR produced doesn't
 pass the Verifier.
 
+TODO: Metadata, in all its forms
+
 *)
 
 I ::=   "title:    LLVM assembly language\n"
@@ -90,6 +92,8 @@ GVInternalLinkage
  | dllexport
  | common
  | private
+ | "linker_private"
+ | "linker_private_weak"
  ;
 
 GVExternalLinkage
@@ -161,11 +165,18 @@ FuncAttr      ::= noreturn
  | signext
  | readnone
  | readonly
+ | inlinehint
+ | alignstack
  | noinline
  | alwaysinline
  | optsize
  | ssp
  | sspreq
+ | returns_twice
+ | nonlazybind
+ | sanitize_address
+ | sanitize_thread
+ | sanitize_memory
  ;
 
 OptFuncAttrs  ::= + _ | OptFuncAttrs FuncAttr ;
@@ -396,7 +407,7 @@ OptVolatile ::= - volatile | _ ;
 OptExact ::= - exact | _ ;
 OptNSW ::= - nsw | _ ;
 OptNUW ::= - nuw | _ ;
-OptNW  ::= OptNUW OptNSW ;
+OptNW  ::= OptNUW OptNSW | OptNSW OptNUW ;
 OptInBounds  ::= - inbounds | _ ;
 
 MemoryInst ::= malloc Types OptCAlign