llir-opt  0.0.1
Low-Level Post-Link Optimiser for OCaml and C
register.h
1 // This file if part of the llir-opt project.
2 // Licensing information can be found in the LICENSE file.
3 // (C) 2018 Nandor Licker. All rights reserved.
4 
5 #pragma once
6 
7 #include <llvm/Support/raw_ostream.h>
8 
9 
10 
12 enum class Register : uint8_t {
14  SP,
16  FS,
18  RET_ADDR,
20  FRAME_ADDR,
22  X86_CR0,
24  X86_CR2,
26  X86_CR3,
28  X86_CR4,
30  X86_DS,
32  X86_ES,
34  X86_SS,
36  X86_FS,
38  X86_GS,
40  X86_CS,
42  AARCH64_FPSR,
44  AARCH64_FPCR,
46  AARCH64_CNTVCT,
48  AARCH64_CNTFRQ,
50  AARCH64_FAR,
52  AARCH64_VBAR,
54  RISCV_FFLAGS,
56  RISCV_FRM,
58  RISCV_FCSR,
60  PPC_FPSCR,
61 };
62 
66 llvm::raw_ostream &operator<<(llvm::raw_ostream &os, Register reg);