}
-UnusedVariableRemover::VariableInfo::VariableInfo():
- local(false),
- output(false),
- conditionally_assigned(false),
- referenced(false),
- interface_block(0)
-{ }
-
-
bool UnusedTypeRemover::apply(Stage &stage)
{
stage.content.visit(*this);
}
+UnusedVariableRemover::VariableInfo::VariableInfo():
+ local(false),
+ output(false),
+ conditionally_assigned(false),
+ referenced(false),
+ interface_block(0)
+{ }
+
+
UnusedVariableRemover::UnusedVariableRemover():
stage(0),
interface_block(0),
}
if(output)
{
- if(!i->second.assignments.empty() && i->second.interface_block)
+ if((i->second.referenced || !i->second.assignments.empty()) && i->second.interface_block)
used_interface_blocks.insert(i->second.interface_block);
continue;
}