[svn r384] Some minor code cleanups.

This commit is contained in:
Tomas Lindquist Olsen 2008-07-14 21:49:54 +02:00
parent 4bcbe1cf68
commit 27674069e7
5 changed files with 5 additions and 48 deletions

View file

@ -798,16 +798,6 @@ DValue* DtoNewClass(TypeClass* tc, NewExp* newexp)
{
DValue* res = DtoCallDFunc(newexp->allocator, newexp->newargs);
mem = DtoBitCast(res->getRVal(), DtoType(tc), "newclass_custom");
// DtoForceDeclareDsymbol(newexp->allocator);
// assert(newexp->newargs);
// assert(newexp->newargs->dim == 1);
//
// llvm::Function* fn = newexp->allocator->ir.irFunc->func;
// assert(fn);
// DValue* arg = ((Expression*)newexp->newargs->data[0])->toElem(gIR);
// mem = gIR->CreateCallOrInvoke(fn, arg->getRVal(), "newclass_custom_alloc")->get();
// mem = DtoBitCast(mem, DtoType(tc), "newclass_custom");
}
// default allocator
else
@ -1089,8 +1079,6 @@ void ClassDeclaration::offsetToIndex(Type* t, unsigned os, std::vector<unsigned>
assert(r != (unsigned)-1 && "Offset not found in any aggregate field");
// vtable is 0, monitor is 1
r += 2;
// interface offset further
//r += vtblInterfaces->dim;
// the final index was not pushed
result.push_back(r);
}
@ -1107,7 +1095,6 @@ LLValue* DtoIndexClass(LLValue* ptr, ClassDeclaration* cd, Type* t, unsigned os,
const LLType* st = DtoType(cd->type);
if (ptr->getType() != st) {
//assert(cd->ir.irStruct->hasUnions);
ptr = gIR->ir->CreateBitCast(ptr, st, "tmp");
}
@ -1116,8 +1103,6 @@ LLValue* DtoIndexClass(LLValue* ptr, ClassDeclaration* cd, Type* t, unsigned os,
IrStruct* irstruct = cd->ir.irStruct;
for (IrStruct::OffsetMap::iterator i=irstruct->offsets.begin(); i!=irstruct->offsets.end(); ++i) {
//for (unsigned i=0; i<cd->fields.dim; ++i) {
//VarDeclaration* vd = (VarDeclaration*)cd->fields.data[i];
VarDeclaration* vd = i->second.var;
assert(vd);
Type* vdtype = DtoDType(vd->type);
@ -1195,9 +1180,6 @@ LLValue* DtoVirtualFunctionPointer(DValue* inst, FuncDeclaration* fdecl)
Logger::cout() << "funcval casted: " << *funcval << '\n';
#endif
//assert(funcval->getType() == DtoType(fdecl->type));
//cc = DtoCallingConv(fdecl->linkage);
return funcval;
}

View file

@ -212,12 +212,6 @@ const llvm::FunctionType* DtoFunctionType(FuncDeclaration* fdecl)
return DtoVaFunctionType(fdecl);
}
// unittest has null type, just build it manually
/*if (fdecl->isUnitTestDeclaration()) {
std::vector<const LLType*> args;
return llvm::FunctionType::get(LLType::VoidTy, args, false);
}*/
// type has already been resolved
if (fdecl->type->ir.type != 0) {
return llvm::cast<llvm::FunctionType>(fdecl->type->ir.type->get());

View file

@ -381,9 +381,7 @@ static LLValue* get_frame_ptr_impl(FuncDeclaration* func, Dsymbol* sc, LLValue*
}
else if (ClassDeclaration* cd = fd->toParent2()->isClassDeclaration())
{
size_t idx = 2;
//idx += cd->ir.irStruct->interfaceVec.size();
v = DtoGEPi(v,0,idx,"tmp");
v = DtoGEPi(v,0,2,"tmp");
v = DtoLoad(v);
}
else
@ -395,11 +393,6 @@ static LLValue* get_frame_ptr_impl(FuncDeclaration* func, Dsymbol* sc, LLValue*
else if (ClassDeclaration* cd = sc->isClassDeclaration())
{
Logger::println("scope is class: %s", cd->toChars());
/*size_t idx = 2;
idx += cd->llvmIrStruct->interfaces.size();
v = DtoGEPi(v,0,idx,"tmp");
Logger::cout() << "gep = " << *v << '\n';
v = DtoLoad(v);*/
return get_frame_ptr_impl(func, cd->toParent2(), v);
}
else

View file

@ -174,11 +174,7 @@ DValue* VarExp::toElem(IRState* p)
if (vd->ident == Id::_arguments)
{
Logger::println("Id::_arguments");
/*if (!vd->ir.getIrValue())
vd->ir.getIrValue() = p->func()->decl->irFunc->_arguments;
assert(vd->ir.getIrValue());
return new DVarValue(vd, vd->ir.getIrValue(), true);*/
LLValue* v = p->func()->decl->ir.irFunc->_arguments;
LLValue* v = p->func()->_arguments;
assert(v);
return new DVarValue(vd, v, true);
}
@ -186,11 +182,7 @@ DValue* VarExp::toElem(IRState* p)
else if (vd->ident == Id::_argptr)
{
Logger::println("Id::_argptr");
/*if (!vd->ir.getIrValue())
vd->ir.getIrValue() = p->func()->decl->irFunc->_argptr;
assert(vd->ir.getIrValue());
return new DVarValue(vd, vd->ir.getIrValue(), true);*/
LLValue* v = p->func()->decl->ir.irFunc->_argptr;
LLValue* v = p->func()->_argptr;
assert(v);
return new DVarValue(vd, v, true);
}
@ -1376,7 +1368,6 @@ DValue* DotVarExp::toElem(IRState* p)
}
LLValue* vthis = l->getRVal();
if (!vthis2) vthis2 = vthis;
//unsigned cc = (unsigned)-1;
// super call
if (e1->op == TOKsuper) {
@ -1406,7 +1397,6 @@ DValue* DotVarExp::toElem(IRState* p)
DtoForceDeclareDsymbol(fdecl);
funcval = fdecl->ir.irFunc->func;
assert(funcval);
//assert(funcval->getType() == DtoType(fdecl->type));
}
return new DFuncValue(fdecl, funcval, vthis2);
}
@ -2116,7 +2106,6 @@ BinBitExp(And,And);
BinBitExp(Or,Or);
BinBitExp(Xor,Xor);
BinBitExp(Shl,Shl);
//BinBitExp(Shr,AShr);
BinBitExp(Ushr,LShr);
DValue* ShrExp::toElem(IRState* p)
@ -2157,6 +2146,8 @@ DValue* HaltExp::toElem(IRState* p)
Logger::print("HaltExp::toElem: %s\n", toChars());
LOG_SCOPE;
// FIXME: DMD inserts a trap here... we probably should as well !?!
#if 1
DtoAssert(&loc, NULL);
#else

View file

@ -113,9 +113,6 @@ void Module::genobjfile(int multiobj)
if (!ClassDeclaration::classinfo->type->ir.type)
ClassDeclaration::classinfo->type->ir.type = new llvm::PATypeHolder(llvm::OpaqueType::get());
/*if (!Type::typeinfoclass->type->ir.type)
Type::typeinfoclass->type->ir.type = new llvm::PATypeHolder(llvm::OpaqueType::get());*/
// process module members
for (int k=0; k < members->dim; k++) {
Dsymbol* dsym = (Dsymbol*)(members->data[k]);