All,
After 2.5 years of working on it the Symbol Tables now have no type
planes and PR411 has been resolved. (Okay, I didn't work on it solid for
2.5 years :) )
This change means that all names must be unique within their scope. That
is, functions and global variables must be unique within their module
and instruction names must be unique within their function. Generally
this is the case anyway, but in case your front-end allowed overloading
by type, this is no longer supported. To overload, you must rename (e.g.
name mangling in C++ front end).
On the bright side, this should speed up llvm linking and a few other
parts of llvm. It also makes the memory consumption for the symbol table
significantly smaller.
And for once, this doesn't involve a bytecode format change. :)
Reid.