From 5cd4dd391f9c8ff9e42f42569b5a44f14de8806c Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Fri, 24 Jul 2009 03:27:21 +0000 Subject: make Constant::getRelocationInfo return an enum, as suggested by Duncan. llvm-svn: 76938 --- llvm/lib/VMCore/Constants.cpp | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) (limited to 'llvm/lib/VMCore/Constants.cpp') diff --git a/llvm/lib/VMCore/Constants.cpp b/llvm/lib/VMCore/Constants.cpp index 74c31151ac2..f94cd9e25fd 100644 --- a/llvm/lib/VMCore/Constants.cpp +++ b/llvm/lib/VMCore/Constants.cpp @@ -107,22 +107,23 @@ bool Constant::canTrap() const { /// conservative, so if it might codegen to a relocatable entry, it should say /// so. The return values are: /// -/// 0: This constant pool entry is guaranteed to never have a relocation -/// applied to it (because it holds a simple constant like '4'). -/// 1: This entry has relocations, but the entries are guaranteed to be -/// resolvable by the static linker, so the dynamic linker will never see -/// them. -/// 2: This entry may have arbitrary relocations. +/// NoRelocation: This constant pool entry is guaranteed to never have a +/// relocation applied to it (because it holds a simple constant like +/// '4'). +/// LocalRelocation: This entry has relocations, but the entries are +/// guaranteed to be resolvable by the static linker, so the dynamic +/// linker will never see them. +/// GlobalRelocations: This entry may have arbitrary relocations. /// /// FIXME: This really should not be in VMCore. -unsigned Constant::getRelocationInfo() const { - if (const GlobalValue* GV = dyn_cast(this)) { +Constant::PossibleRelocationsTy Constant::getRelocationInfo() const { + if (const GlobalValue *GV = dyn_cast(this)) { if (GV->hasLocalLinkage() || GV->hasHiddenVisibility()) - return 1; // Local to this file/library. - return 2; // Global reference. + return LocalRelocation; // Local to this file/library. + return GlobalRelocations; // Global reference. } - unsigned Result = 0; + PossibleRelocationsTy Result = NoRelocation; for (unsigned i = 0, e = getNumOperands(); i != e; ++i) Result = std::max(Result, getOperand(i)->getRelocationInfo()); -- cgit v1.2.3