[LLVMdev] No more TargetFlags on MO_Register MachineOperands
Owen Anderson
resistor at mac.com
Wed Aug 22 11:41:17 PDT 2012
On Aug 22, 2012, at 11:34 AM, "Villmow, Micah" <Micah.Villmow at amd.com> wrote:
>
>
>> -----Original Message-----
>> From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu]
>> On Behalf Of Owen Anderson
>> Sent: Tuesday, August 21, 2012 11:37 AM
>> To: Stellard, Thomas
>> Cc: llvmdev at cs.illinois.edu
>> Subject: Re: [LLVMdev] No more TargetFlags on MO_Register
>> MachineOperands
>>
>> Tom,
>>
>> The generally accepted way of achieving this is to leave the built-in
>> pattern on the instruction empty, and to use def : Pat constructs to
>> provide the default values.
>>
>> def : Pat<(fceil R600_Reg32:$src), (CEIL R600_Reg32:$src, (i32 0))>;
>>
> [Villmow, Micah] Doing this for every instruction is unrealistic.
Not particularly. There are backends already in existence that make heavy use of it. The key is that def : Pat constructs can take advantage of all of the same mechanisms for factoring out commonality that normal patterns can, including multiclasses and ComplexOperands.
--Owen
More information about the llvm-dev
mailing list