[PATCH] D101588: [M68k] fix -Wdefaulted-function-deleted and -Woverloaded-virtual

Nick Desaulniers via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 29 16:16:36 PDT 2021


nickdesaulniers created this revision.
nickdesaulniers added reviewers: myhsu, glaubitz.
Herald added a subscriber: hiraditya.
nickdesaulniers requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

Fixes the following warnings observerd when building the experimental
m68k backend (-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="M68k"):

../lib/Target/M68k/M68kMachineFunction.h:71:3: warning: explicitly
defaulted default constructor is implicitly deleted
[-Wdefaulted-function-deleted]

  M68kMachineFunctionInfo() = default;
  ^

../lib/Target/M68k/M68kMachineFunction.h:24:20: note: default
constructor of 'M68kMachineFunctionInfo' is implicitly deleted because
field 'MF' of reference type 'llvm::MachineFunction &' would not be
initialized

  MachineFunction &MF;
                   ^

In file included from ../lib/Target/M68k/M68kISelLowering.cpp:18:
In file included from ../lib/Target/M68k/M68kSubtarget.h:17:
../lib/Target/M68k/M68kFrameLowering.h:60:8: warning:
'llvm::M68kFrameLowering::emitCalleeSavedFrameMoves' hides overloaded
virtual functions [-Woverloaded-virtual]

  void emitCalleeSavedFrameMoves(MachineBasicBlock &MBB,
       ^

../include/llvm/CodeGen/TargetFrameLowering.h:215:3: note: hidden
overloaded virtual function
'llvm::TargetFrameLowering::emitCalleeSavedFrameMoves' declared here:
different number of parameters (2 vs 3)

  emitCalleeSavedFrameMoves(MachineBasicBlock &MBB,
  ^

../include/llvm/CodeGen/TargetFrameLowering.h:218:16: note: hidden
overloaded virtual function
'llvm::TargetFrameLowering::emitCalleeSavedFrameMoves' declared here:
different number of parameters (4 vs 3)

  virtual void emitCalleeSavedFrameMoves(MachineBasicBlock &MBB,
               ^

pr/50071


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D101588

Files:
  llvm/lib/Target/M68k/M68kFrameLowering.cpp
  llvm/lib/Target/M68k/M68kFrameLowering.h
  llvm/lib/Target/M68k/M68kMachineFunction.h


Index: llvm/lib/Target/M68k/M68kMachineFunction.h
===================================================================
--- llvm/lib/Target/M68k/M68kMachineFunction.h
+++ llvm/lib/Target/M68k/M68kMachineFunction.h
@@ -68,7 +68,6 @@
   unsigned ArgumentStackSize = 0;
 
 public:
-  M68kMachineFunctionInfo() = default;
   explicit M68kMachineFunctionInfo(MachineFunction &MF) : MF(MF) {}
 
   bool getRestoreBasePointer() const { return RestoreBasePointerOffset != 0; }
Index: llvm/lib/Target/M68k/M68kFrameLowering.h
===================================================================
--- llvm/lib/Target/M68k/M68kFrameLowering.h
+++ llvm/lib/Target/M68k/M68kFrameLowering.h
@@ -59,7 +59,8 @@
 
   void emitCalleeSavedFrameMoves(MachineBasicBlock &MBB,
                                  MachineBasicBlock::iterator MBBI,
-                                 const DebugLoc &DL) const;
+                                 const DebugLoc &DL,
+                                 bool IsProlog) const override;
 
   unsigned getPSPSlotOffsetFromSP(const MachineFunction &MF) const;
 
Index: llvm/lib/Target/M68k/M68kFrameLowering.cpp
===================================================================
--- llvm/lib/Target/M68k/M68kFrameLowering.cpp
+++ llvm/lib/Target/M68k/M68kFrameLowering.cpp
@@ -449,7 +449,7 @@
 
 void M68kFrameLowering::emitCalleeSavedFrameMoves(
     MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
-    const DebugLoc &DL) const {
+    const DebugLoc &DL, bool IsProlog) const {
   MachineFunction &MF = *MBB.getParent();
   MachineFrameInfo &MFI = MF.getFrameInfo();
   MachineModuleInfo &MMI = MF.getMMI();
@@ -656,7 +656,7 @@
 
     // Emit DWARF info specifying the offsets of the callee-saved registers.
     if (PushedRegs)
-      emitCalleeSavedFrameMoves(MBB, MBBI, DL);
+      emitCalleeSavedFrameMoves(MBB, MBBI, DL, true);
   }
 
   // TODO Interrupt handlers


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D101588.341701.patch
Type: text/x-patch
Size: 1894 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210429/11123240/attachment.bin>


More information about the llvm-commits mailing list