[all-commits] [llvm/llvm-project] 25f1d7: NewPM/AMDGPU: Port AMDGPUPerfHintAnalysis to new p...

Matt Arsenault via All-commits all-commits at lists.llvm.org
Sun Aug 11 04:07:55 PDT 2024


  Branch: refs/heads/users/arsenm/newpm/port-amdgpu-perf-hint-analysis
  Home:   https://github.com/llvm/llvm-project
  Commit: 25f1d7e8ef0146c9d5f0a0df8993157e8eec94c4
      https://github.com/llvm/llvm-project/commit/25f1d7e8ef0146c9d5f0a0df8993157e8eec94c4
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-08-11 (Sun, 11 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.h
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
    M llvm/lib/Target/AMDGPU/AMDGPUPerfHintAnalysis.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPerfHintAnalysis.h
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/test/CodeGen/AMDGPU/perfhint.ll

  Log Message:
  -----------
  NewPM/AMDGPU: Port AMDGPUPerfHintAnalysis to new pass manager

This was much more difficult than I anticipated. The pass is
not in a good state, with poor test coverage. The legacy PM
does seem to be relying on maintaining the map state between
different SCCs, which seems bad. The pass is going out of its
way to avoid putting the attributes it introduces onto non-callee
functions. If it just added them, we could use them directly
instead of relying on the map, I would think.

The NewPM path uses a ModulePass; I'm not sure if we should be
using CGSCC here but there seems to be some missing infrastructure
to support backend defined ones.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list