[llvm-dev] VLIW support

Krzysztof Parzyszek via llvm-dev llvm-dev at lists.llvm.org
Tue Sep 29 14:13:18 PDT 2015


On 9/25/2015 6:41 PM, Rail Shafigulin via llvm-dev wrote:
> Kun,
>
> Thanks for the reply. I looked at it, but wasn't able to find where
> actual instruction bundling takes place, i.e. where exactly in the code
> they pack instruction into a single bundle. Do you know where it is
> done? I would really appreciate any pointers.
>

The main apparatus that does that is in DFAPacketizer.cpp.  It keeps 
track of the available resources for the currently built bundle.  The 
HexagonVLIWPacketizer.cpp does a lot, but it's mostly concerned with 
what instructions can or cannot go together.  In essence, it tries to 
add the next instruction to the bundle currently under construction.  If 
that succeeds, it goes for the next instruction, if it fails, it 
finalizes the bundle and puts the instruction in a fresh bundle.  It 
repeats this process for each basic block in the function.

-Krzysztof

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, 
hosted by The Linux Foundation


More information about the llvm-dev mailing list