diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2017-12-18 20:10:56 +0000 | 
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2017-12-18 20:10:56 +0000 | 
| commit | 044eb2f6afba375a914ac9d8024f8f5142bb912e (patch) | |
| tree | 1475247dc9f9fe5be155ebd4c9069c75aadf8c20 /include/llvm/CodeGen/VirtRegMap.h | |
| parent | eb70dddbd77e120e5d490bd8fbe7ff3f8fa81c6b (diff) | |
Notes
Diffstat (limited to 'include/llvm/CodeGen/VirtRegMap.h')
| -rw-r--r-- | include/llvm/CodeGen/VirtRegMap.h | 33 | 
1 files changed, 19 insertions, 14 deletions
| diff --git a/include/llvm/CodeGen/VirtRegMap.h b/include/llvm/CodeGen/VirtRegMap.h index b9076353fd07..3b06f0393114 100644 --- a/include/llvm/CodeGen/VirtRegMap.h +++ b/include/llvm/CodeGen/VirtRegMap.h @@ -1,4 +1,4 @@ -//===-- llvm/CodeGen/VirtRegMap.h - Virtual Register Map -*- C++ -*--------===// +//===- llvm/CodeGen/VirtRegMap.h - Virtual Register Map ---------*- C++ -*-===//  //  //                     The LLVM Compiler Infrastructure  // @@ -19,15 +19,17 @@  #include "llvm/ADT/IndexedMap.h"  #include "llvm/CodeGen/MachineFunctionPass.h" -#include "llvm/Target/TargetRegisterInfo.h" +#include "llvm/CodeGen/TargetRegisterInfo.h" +#include "llvm/MC/MCRegisterInfo.h" +#include "llvm/Pass.h" +#include <cassert>  namespace llvm { -  class MachineInstr; -  class MachineFunction; -  class MachineRegisterInfo; -  class TargetInstrInfo; -  class raw_ostream; -  class SlotIndexes; + +class MachineFunction; +class MachineRegisterInfo; +class raw_ostream; +class TargetInstrInfo;    class VirtRegMap : public MachineFunctionPass {    public: @@ -63,13 +65,14 @@ namespace llvm {      /// createSpillSlot - Allocate a spill slot for RC from MFI.      unsigned createSpillSlot(const TargetRegisterClass *RC); -    VirtRegMap(const VirtRegMap&) = delete; -    void operator=(const VirtRegMap&) = delete; -    public:      static char ID; +      VirtRegMap() : MachineFunctionPass(ID), Virt2PhysMap(NO_PHYS_REG), -                   Virt2StackSlotMap(NO_STACK_SLOT), Virt2SplitMap(0) { } +                   Virt2StackSlotMap(NO_STACK_SLOT), Virt2SplitMap(0) {} +    VirtRegMap(const VirtRegMap &) = delete; +    VirtRegMap &operator=(const VirtRegMap &) = delete; +      bool runOnMachineFunction(MachineFunction &MF) override;      void getAnalysisUsage(AnalysisUsage &AU) const override { @@ -166,6 +169,7 @@ namespace llvm {      /// @brief create a mapping for the specifed virtual register to      /// the next available stack slot      int assignVirt2StackSlot(unsigned virtReg); +      /// @brief create a mapping for the specified virtual register to      /// the specified stack slot      void assignVirt2StackSlot(unsigned virtReg, int frameIndex); @@ -178,6 +182,7 @@ namespace llvm {      VRM.print(OS);      return OS;    } -} // End llvm namespace -#endif +} // end llvm namespace + +#endif // LLVM_CODEGEN_VIRTREGMAP_H | 
