LLVM  13.0.0git
WebAssemblyDebugValueManager.h
Go to the documentation of this file.
1 // WebAssemblyDebugValueManager.h - WebAssembly DebugValue Manager -*- C++ -*-//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 ///
9 /// \file
10 /// This file contains the declaration of the WebAssembly-specific
11 /// manager for DebugValues associated with the specific MachineInstr.
12 ///
13 //===----------------------------------------------------------------------===//
14 
15 #ifndef LLVM_LIB_TARGET_WEBASSEMBLY_WEBASSEMBLYDEBUGVALUEMANAGER_H
16 #define LLVM_LIB_TARGET_WEBASSEMBLY_WEBASSEMBLYDEBUGVALUEMANAGER_H
17 
18 #include "llvm/ADT/SmallVector.h"
19 
20 namespace llvm {
21 
22 class MachineInstr;
23 
26  unsigned CurrentReg;
27 
28 public:
30 
31  void move(MachineInstr *Insert);
32  void updateReg(unsigned Reg);
33  void clone(MachineInstr *Insert, unsigned NewReg);
34  void replaceWithLocal(unsigned LocalId);
35 };
36 
37 } // end namespace llvm
38 
39 #endif
llvm::WebAssemblyDebugValueManager::clone
void clone(MachineInstr *Insert, unsigned NewReg)
Definition: WebAssemblyDebugValueManager.cpp:52
llvm
Definition: AllocatorList.h:23
Reg
unsigned Reg
Definition: MachineSink.cpp:1566
Insert
Vector Rotate Left Mask Mask Insert
Definition: README_P9.txt:112
llvm::SmallVector
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.
Definition: SmallVector.h:1168
llvm::MachineInstr
Representation of each machine instruction.
Definition: MachineInstr.h:64
llvm::WebAssemblyDebugValueManager::move
void move(MachineInstr *Insert)
Definition: WebAssemblyDebugValueManager.cpp:39
llvm::WebAssemblyDebugValueManager
Definition: WebAssemblyDebugValueManager.h:24
llvm::WebAssemblyDebugValueManager::WebAssemblyDebugValueManager
WebAssemblyDebugValueManager(MachineInstr *Instr)
Definition: WebAssemblyDebugValueManager.cpp:21
llvm::WebAssemblyDebugValueManager::updateReg
void updateReg(unsigned Reg)
Definition: WebAssemblyDebugValueManager.cpp:45
SmallVector.h
llvm::WebAssemblyDebugValueManager::replaceWithLocal
void replaceWithLocal(unsigned LocalId)
Definition: WebAssemblyDebugValueManager.cpp:64