[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