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

#include "gimple-escaper.hpp"

/*
 * GimpleCaster is intended to walk gimple
 * and update a map that will hold information
 * on whether a type was casted or not.
 */
class GimpleCaster : public GimpleEscaper
{
public:
  GimpleCaster(ptrset_t &types) : GimpleEscaper(types) {};
private:
  virtual void _walk_pre(gcall *s) final;
  // Find out which structs are casted.
  // Technically we could find this out on parent
  virtual void _walk_pre(gassign *s) final;
};