Skip to content

RegAllocPBQP inaccessible #123970

@Bob64375

Description

@Bob64375

Hi,

I am having difficulty getting llvm to use the RegAllocPBQP algorithm in 19.1.0, not that that's an issue in 19, I had the same difficulty in 15 before upgrading.

I have examined these ways to choose RegAllocPBQP:

  1. "-regalloc={greedy,default,fast,basic}" does not support pbqp.

  2. std::unique_ptrllvm::legacy::FunctionPassManager fpm;
    fpm->add( llvm::createDefaultPBQPRegisterAllocator() );

    Asserts with "Pass [llvm::SlotIndexesWrapperPass] is not initialized"

Some thoughts:

A. Is RegAllocPBQP deprecated and I shouldn't bother?

B. Am I unaware of another way besides legacy FunctionPassManager to add the PBQP allocator? - which it seems would also require disabling "-regalloc" since otherwise it would seem two different allocators would be requested.

C. No one's gotten around to integrating RegAllocPBQP into the "-regalloc" methodology?

Notes:

  • Target is x64
  • Other than trying PBQP is there an option to block spilling?

Metadata

Metadata

Assignees

No one assigned

    Labels

    llvm:regallocquestionA question, not bug report. Check out https://llvm.org/docs/GettingInvolved.html instead!

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions