diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2016-05-10 18:22:45 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2016-05-10 18:22:45 +0000 |
commit | 32483a7641a431bf9e217948fb237642a26c7569 (patch) | |
tree | 8425125c34e5dc4ca1394bb4b599727e88fc90a7 /llvm/lib/AsmParser | |
parent | c3b0a5b0999f0783ab574094bcbe70d20e37d44c (diff) | |
download | bcm5719-llvm-32483a7641a431bf9e217948fb237642a26c7569.tar.gz bcm5719-llvm-32483a7641a431bf9e217948fb237642a26c7569.zip |
Make "@name =" mandatory for globals in .ll files.
An oddity of the .ll syntax is that the "@var = " in
@var = global i32 42
is optional. Writing just
global i32 42
is equivalent to
@0 = global i32 42
This means that there is a pretty big First set at the top level. The
current implementation maintains it manually. I was trying to refactor
it, but then started wondering why keep it a all. I personally find the
above syntax confusing. It looks like something is missing.
This patch removes the feature and simplifies the parser.
llvm-svn: 269096
Diffstat (limited to 'llvm/lib/AsmParser')
-rw-r--r-- | llvm/lib/AsmParser/LLParser.cpp | 40 |
1 files changed, 0 insertions, 40 deletions
diff --git a/llvm/lib/AsmParser/LLParser.cpp b/llvm/lib/AsmParser/LLParser.cpp index 556a2dee3a5..4994288c564 100644 --- a/llvm/lib/AsmParser/LLParser.cpp +++ b/llvm/lib/AsmParser/LLParser.cpp @@ -252,46 +252,6 @@ bool LLParser::ParseTopLevelEntities() { case lltok::ComdatVar: if (parseComdat()) return true; break; case lltok::exclaim: if (ParseStandaloneMetadata()) return true; break; case lltok::MetadataVar:if (ParseNamedMetadata()) return true; break; - - // The Global variable production with no name can have many different - // optional leading prefixes, the production is: - // GlobalVar ::= OptionalLinkage OptionalVisibility OptionalDLLStorageClass - // OptionalThreadLocal OptionalAddrSpace OptionalUnnamedAddr - // ('constant'|'global') ... - case lltok::kw_private: // OptionalLinkage - case lltok::kw_internal: // OptionalLinkage - case lltok::kw_weak: // OptionalLinkage - case lltok::kw_weak_odr: // OptionalLinkage - case lltok::kw_linkonce: // OptionalLinkage - case lltok::kw_linkonce_odr: // OptionalLinkage - case lltok::kw_appending: // OptionalLinkage - case lltok::kw_common: // OptionalLinkage - case lltok::kw_extern_weak: // OptionalLinkage - case lltok::kw_external: // OptionalLinkage - case lltok::kw_default: // OptionalVisibility - case lltok::kw_hidden: // OptionalVisibility - case lltok::kw_protected: // OptionalVisibility - case lltok::kw_dllimport: // OptionalDLLStorageClass - case lltok::kw_dllexport: // OptionalDLLStorageClass - case lltok::kw_thread_local: // OptionalThreadLocal - case lltok::kw_addrspace: // OptionalAddrSpace - case lltok::kw_constant: // GlobalType - case lltok::kw_global: { // GlobalType - unsigned Linkage, Visibility, DLLStorageClass; - bool UnnamedAddr; - GlobalVariable::ThreadLocalMode TLM; - bool HasLinkage; - if (ParseOptionalLinkage(Linkage, HasLinkage) || - ParseOptionalVisibility(Visibility) || - ParseOptionalDLLStorageClass(DLLStorageClass) || - ParseOptionalThreadLocal(TLM) || - parseOptionalUnnamedAddr(UnnamedAddr) || - ParseGlobal("", SMLoc(), Linkage, HasLinkage, Visibility, - DLLStorageClass, TLM, UnnamedAddr)) - return true; - break; - } - case lltok::kw_attributes: if (ParseUnnamedAttrGrp()) return true; break; case lltok::kw_uselistorder: if (ParseUseListOrder()) return true; break; case lltok::kw_uselistorder_bb: |