[CodeGen] Include MachineInstr.h
authorKazu Hirata <kazu@google.com>
Sun, 18 Dec 2022 23:12:30 +0000 (15:12 -0800)
committerKazu Hirata <kazu@google.com>
Sun, 18 Dec 2022 23:12:30 +0000 (15:12 -0800)
This patch teaches DbgEntityHistoryCalculator.h to include
MachineInstr.h so that the header file is self contained.

Without this patch, a C++ source file that only includes
DbgEntityHistoryCalculator.h does not compile because:

  PointerIntPair<const MachineInstr *, 1, EntryKind> Instr;

wants to know the alignment of llvm::MachineInstr:

  llvm/include/llvm/Support/PointerLikeTypeTraits.h:61:28: error:
  invalid application of 'alignof' to an incomplete type
  'llvm::MachineInstr'
          detail::ConstantLog2<alignof(T)>::value;
                               ^~~~~~~~~~

llvm/include/llvm/CodeGen/DbgEntityHistoryCalculator.h

index 4658291..0cfe04a 100644 (file)
@@ -12,6 +12,7 @@
 #include "llvm/ADT/MapVector.h"
 #include "llvm/ADT/PointerIntPair.h"
 #include "llvm/ADT/SmallVector.h"
+#include "llvm/CodeGen/MachineInstr.h"
 #include <utility>
 
 namespace llvm {
@@ -20,7 +21,6 @@ class DILocation;
 class LexicalScopes;
 class DINode;
 class MachineFunction;
-class MachineInstr;
 class TargetRegisterInfo;
 
 /// Record instruction ordering so we can query their relative positions within