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

Matt Arsenault via All-commits all-commits at lists.llvm.org
Sun Aug 11 01:31:27 PDT 2024


  Branch: refs/heads/users/arsenm/newpm/port-amdgpu-perf-hint-analysis
  Home:   https://github.com/llvm/llvm-project
  Commit: 0fa3fead38acc0dc3bca5d48c00be1090d4a16ad
      https://github.com/llvm/llvm-project/commit/0fa3fead38acc0dc3bca5d48c00be1090d4a16ad
  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