-
Notifications
You must be signed in to change notification settings - Fork 15
/
Copy pathlegalize.h
29 lines (19 loc) · 959 Bytes
/
legalize.h
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
#pragma once
// (c) Robert Muth - see LICENSE for more info
#include <iostream>
#include "BE/Base/ir.h"
#include "BE/CodeGenA64/regs.h"
namespace cwerg::code_gen_a64 {
using namespace cwerg;
extern void PhaseLegalizationStep1(base::Fun fun, base::Unit unit,
std::ostream* fout);
extern void PhaseLegalizationStep2(base::Fun fun, base::Unit unit,
std::ostream* fout);
extern void PhaseGlobalRegAlloc(base::Fun fun, base::Unit unit,
std::ostream* fout);
extern void PhaseFinalizeStackAndLocalRegAlloc(base::Fun fun, base::Unit unit,
std::ostream* fout);
void LegalizeAll(base::Unit unit, bool verbose, std::ostream* fout);
void RegAllocGlobal(base::Unit unit, bool verbose, std::ostream* fout);
void RegAllocLocal(base::Unit unit, bool verbose, std::ostream* fout);
} // namespace cwerg::code_gen_a64