[llvm] r276874 - [AArch64] Mark various *Info classes as 'final'. NFC.

Ahmed Bougacha via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 2 04:32:56 PDT 2016


On Mon, Aug 1, 2016 at 11:30 AM, David Blaikie <dblaikie at gmail.com> wrote:
> Any particular reason/motivation for this?

Not really, seemed like free goodness that can only help (I measured
after the fact, looks like it shaves off a few dozen indirect calls in
AArch64 passes; don't know how frequent they are though).

Now I'm curious: it's not?

-Ahmed

> On Wed, Jul 27, 2016 at 7:39 AM Ahmed Bougacha via llvm-commits
> <llvm-commits at lists.llvm.org> wrote:
>>
>> Author: ab
>> Date: Wed Jul 27 09:31:46 2016
>> New Revision: 276874
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=276874&view=rev
>> Log:
>> [AArch64] Mark various *Info classes as 'final'. NFC.
>>
>> Modified:
>>     llvm/trunk/lib/Target/AArch64/AArch64InstrInfo.h
>>     llvm/trunk/lib/Target/AArch64/AArch64MachineFunctionInfo.h
>>     llvm/trunk/lib/Target/AArch64/AArch64RegisterBankInfo.h
>>     llvm/trunk/lib/Target/AArch64/AArch64RegisterInfo.h
>>     llvm/trunk/lib/Target/AArch64/AArch64Subtarget.h
>>
>> Modified: llvm/trunk/lib/Target/AArch64/AArch64InstrInfo.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AArch64/AArch64InstrInfo.h?rev=276874&r1=276873&r2=276874&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/lib/Target/AArch64/AArch64InstrInfo.h (original)
>> +++ llvm/trunk/lib/Target/AArch64/AArch64InstrInfo.h Wed Jul 27 09:31:46
>> 2016
>> @@ -27,7 +27,7 @@ namespace llvm {
>>  class AArch64Subtarget;
>>  class AArch64TargetMachine;
>>
>> -class AArch64InstrInfo : public AArch64GenInstrInfo {
>> +class AArch64InstrInfo final : public AArch64GenInstrInfo {
>>    const AArch64RegisterInfo RI;
>>    const AArch64Subtarget &Subtarget;
>>
>>
>> Modified: llvm/trunk/lib/Target/AArch64/AArch64MachineFunctionInfo.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AArch64/AArch64MachineFunctionInfo.h?rev=276874&r1=276873&r2=276874&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/lib/Target/AArch64/AArch64MachineFunctionInfo.h (original)
>> +++ llvm/trunk/lib/Target/AArch64/AArch64MachineFunctionInfo.h Wed Jul 27
>> 09:31:46 2016
>> @@ -23,7 +23,7 @@ namespace llvm {
>>
>>  /// AArch64FunctionInfo - This class is derived from MachineFunctionInfo
>> and
>>  /// contains private AArch64-specific information for each
>> MachineFunction.
>> -class AArch64FunctionInfo : public MachineFunctionInfo {
>> +class AArch64FunctionInfo final : public MachineFunctionInfo {
>>
>>    /// Number of bytes of arguments this function has on the stack. If the
>> callee
>>    /// is expected to restore the argument stack this should be a multiple
>> of 16,
>>
>> Modified: llvm/trunk/lib/Target/AArch64/AArch64RegisterBankInfo.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AArch64/AArch64RegisterBankInfo.h?rev=276874&r1=276873&r2=276874&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/lib/Target/AArch64/AArch64RegisterBankInfo.h (original)
>> +++ llvm/trunk/lib/Target/AArch64/AArch64RegisterBankInfo.h Wed Jul 27
>> 09:31:46 2016
>> @@ -30,7 +30,7 @@ enum {
>>  } // End AArch64 namespace.
>>
>>  /// This class provides the information for the target register banks.
>> -class AArch64RegisterBankInfo : public RegisterBankInfo {
>> +class AArch64RegisterBankInfo final : public RegisterBankInfo {
>>    /// See RegisterBankInfo::applyMapping.
>>    void applyMappingImpl(const OperandsMapper &OpdMapper) const override;
>>
>>
>> Modified: llvm/trunk/lib/Target/AArch64/AArch64RegisterInfo.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AArch64/AArch64RegisterInfo.h?rev=276874&r1=276873&r2=276874&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/lib/Target/AArch64/AArch64RegisterInfo.h (original)
>> +++ llvm/trunk/lib/Target/AArch64/AArch64RegisterInfo.h Wed Jul 27
>> 09:31:46 2016
>> @@ -24,7 +24,7 @@ class RegScavenger;
>>  class TargetRegisterClass;
>>  class Triple;
>>
>> -class AArch64RegisterInfo : public AArch64GenRegisterInfo {
>> +class AArch64RegisterInfo final : public AArch64GenRegisterInfo {
>>    const Triple &TT;
>>
>>  public:
>>
>> Modified: llvm/trunk/lib/Target/AArch64/AArch64Subtarget.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AArch64/AArch64Subtarget.h?rev=276874&r1=276873&r2=276874&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/lib/Target/AArch64/AArch64Subtarget.h (original)
>> +++ llvm/trunk/lib/Target/AArch64/AArch64Subtarget.h Wed Jul 27 09:31:46
>> 2016
>> @@ -32,7 +32,7 @@ class GlobalValue;
>>  class StringRef;
>>  class Triple;
>>
>> -class AArch64Subtarget : public AArch64GenSubtargetInfo {
>> +class AArch64Subtarget final : public AArch64GenSubtargetInfo {
>>  public:
>>    enum ARMProcFamilyEnum : uint8_t {
>>      Others,
>>
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits


More information about the llvm-commits mailing list