projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix isDiscardableIfUnused to include available_externally linkage.
[oota-llvm.git]
/
utils
/
llvm.grm
diff --git
a/utils/llvm.grm
b/utils/llvm.grm
index 86a707a925d90a4bb12c23c995a114dcf0f62390..92a4053173d64f87b08460cc956d83a0e46da449 100644
(file)
--- a/
utils/llvm.grm
+++ b/
utils/llvm.grm
@@
-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.
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"
*)
I ::= "title: LLVM assembly language\n"
@@
-162,11
+164,17
@@
FuncAttr ::= noreturn
| readnone
| readonly
| inlinehint
| readnone
| readonly
| inlinehint
+ | alignstack
| noinline
| alwaysinline
| optsize
| ssp
| sspreq
| noinline
| alwaysinline
| optsize
| ssp
| sspreq
+ | returns_twice
+ | nonlazybind
+ | sanitize_address
+ | sanitize_thread
+ | sanitize_memory
;
OptFuncAttrs ::= + _ | OptFuncAttrs FuncAttr ;
;
OptFuncAttrs ::= + _ | OptFuncAttrs FuncAttr ;
@@
-397,7
+405,7
@@
OptVolatile ::= - volatile | _ ;
OptExact ::= - exact | _ ;
OptNSW ::= - nsw | _ ;
OptNUW ::= - nuw | _ ;
OptExact ::= - exact | _ ;
OptNSW ::= - nsw | _ ;
OptNUW ::= - nuw | _ ;
-OptNW ::= OptNUW OptNSW ;
+OptNW ::= OptNUW OptNSW
| OptNSW OptNUW
;
OptInBounds ::= - inbounds | _ ;
MemoryInst ::= malloc Types OptCAlign
OptInBounds ::= - inbounds | _ ;
MemoryInst ::= malloc Types OptCAlign