[llvm-dev] Deprecating ADDC/ADDE/SUBC/SUBE

Friedman, Eli via llvm-dev llvm-dev at lists.llvm.org
Thu May 31 12:37:09 PDT 2018


On 5/31/2018 11:28 AM, whitequark via llvm-dev wrote:
> On 2018-05-30 16:57, Amaury Séchet via llvm-dev wrote:
>> These opcodes have been deprecated about a year ago, but still in use
>> in various backend.
>>
>> In https://reviews.llvm.org/D47422 I would like to change the behavior
>> of the backend to not enable the use of these opcodes by default. The
>> opcode remains usable by any backend that wish to use them, but that
>> should limit the situation where newer backend just use them as they
>> are enabled by default.
>>
>> This shouldn't break any out of tree backend, however, it may cause
>> misoptimisation if the backend dev do not activate these opcodes via
>> setOperationAction and rely on them for some of their optimizations.
>
> Thanks for heads up, this will impact the OR1K backend.
>
> Is there any guidance for migrating to U*O/*CARRY?
>
If your target has a dedicated flags/carry register (x86/ARM/etc.), see 
https://reviews.llvm.org/D35192 for a description of how to add the 
necessary conversions to get efficient lowering.  Otherwise, the correct 
lowering should be obvious; see https://reviews.llvm.org/D47559 .

-Eli

-- 
Employee of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project



More information about the llvm-dev mailing list