[llvm] AMDGPU: Fix temporal divergence introduced by machine-sink and performance regression introduced by D155343 (PR #67456)
Nicolai Hähnle via llvm-commits
llvm-commits at lists.llvm.org
Wed Oct 4 12:45:34 PDT 2023
================
@@ -734,6 +735,8 @@ bool MachineSinking::runOnMachineFunction(MachineFunction &MF) {
MadeChange = true;
++NumSplit;
+ CI->clear();
+ CI->compute(MF);
----------------
nhaehnle wrote:
Thanks. Please take a note to improve compile-time further as a separate follow-up change. Basically, it should be possible to update cycle-info when splitting a critical edge without recomputing the whole thing (adding an `onEdgeSplit` method like for MBFI).
I haven't thought about it too deeply, but I think what it boils down to is that the new basic block is a member of least cycle containing both the source and the destination of the critical edge.
https://github.com/llvm/llvm-project/pull/67456
More information about the llvm-commits
mailing list