AMDGPU: Use module level register maximums for unknown callees
Compute the theoretical register budget based on the IR function signature/attributes, and use the global maximum register budgets for unknown callees. This should fix the kernel reported register usage in the presence of indirect calls. The previous fix in 2b08f6af was incorrect becauset it was only taking the maximum in the known call graph, and missing something that was either outside of it or codegened later. This fixes a second case I discovered where calls to aliases also did not work as expected. CallGraphAnalysis misses these, so functions called through aliases were not codegened ahead of callers as expected. CallGraphAnalysis should probably be fixed to understand this case, and there's likely a bug with IPRA here. This fixes numerous failures in the conformance test at -O0.
Loading
Please sign in to comment