nv50/ir: don't consider the main compute function as taking arguments

With OpenCL, kernels can take arguments and return values (?). However
in practice, there is no more TGSI compute implementation, and even if
there were, it would probably have named functions and no explicit main.

This improves RA considerably for compute shaders, since temps are not
kept around as return values.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
This commit is contained in:
Ilia Mirkin
2019-07-26 01:18:23 -04:00
parent 3e468ff2fe
commit de17922b8a
@@ -4298,7 +4298,7 @@ Converter::BindArgumentsPass::visit(Function *f)
}
}
if (func == prog->main && prog->getType() != Program::TYPE_COMPUTE)
if (func == prog->main /* && prog->getType() != Program::TYPE_COMPUTE */)
return true;
updatePrototype(&BasicBlock::get(f->cfg.getRoot())->liveSet,
&Function::buildLiveSets, &Function::ins);