** Finally DeclareNewGlobalValue is dead!
authorChris Lattner <sabre@nondot.org>
Wed, 14 Jul 2004 23:03:46 +0000 (23:03 +0000)
committerChris Lattner <sabre@nondot.org>
Wed, 14 Jul 2004 23:03:46 +0000 (23:03 +0000)
commita09000db752001220f46e7c43f02284a6761cb89
treec3d249ee1e36de670b4fbe1d0ba626d3d4a11f99
parentf05591d35992dd22f1b5408dfa12c2da5900e6f5
** Finally DeclareNewGlobalValue is dead!
* Simplify a lot of code because type's cannot be in function symbol tables
* Fix memory leaks in handling of redefined function prototypes
* Don't use SymbolTable directly for stuff that we can go through the Module
  for.
* Fix some minor bugs on obscure testcases like:
      test/Feature/globalredefinition.ll
* Do not create GlobalVariable objects for forward referenced Functions!
* When forward referencing a function in a constant expression, do not create
  a placeholder, add a bunch of references to it, then turn around and
  replaceAllUsesOfWith on it with a new global, deleting the placeholder.
  Instead, when we find the real definition of the global, just use the
  placeholder instead of creating a new object.

This substantially simplifies the asmwriter and should even speed it up on
cases heavy in constantexprs (like C++, Java, MSIL)...

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14830 91177308-0d34-0410-b5e6-96231b3b80d8
lib/AsmParser/llvmAsmParser.y