llir-opt  0.0.1
Low-Level Post-Link Optimiser for OCaml and C
cond.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 <cstdint>
8 
9 #include <llvm/Support/raw_ostream.h>
10 
11 
15 enum class Cond : uint8_t {
16  EQ, OEQ, UEQ,
17  NE, ONE, UNE,
18  LT, OLT, ULT,
19  GT, OGT, UGT,
20  LE, OLE, ULE,
21  GE, OGE, UGE,
22  O, UO,
23 };
24 
28 Cond GetInverseCond(Cond cc);
29 
33 bool IsOrdered(Cond cc);
34 
38 bool IsEquality(Cond cc);
39 
43 llvm::raw_ostream &operator<<(llvm::raw_ostream &os, Cond reg);