[llvm-dev] Instruction scheduling done before or after register allocation

Matthias Braun via llvm-dev llvm-dev at lists.llvm.org
Wed Dec 16 11:00:55 PST 2015


Well we do both, we schedule before and after register allocation. Most targets use the MachineScheduler before register allocation and some opt in to the PostMachineScheduler after register allocation. You can look at the enableMachineScheduler() and enablePostMachineScheduler() methods.

-Matthias

> On Dec 16, 2015, at 9:06 AM, Quentin Colombet via llvm-dev <llvm-dev at lists.llvm.org> wrote:
> 
> Hi,
> 
>> On Dec 16, 2015, at 8:02 AM, Iulia Stirb via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>> 
>> Hi,
>> 
>> I have read the steps of code generation from here: The LLVM Target-Independent Code Generator — LLVM 3.8 documentation
>>  
>>  
>> 
>>  
>>  
>>  
>>  
>>  
>> The LLVM Target-Independent Code Generator — LLVM 3...
>> Instruction Selection Instruction Selection is the process of translating LLVM code presented to the code generator into target-specific machine instructions.
>> View on llvm.org
>> Preview by Yahoo
>>  
>> 
>> Could you please confirm that on actual implementation of LLVM's code generator, the instruction scheduling is done before register allocation?
> 
> This is correct.
> 
> Cheers,
> Quentin
> 
>> 
>> Many thanks,
>> Iulia Stirb
>> _______________________________________________
>> LLVM Developers mailing list
>> llvm-dev at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
> 
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20151216/b6f632d6/attachment.html>


More information about the llvm-dev mailing list