summaryrefslogtreecommitdiffstats
path: root/llvm/lib/AsmParser
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2016-05-10 18:22:45 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2016-05-10 18:22:45 +0000
commit32483a7641a431bf9e217948fb237642a26c7569 (patch)
tree8425125c34e5dc4ca1394bb4b599727e88fc90a7 /llvm/lib/AsmParser
parentc3b0a5b0999f0783ab574094bcbe70d20e37d44c (diff)
downloadbcm5719-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.cpp40
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:
OpenPOWER on IntegriCloud