remove ir::Type::Invalid, no longer needed for Subroutine

This commit is contained in:
Joshua Warner 2014-05-03 18:42:40 -06:00 committed by Joshua Warner
parent 5ad1a14a73
commit 746c0fa0e8
3 changed files with 3 additions and 21 deletions

View File

@ -34,10 +34,6 @@ class Type {
// Represents the lack of a return value
// TODO: remove when possible
Void,
// Represents some arbitrary type that should not be accessed
// TODO: remove when possible
Invalid
};
private:

View File

@ -1224,7 +1224,6 @@ unsigned typeFootprint(Context* c, ir::Type type)
case ir::Type::Object:
case ir::Type::Address:
case ir::Type::Half:
case ir::Type::Invalid:
return 1;
case ir::Type::Void:
return 0;
@ -2465,12 +2464,7 @@ class MyCompiler: public Compiler {
virtual void return_(ir::Type type, ir::Value* a)
{
// TODO: once type information is flowed properly, enable this assert.
// Some time later, we can remove the parameter.
assert(&c,
a->type == type
// TODO Temporary hack for Subroutine test!!!
|| a->type.flavor() == ir::Type::Invalid);
assert(&c, a->type == type);
appendReturn(&c, type.size(), static_cast<Value*>(a));
}

View File

@ -1278,7 +1278,6 @@ ir::Value* loadLocal(Context* context,
&& (result->type.flavor() == ir::Type::Object
|| result->type.flavor() == ir::Type::Address))
// TODO Temporary hack for Subroutine test!!!
|| result->type.flavor() == ir::Type::Invalid
|| result->type.flavor() == ir::Type::Integer);
return result;
}
@ -1295,7 +1294,6 @@ void storeLocal(Context* context,
&& (value->type.flavor() == ir::Type::Object
|| value->type.flavor() == ir::Type::Address))
// TODO Temporary hack for Subroutine test!!!
|| value->type.flavor() == ir::Type::Invalid
|| value->type.flavor() == ir::Type::Integer);
context->compiler->storeLocal
(footprint, value, translateLocalIndex(context, footprint, index));
@ -1739,10 +1737,7 @@ class Frame {
void pushInt(ir::Value* o)
{
assert(t,
o->type == types.i4
// TODO Temporary hack for Subroutine test!!!
|| o->type.flavor() == ir::Type::Invalid);
assert(t, o->type == types.i4);
pushSmall(o);
}
@ -1780,10 +1775,7 @@ class Frame {
void pushLong(ir::Value* o)
{
assert(t,
o->type == types.i8
// TODO Temporary hack for Subroutine test!!!
|| o->type.flavor() == ir::Type::Invalid);
assert(t, o->type == types.i8);
pushLarge(o);
}