[all-commits] [llvm/llvm-project] 6f87b1: [MachineVerifier] Doing ::calcRegsPassed in RPO: ~...
Roman Tereshin via All-commits
all-commits at lists.llvm.org
Mon Feb 24 13:30:14 PST 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 6f87b162e636b0cfe590758621a606d2bc68424f
https://github.com/llvm/llvm-project/commit/6f87b162e636b0cfe590758621a606d2bc68424f
Author: Roman Tereshin <rtereshin at apple.com>
Date: 2020-02-24 (Mon, 24 Feb 2020)
Changed paths:
M llvm/lib/CodeGen/MachineVerifier.cpp
Log Message:
-----------
[MachineVerifier] Doing ::calcRegsPassed in RPO: ~35% faster MV, NFC
Depending on the target, test suite, pipeline config and perhaps other
factors machine verifier when forced on with -verify-machineinstrs can
increase compile time 2-2.5 times over (Release, Asserts On), taking up
~60% of the time. An invaluable tool, it significantly slows down
machine verifier-enabled testing.
Nearly 75% of its time MachineVerifier spends in the calcRegsPassed
method. It's a classic forward dataflow analysis executed over sets, but
visiting MBBs in arbitrary order. We switch that to RPO here.
This speeds up MachineVerifier by about 35%, decreasing the overall
compile time with -verify-machineinstrs by 20-25% or so.
calcRegsPassed itself gets 2x faster here.
All measured on a large suite of shaders targeting a number of GPUs.
Reviewers: bogner, stoklund, rudkx, qcolombet
Reviewed By: bogner
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D75032
More information about the All-commits
mailing list