Move GetConstantStringInfo to lib/Analysis. Remove

string output routine from Constant. Update all
callers. Change debug intrinsic api slightly to
accomodate move of routine, these now return values
instead of strings.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52748 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Eric Christopher
2008-06-26 00:31:12 +00:00
parent cda8875433
commit 0d2b0aba42
10 changed files with 120 additions and 64 deletions

View File

@ -28,6 +28,7 @@
#include "llvm/IntrinsicInst.h"
#include "llvm/Constants.h"
#include "llvm/GlobalVariable.h"
#include "llvm/Analysis/ValueTracking.h"
#include "llvm/CodeGen/MachineModuleInfo.h"
using namespace llvm;
@ -57,20 +58,20 @@ Value *DbgInfoIntrinsic::StripCast(Value *C) {
/// DbgStopPointInst - This represents the llvm.dbg.stoppoint instruction.
///
std::string DbgStopPointInst::getFileName() const {
Value *DbgStopPointInst::getFileName() const {
// Once the operand indices are verified, update this assert
assert(LLVMDebugVersion == (6 << 16) && "Verify operand indices");
GlobalVariable *GV = cast<GlobalVariable>(getContext());
if (!GV->hasInitializer()) return "";
if (!GV->hasInitializer()) return NULL;
ConstantStruct *CS = cast<ConstantStruct>(GV->getInitializer());
return CS->getOperand(3)->getStringValue();
return CS->getOperand(4);
}
std::string DbgStopPointInst::getDirectory() const {
Value *DbgStopPointInst::getDirectory() const {
// Once the operand indices are verified, update this assert
assert(LLVMDebugVersion == (6 << 16) && "Verify operand indices");
GlobalVariable *GV = cast<GlobalVariable>(getContext());
if (!GV->hasInitializer()) return "";
if (!GV->hasInitializer()) return NULL;
ConstantStruct *CS = cast<ConstantStruct>(GV->getInitializer());
return CS->getOperand(4)->getStringValue();
return CS->getOperand(4);
}