Do not include multiple -arch options in CPPFLAGS.
[oota-llvm.git] / utils / llvm.grm
index 86a707a925d90a4bb12c23c995a114dcf0f62390..322036b2c209083f208f3df8cbe1e4869a39d6ca 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
@@ -162,11 +166,15 @@ FuncAttr      ::= noreturn
  | readnone
  | readonly
  | inlinehint
+ | alignstack
  | noinline
  | alwaysinline
  | optsize
  | ssp
  | sspreq
+ | returns_twice
+ | nonlazybind
+ | address_safety
  ;
 
 OptFuncAttrs  ::= + _ | OptFuncAttrs FuncAttr ;
@@ -397,7 +405,7 @@ OptVolatile ::= - volatile | _ ;
 OptExact ::= - exact | _ ;
 OptNSW ::= - nsw | _ ;
 OptNUW ::= - nuw | _ ;
-OptNW  ::= OptNUW OptNSW ;
+OptNW  ::= OptNUW OptNSW | OptNSW OptNUW ;
 OptInBounds  ::= - inbounds | _ ;
 
 MemoryInst ::= malloc Types OptCAlign