summaryrefslogtreecommitdiff
path: root/gcc/gimple-collector.hpp
blob: 0c7bba0720eed8c677dce53b598a39b71291b419 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#pragma once

#include "gimple-walker.hpp"
#include "expr-collector.hpp"

class GimpleTypeCollector : public GimpleWalker
{
private:
  ExprCollector exprCollector;
public:
  GimpleTypeCollector() {};
  ptrset_t get_pointer_set() { return exprCollector.get_pointer_set(); }
  // TODO: I believe this could be made const
  void print_collected();
private:
  virtual void _walk_pre(const_tree) final;
  virtual void _walk_pre(gassign *s) final;
  virtual void _walk_pre(greturn *s) final;
  virtual void _walk_pre(gcond *s) final;
  virtual void _walk_pre(gcall *s) final;
};