[llvm] r307999 - Add a set of comments explaining why getSubtargetImpl() is deleted on these targets.
Eric Christopher via llvm-commits
llvm-commits at lists.llvm.org
Tue Jul 25 15:22:11 PDT 2017
On Thu, Jul 13, 2017 at 10:56 PM David Blaikie <dblaikie at gmail.com> wrote:
> On Thu, Jul 13, 2017 at 9:34 PM Eric Christopher via llvm-commits <
> llvm-commits at lists.llvm.org> wrote:
>
>> Author: echristo
>> Date: Thu Jul 13 21:33:43 2017
>> New Revision: 307999
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=307999&view=rev
>> Log:
>> Add a set of comments explaining why getSubtargetImpl() is deleted on
>> these targets.
>>
>> Modified:
>> llvm/trunk/lib/Target/AArch64/AArch64TargetMachine.h
>> llvm/trunk/lib/Target/ARM/ARMTargetMachine.h
>> llvm/trunk/lib/Target/PowerPC/PPCTargetMachine.h
>> llvm/trunk/lib/Target/X86/X86TargetMachine.h
>>
>> Modified: llvm/trunk/lib/Target/AArch64/AArch64TargetMachine.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AArch64/AArch64TargetMachine.h?rev=307999&r1=307998&r2=307999&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/lib/Target/AArch64/AArch64TargetMachine.h (original)
>> +++ llvm/trunk/lib/Target/AArch64/AArch64TargetMachine.h Thu Jul 13
>> 21:33:43 2017
>> @@ -36,6 +36,8 @@ public:
>>
>> ~AArch64TargetMachine() override;
>> const AArch64Subtarget *getSubtargetImpl(const Function &F) const
>> override;
>> + // The no argument getSubtargetImpl, while it exists on some, targets
>> is
>>
>
> comma in the wrong spot here ^ ? ("on some targets, is ...")
>
> Other than that, is there any documentation that could be pointed to.
>
> Possible edit: "is deprecated and should not be used in those targets, nor
> reimplemented in this/any other" (the sentence sort of reads like it's
> talking about other targets getSubtargetImpl, but not really talking about
> this one? (how could a function that doesn't exist be deprecated? so it
> must be talking about the other ones, not this one)) *shrug*
>
> Alternatively: // DO NOT IMPLEMENT: There is no such thing as a valid
> default subtarget, subtargets are per-function entities based on the
> target-specific attributes of each function.
>
I like this :)
Done thusly:
echristo at athyra ~/s/llvm> git svn dcommit
Committing to https://llvm.org/svn/llvm-project/llvm/trunk ...
M lib/Target/AArch64/AArch64TargetMachine.h
M lib/Target/ARM/ARMTargetMachine.h
M lib/Target/PowerPC/PPCTargetMachine.h
M lib/Target/X86/X86TargetMachine.h
Committed r309041
-eric
>
>> + // deprecated and should not be used.
>> const AArch64Subtarget *getSubtargetImpl() const = delete;
>>
>> // Pass Pipeline Configuration
>>
>> Modified: llvm/trunk/lib/Target/ARM/ARMTargetMachine.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMTargetMachine.h?rev=307999&r1=307998&r2=307999&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/lib/Target/ARM/ARMTargetMachine.h (original)
>> +++ llvm/trunk/lib/Target/ARM/ARMTargetMachine.h Thu Jul 13 21:33:43 2017
>> @@ -47,6 +47,8 @@ public:
>> ~ARMBaseTargetMachine() override;
>>
>> const ARMSubtarget *getSubtargetImpl(const Function &F) const override;
>> + // The no argument getSubtargetImpl, while it exists on some targets,
>> is
>> + // deprecated and should not be used.
>> const ARMSubtarget *getSubtargetImpl() const = delete;
>> bool isLittleEndian() const { return isLittle; }
>>
>>
>> Modified: llvm/trunk/lib/Target/PowerPC/PPCTargetMachine.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PowerPC/PPCTargetMachine.h?rev=307999&r1=307998&r2=307999&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/lib/Target/PowerPC/PPCTargetMachine.h (original)
>> +++ llvm/trunk/lib/Target/PowerPC/PPCTargetMachine.h Thu Jul 13 21:33:43
>> 2017
>> @@ -41,6 +41,8 @@ public:
>> ~PPCTargetMachine() override;
>>
>> const PPCSubtarget *getSubtargetImpl(const Function &F) const override;
>> + // The no argument getSubtargetImpl, while it exists on some targets,
>> is
>> + // deprecated and should not be used.
>> const PPCSubtarget *getSubtargetImpl() const = delete;
>>
>> // Pass Pipeline Configuration
>>
>> Modified: llvm/trunk/lib/Target/X86/X86TargetMachine.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86TargetMachine.h?rev=307999&r1=307998&r2=307999&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/lib/Target/X86/X86TargetMachine.h (original)
>> +++ llvm/trunk/lib/Target/X86/X86TargetMachine.h Thu Jul 13 21:33:43 2017
>> @@ -40,6 +40,8 @@ public:
>> ~X86TargetMachine() override;
>>
>> const X86Subtarget *getSubtargetImpl(const Function &F) const override;
>> + // The no argument getSubtargetImpl, while it exists on some targets,
>> is
>> + // deprecated and should not be used.
>> const X86Subtarget *getSubtargetImpl() const = delete;
>>
>> TargetIRAnalysis getTargetIRAnalysis() override;
>>
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170725/ce6a187c/attachment.html>
More information about the llvm-commits
mailing list