reimplement Constant::ContainsRelocations as

Constant::getRelocationInfo(), which has a much simpler
to use API.  It still should not be part of libvmcore, but
is better than it was.  Also teach it to be smart about 
hidden visibility.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76700 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner
2009-07-22 00:05:44 +00:00
parent 9c5beed5f5
commit 7cf12c7efd
5 changed files with 51 additions and 67 deletions

View File

@@ -547,19 +547,7 @@ const Type *MachineConstantPoolEntry::getType() const {
unsigned MachineConstantPoolEntry::getRelocationInfo() const {
if (isMachineConstantPoolEntry())
return Val.MachineCPVal->getRelocationInfo();
// FIXME: This API sucks.
// If no relocations, return 0.
if (!Val.ConstVal->ContainsRelocations())
return 0;
// If it contains no global relocations, return 1.
if (!Val.ConstVal->ContainsRelocations(Reloc::Global))
return 1;
// Otherwise, it has general relocations.
return 2;
return Val.ConstVal->getRelocationInfo();
}
MachineConstantPool::~MachineConstantPool() {