[llvm-dev] [SelectionDAG] lowering shifts to parts

Krzysztof Parzyszek via llvm-dev llvm-dev at lists.llvm.org
Fri Jun 29 08:20:37 PDT 2018


On 6/29/2018 8:18 AM, Davis, Alan via llvm-dev wrote:
> 
> Is there some other way? Do I need to make a custom action? If so, can I 
> just call ExpandIntRes_Shift(), which performs that transformation for 
> type legalization?

Yes, you need to implement custom lowering to the operations that are 
legal on your target. You cannot call ExpandResInt_Shift because that 
function is not available in target lowering (it's a function in the 
type legalizer). Your lowering to parts will need to combine the results 
into a value of type i64, so that the result type will match the 
original type of the shift.

-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