aboutsummaryrefslogtreecommitdiff
path: root/src/opt.c
blob: 426663a5e68ce3de018e0263c09a2fe5cd651c36 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <stdio.h>

#include <qbt/opt.h>
#include <qbt/regalloc.h>
#include <qbt/abi.h>

void optimize(struct fn *f)
{
	printf("\n// initial:\n");
	dump_function(f);

	f->ntmp = correct(f, f->ntmp);
	printf("\n// corrections:\n");
	dump_function(f);

	/* unreachability is done in several steps I guess */
	ssa(f);
	printf("\n// after SSA:\n");
	dump_function(f);

	abi0(f);
	printf("\n// after abi0:\n");
	dump_function(f);

	/* ... do more stuff ... */
	regalloc(f);
	printf("\n// after regalloc:\n");
	dump_function(f);
}