OSDN Git Service

Major update of llvm-upgrade:
authorReid Spencer <rspencer@reidspencer.com>
Fri, 5 Jan 2007 17:18:58 +0000 (17:18 +0000)
committerReid Spencer <rspencer@reidspencer.com>
Fri, 5 Jan 2007 17:18:58 +0000 (17:18 +0000)
commit90eb4d653c413991b577fde2edde023ff4a66318
treed3432286b5f70df9d9b6397049987ab60c691ddd
parent218ded2fc98b4f27c341247bafa745bc7a7721c2
Major update of llvm-upgrade:
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32906 91177308-0d34-0410-b5e6-96231b3b80d8
tools/llvm-upgrade/UpgradeInternals.h [moved from tools/llvm-upgrade/ParserInternals.h with 54% similarity]
tools/llvm-upgrade/UpgradeLexer.l
tools/llvm-upgrade/UpgradeParser.y