aboutsummaryrefslogtreecommitdiff
path: root/regalloc.h
blob: 6ba04704fab9fd6889896a4b5d07cc50a9b7b5d2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#pragma once

#include <stdbool.h>
#include "ir.h"


struct allocation_record {
	bool spill;
	int reg;  // only used if spill == false
};

struct allocation {
	int numregs;
	struct allocation_record *allocs;
};

struct allocation* regalloc(const struct ir *ir);

void allocation_delete(struct allocation *alloc);