Split GlobalValue into GlobalValue and GlobalObject.
authorRafael Espindola <rafael.espindola@gmail.com>
Tue, 13 May 2014 18:45:48 +0000 (18:45 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Tue, 13 May 2014 18:45:48 +0000 (18:45 +0000)
commit834384bf5bd3c104e352d3ef4956541f5932529c
tree18e02100b208273cba116c513d703b94faf4e8c9
parentebfe1f0371a074c771d0fedf9167977bfe6f72e8
Split GlobalValue into GlobalValue and GlobalObject.

This allows code to statically accept a Function or a GlobalVariable, but
not an alias. This is already a cleanup by itself IMHO, but the main
reason for it is that it gives a lot more confidence that the refactoring to fix
the design of GlobalAlias is correct. That will be a followup patch.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@208716 91177308-0d34-0410-b5e6-96231b3b80d8
14 files changed:
include/llvm-c/Core.h
include/llvm/CodeGen/AsmPrinter.h
include/llvm/IR/Function.h
include/llvm/IR/GlobalAlias.h
include/llvm/IR/GlobalObject.h [new file with mode: 0644]
include/llvm/IR/GlobalValue.h
include/llvm/IR/GlobalVariable.h
include/llvm/IR/Value.h
lib/CodeGen/AsmPrinter/AsmPrinter.cpp
lib/IR/Core.cpp
lib/IR/Function.cpp
lib/IR/Globals.cpp
lib/Linker/LinkModules.cpp
lib/Transforms/Utils/Local.cpp