[all-commits] [llvm/llvm-project] 1bc8b3: [NewPM][CodeGen] Port `regallocfast` to new pass m...

paperchalice via All-commits all-commits at lists.llvm.org
Thu Jun 6 21:23:04 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 1bc8b3258e6d42f702fb11eb60d84d0e23935e3e
      https://github.com/llvm/llvm-project/commit/1bc8b3258e6d42f702fb11eb60d84d0e23935e3e
  Author: paperchalice <liujunchang97 at outlook.com>
  Date:   2024-06-07 (Fri, 07 Jun 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachinePassManager.h
    A llvm/include/llvm/CodeGen/RegAllocFast.h
    M llvm/include/llvm/Passes/CodeGenPassBuilder.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/include/llvm/Passes/PassBuilder.h
    M llvm/lib/CodeGen/RegAllocFast.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/test/CodeGen/AArch64/fast-regalloc-empty-bb-with-liveins.mir
    M llvm/test/CodeGen/AMDGPU/fast-ra-kills-vcc.mir
    M llvm/test/CodeGen/AMDGPU/fast-regalloc-bundles.mir
    M llvm/test/CodeGen/AMDGPU/fastregalloc-illegal-subreg-physreg.mir
    M llvm/test/CodeGen/AMDGPU/fastregalloc-self-loop-heuristic.mir
    M llvm/test/CodeGen/AMDGPU/spill-agpr.mir
    M llvm/test/CodeGen/AMDGPU/spill192.mir
    M llvm/test/CodeGen/AMDGPU/spill224.mir
    M llvm/test/CodeGen/AMDGPU/spill288.mir
    M llvm/test/CodeGen/AMDGPU/spill320.mir
    M llvm/test/CodeGen/AMDGPU/spill352.mir
    M llvm/test/CodeGen/AMDGPU/spill384.mir
    M llvm/test/CodeGen/AMDGPU/unexpected-reg-unit-state.mir
    M llvm/test/CodeGen/ARM/regalloc-fast-rewrite-implicits.mir
    M llvm/test/CodeGen/MIR/Generic/runPass.mir
    M llvm/test/CodeGen/PowerPC/spill-nor0.mir
    M llvm/test/CodeGen/SystemZ/regalloc-fast-invalid-kill-flag.mir
    M llvm/test/CodeGen/Thumb/high-reg-clobber.mir
    M llvm/test/CodeGen/Thumb2/high-reg-spill.mir
    M llvm/test/CodeGen/X86/bug47278-eflags-error.mir
    M llvm/test/CodeGen/X86/bug47278.mir
    M llvm/test/CodeGen/X86/callbr-asm-outputs-regallocfast.mir
    M llvm/test/CodeGen/X86/fastregalloc-selfloop.mir
    M llvm/test/CodeGen/X86/fastregalloc-tied-undef.mir
    M llvm/test/CodeGen/X86/regalloc-fast-missing-live-out-spill.mir
    M llvm/test/CodeGen/X86/statepoint-fastregalloc.mir
    M llvm/test/CodeGen/X86/virtreg-physreg-def-regallocfast.mir
    A llvm/test/tools/llc/new-pm/regalloc-amdgpu.mir

  Log Message:
  -----------
  [NewPM][CodeGen] Port `regallocfast` to new pass manager (#94426)

This pull request port `regallocfast` to new pass manager. It exposes
the parameter `filter` to handle different register classes for AMDGPU.
IIUC AMDGPU need to allocate different register classes separately so it
need implement its own `--<reg-class>-regalloc`. Now users can use e.g.
`-passe=regallocfast<filter=sgpr>` to allocate specific register class.
The command line option `--regalloc-npm` is still in work progress, plan
to reuse the syntax of passes, e.g. use
`--regalloc-npm=regallocfast<filter=sgpr>,greedy<filter=vgpr>` to
replace `--sgpr-regalloc` and `--vgpr-regalloc`.



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