Patch lowers verification time for me from 35 seconds to less than 3 seconds
Details
Details
Diff Detail
Diff Detail
Event Timeline
llvm/lib/CodeGen/MachineVerifier.cpp | ||
---|---|---|
2236–2237 | This LGTM, but why is the verifier figuring out how to do its own RPO? Why isn't this using ReversePostOrderTraversal<MachineFunction*> which has its own set? |
Comment Actions
This LGTM, but why is the verifier figuring out how to do its own RPO?
It isn't. Instead it's doing BFS in some twisted way when RPO is used to assign indexes in two level map of MachineBasicBlock -> FilteringVRegSet. I've rewritten it with something more compact (tests pass and no performance problems so far)
This LGTM, but why is the verifier figuring out how to do its own RPO? Why isn't this using ReversePostOrderTraversal<MachineFunction*> which has its own set?