<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/123970>123970</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            RegAllocPBQP inaccessible
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          Bob64375
      </td>
    </tr>
</table>

<pre>
    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_ptr<llvm::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?





</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJxsVMuO4zYQ_Br60rAgU5Y1PujgxxrxIZvJboAcg5bYkphIpIbdGo_z9QGleWQWCximQTerqovVRGbbOqJS5UeVn1c4SedDefTVbpsV-ary5l7-YpU-qfSg0sMVcIAOn61rwdimsfXUyx1aEolbff88gHiYmEA6gm_UHvre14_H3x8B-9YHK90A1sFmn2ySVOkTOC8gHS5fShcM6MAyT7TUxZordGhmRMaB_s8cS3KoqPGBYBrbgMa6NoE3uR0-E9ALDtbRjMAEN7xzVFl33vNnkSo7LCc3CSit14FajP-p7KyKYxuIzF3pk6EGp16UPjXIcamQba2Ks9IajCeeu-JpHH0QGKunMVlgdQIsJrJkh8nZp4n-GiWo7BSdW7Z7arG-L78vk6vFeveIzL-iw5aCyr6odN-Mg8qOKj0AADTjsFbZFzRG6Qf4QKoDodB50Rq7-0atZaEwt4vig9IPSu9B6f2C9gp4YKYgDHCz0kUfIj-o_PiB_b33cnWGXoj_DDiOFGKNys9gl-ats2Kxt_-SUVov2N_9EHPhp7YTfrf6kMCVP0fF0BioRiED6AxcgTs_9cYpXQhUXrrow2U5fkzgMMAVJoc3DAS-AXRzSbxoqIitIYbFVviJozEKaJZ4vQb1zZ7sAmu4dbbuwAow0cBwi0oAe_YQ6GmyIeaRserjAHzKjNbA1tUEs5qbZYooy_mIBXLzc5YpkJMP2jeOimYGYiHzmp9TAl89eEfzoLRehBxg8JMzsQ3rhNqA8yx-MtQ68XODPwocSDpvfO_b-7ujX71QvJ44RGv4A0NLEq_1Zbedd-C32V3p0IGEeyRbSDhSBIoD7MfoctRU9b7-B3i0fXToneT9szJlZvbZHldUboqsyHf5LstWXVkbarJ0g02-rfQDbfKcGoO7ZmdyzA3tV7bUqc7TjdabIi02WbKtcYtFXm3rCne7olHblAa0fRJzm_jQruZ3pdzobF-kqx4r6nl--rR2dFtenZjW_LwKZTy0rqaW1TbtLQt_wIiVnsofHMa6JmZb9bSaQl92IuMccn1R-tJa6aYqqf2g9GUeo2VZj8H_TbUofZnZWenLq7znUv8XAAD___ak10w">