forked from OSchip/llvm-project
6ee573f523
1. Completely revise the type system so that types are handled as const objects and not created multiple times, cloned, or otherwise copied. This gets around memory issues, saves memory, and also emulates LLVM's no-two-types-of-the-same-shape-created semantics. 2. Adjust the handling of global names. Basically, we cannot rename them for a variety of reasons: linking, forward references, etc. 3. Detect global names that have name conflicts as the result of collapsed type planes or redefinitions that llvm-as no longer accepts. These will produce warnings on stderr and one of the globals will be renamed. 4. Rename ParserInternals.h as UpgradeInternals.h so it doesn't conflict in the debugger with ParserInternals.h from lib/AsmParser. 5. Move the guts of the TypeInfo class into the grammar so we aren't implementing large functions in a header file. This also helps with debugging a bit. llvm-svn: 32906 |
||
---|---|---|
.. | ||
.cvsignore | ||
Makefile | ||
UpgradeInternals.h | ||
UpgradeLexer.cpp | ||
UpgradeLexer.cpp.cvs | ||
UpgradeLexer.l | ||
UpgradeLexer.l.cvs | ||
UpgradeParser.cpp | ||
UpgradeParser.cpp.cvs | ||
UpgradeParser.h | ||
UpgradeParser.h.cvs | ||
UpgradeParser.y | ||
UpgradeParser.y.cvs | ||
llvm-upgrade.cpp |