aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/AsmParser/LLLexer.cpp
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2022-07-03 14:10:23 +0000
committerDimitry Andric <dim@FreeBSD.org>2022-07-03 14:10:23 +0000
commit145449b1e420787bb99721a429341fa6be3adfb6 (patch)
tree1d56ae694a6de602e348dd80165cf881a36600ed /llvm/lib/AsmParser/LLLexer.cpp
parentecbca9f5fb7d7613d2b94982c4825eb0d33d6842 (diff)
Diffstat (limited to 'llvm/lib/AsmParser/LLLexer.cpp')
-rw-r--r--llvm/lib/AsmParser/LLLexer.cpp94
1 files changed, 15 insertions, 79 deletions
diff --git a/llvm/lib/AsmParser/LLLexer.cpp b/llvm/lib/AsmParser/LLLexer.cpp
index e3bf41c9721b..30e6f8599208 100644
--- a/llvm/lib/AsmParser/LLLexer.cpp
+++ b/llvm/lib/AsmParser/LLLexer.cpp
@@ -567,7 +567,6 @@ lltok::Kind LLLexer::LexIdentifier() {
KEYWORD(exact);
KEYWORD(inbounds);
KEYWORD(inrange);
- KEYWORD(align);
KEYWORD(addrspace);
KEYWORD(section);
KEYWORD(partition);
@@ -576,12 +575,16 @@ lltok::Kind LLLexer::LexIdentifier() {
KEYWORD(module);
KEYWORD(asm);
KEYWORD(sideeffect);
- KEYWORD(alignstack);
KEYWORD(inteldialect);
KEYWORD(gc);
KEYWORD(prefix);
KEYWORD(prologue);
+ KEYWORD(no_sanitize_address);
+ KEYWORD(no_sanitize_hwaddress);
+ KEYWORD(no_sanitize_memtag);
+ KEYWORD(sanitize_address_dyninit);
+
KEYWORD(ccc);
KEYWORD(fastcc);
KEYWORD(coldcc);
@@ -632,82 +635,13 @@ lltok::Kind LLLexer::LexIdentifier() {
KEYWORD(c);
KEYWORD(attributes);
+ KEYWORD(sync);
+ KEYWORD(async);
- KEYWORD(alwaysinline);
- KEYWORD(allocsize);
- KEYWORD(argmemonly);
- KEYWORD(builtin);
- KEYWORD(byval);
- KEYWORD(inalloca);
- KEYWORD(cold);
- KEYWORD(convergent);
- KEYWORD(dereferenceable);
- KEYWORD(dereferenceable_or_null);
- KEYWORD(disable_sanitizer_instrumentation);
- KEYWORD(elementtype);
- KEYWORD(inaccessiblememonly);
- KEYWORD(inaccessiblemem_or_argmemonly);
- KEYWORD(inlinehint);
- KEYWORD(inreg);
- KEYWORD(jumptable);
- KEYWORD(minsize);
- KEYWORD(naked);
- KEYWORD(nest);
- KEYWORD(noalias);
- KEYWORD(nobuiltin);
- KEYWORD(nocallback);
- KEYWORD(nocapture);
- KEYWORD(noduplicate);
- KEYWORD(nofree);
- KEYWORD(noimplicitfloat);
- KEYWORD(noinline);
- KEYWORD(norecurse);
- KEYWORD(nonlazybind);
- KEYWORD(nomerge);
- KEYWORD(nonnull);
- KEYWORD(noprofile);
- KEYWORD(noredzone);
- KEYWORD(noreturn);
- KEYWORD(nosync);
- KEYWORD(nocf_check);
- KEYWORD(noundef);
- KEYWORD(nounwind);
- KEYWORD(nosanitize_coverage);
- KEYWORD(null_pointer_is_valid);
- KEYWORD(optforfuzzing);
- KEYWORD(optnone);
- KEYWORD(optsize);
- KEYWORD(preallocated);
- KEYWORD(readnone);
- KEYWORD(readonly);
- KEYWORD(returned);
- KEYWORD(returns_twice);
- KEYWORD(signext);
- KEYWORD(speculatable);
- KEYWORD(sret);
- KEYWORD(ssp);
- KEYWORD(sspreq);
- KEYWORD(sspstrong);
- KEYWORD(strictfp);
- KEYWORD(safestack);
- KEYWORD(shadowcallstack);
- KEYWORD(sanitize_address);
- KEYWORD(sanitize_hwaddress);
- KEYWORD(sanitize_memtag);
- KEYWORD(sanitize_thread);
- KEYWORD(sanitize_memory);
- KEYWORD(speculative_load_hardening);
- KEYWORD(swifterror);
- KEYWORD(swiftself);
- KEYWORD(swiftasync);
- KEYWORD(uwtable);
- KEYWORD(vscale_range);
- KEYWORD(willreturn);
- KEYWORD(writeonly);
- KEYWORD(zeroext);
- KEYWORD(immarg);
- KEYWORD(byref);
- KEYWORD(mustprogress);
+#define GET_ATTR_NAMES
+#define ATTRIBUTE_ENUM(ENUM_NAME, DISPLAY_NAME) \
+ KEYWORD(DISPLAY_NAME);
+#include "llvm/IR/Attributes.inc"
KEYWORD(type);
KEYWORD(opaque);
@@ -781,7 +715,6 @@ lltok::Kind LLLexer::LexIdentifier() {
KEYWORD(param);
KEYWORD(hotness);
KEYWORD(unknown);
- KEYWORD(hot);
KEYWORD(critical);
KEYWORD(relbf);
KEYWORD(variable);
@@ -856,7 +789,10 @@ lltok::Kind LLLexer::LexIdentifier() {
TYPEKEYWORD("token", Type::getTokenTy(Context));
if (Keyword == "ptr") {
- if (Context.supportsTypedPointers()) {
+ // setOpaquePointers() must be called before creating any pointer types.
+ if (!Context.hasSetOpaquePointersValue()) {
+ Context.setOpaquePointers(true);
+ } else if (Context.supportsTypedPointers()) {
Warning("ptr type is only supported in -opaque-pointers mode");
return lltok::Error;
}