Debug Info: use null instead of "i32 0" in DIBuilder.

For context field of subroutine_type and when creating artificial types.

llvm-svn: 190270
This commit is contained in:
Manman Ren 2013-09-08 06:00:42 +00:00
parent 93da987ea4
commit 8ddddadb0b
1 changed files with 5 additions and 13 deletions

View File

@ -714,7 +714,7 @@ DIBuilder::createSubroutineType(DIFile File, DIArray ParameterTypes) {
Value *Elts[] = {
GetTagConstant(VMContext, dwarf::DW_TAG_subroutine_type),
Constant::getNullValue(Type::getInt32Ty(VMContext)),
Constant::getNullValue(Type::getInt32Ty(VMContext)),
NULL,
MDString::get(VMContext, ""),
ConstantInt::get(Type::getInt32Ty(VMContext), 0),
ConstantInt::get(Type::getInt64Ty(VMContext), 0),
@ -818,12 +818,8 @@ DIType DIBuilder::createArtificialType(DIType Ty) {
SmallVector<Value *, 9> Elts;
MDNode *N = Ty;
assert (N && "Unexpected input DIType!");
for (unsigned i = 0, e = N->getNumOperands(); i != e; ++i) {
if (Value *V = N->getOperand(i))
Elts.push_back(V);
else
Elts.push_back(Constant::getNullValue(Type::getInt32Ty(VMContext)));
}
for (unsigned i = 0, e = N->getNumOperands(); i != e; ++i)
Elts.push_back(N->getOperand(i));
unsigned CurFlags = Ty.getFlags();
CurFlags = CurFlags | DIType::FlagArtificial;
@ -843,12 +839,8 @@ DIType DIBuilder::createObjectPointerType(DIType Ty) {
SmallVector<Value *, 9> Elts;
MDNode *N = Ty;
assert (N && "Unexpected input DIType!");
for (unsigned i = 0, e = N->getNumOperands(); i != e; ++i) {
if (Value *V = N->getOperand(i))
Elts.push_back(V);
else
Elts.push_back(Constant::getNullValue(Type::getInt32Ty(VMContext)));
}
for (unsigned i = 0, e = N->getNumOperands(); i != e; ++i)
Elts.push_back(N->getOperand(i));
unsigned CurFlags = Ty.getFlags();
CurFlags = CurFlags | (DIType::FlagObjectPointer | DIType::FlagArtificial);