LRDE Tiger Compiler  1.34a $Id: 7fef12e1f5fa43449d667a0eec1d837c40fc1202 $
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
move.hh
Go to the documentation of this file.
1 
6 #ifndef ASSEM_MOVE_HH
7 # define ASSEM_MOVE_HH
8 
9 # include <assem/instr.hh>
10 
11 namespace assem
12 {
13 
14  class Move : public Instr
15  {
16  public:
17  Move(const std::string& assem,
18  const temp::Temp& used_temps,
19  const temp::Temp& defd_temps);
20 
21  temp::Temp dst_get() const;
22 
23  temp::Temp src_get() const;
24 
25  temp::Temp use_get() const;
26 
27  temp::Temp def_get() const;
28 
29  virtual std::ostream& dump(std::ostream& ostr) const override;
30  }; // class Move
31 
32  // Shorthand.
33  typedef std::list<assem::Move*> moves_type;
34  typedef std::list<const assem::Move*> const_moves_type;
35 
36 } // namespace assem
37 
38 # include <assem/move.hxx>
39 
40 #endif // !ASSEM_MOVE_HH