<div>There are three main register allocation strategies in the backend of LLVM. If I want to design and implement a new algorithm, how can I add it to LLVM and call it from llc just as the three options like </div><div><pre style="overflow-x: auto; overflow-y: hidden; font-family: Consolas, 'Deja Vu Sans Mono', 'Bitstream Vera Sans Mono', monospace; font-size: 0.95em; line-height: 15px; padding: 0.5em; border: 1px solid rgb(204, 204, 204); background-color: rgb(248, 248, 248); ">llc -regalloc<span class="o" style="color: rgb(102, 102, 102); ">=</span>fast file.bc -o fa.s</pre><pre style="overflow-x: auto; overflow-y: hidden; font-family: Consolas, 'Deja Vu Sans Mono', 'Bitstream Vera Sans Mono', monospace; font-size: 0.95em; line-height: 15px; padding: 0.5em; border: 1px solid rgb(204, 204, 204); background-color: rgb(248, 248, 248); ">llc -regalloc=new file.bc -o new.s</pre></div>