Jlm
MLIRConverterCommon.cpp
Go to the documentation of this file.
1 /*
2  * Copyright 2024 HÃ¥vard Krogstie <krogstie.havard@gmail.com>
3  * See COPYING for terms of redistribution.
4  */
5 
7 
8 namespace jlm::mlir
9 {
10 
11 // Mapping between each MLIR FP comparison predicate and JLM fpcmp value
12 const util::BijectiveMap<::mlir::arith::CmpFPredicate, llvm::fpcmp> &
14 {
16  { ::mlir::arith::CmpFPredicate::AlwaysTrue, llvm::fpcmp::TRUE },
17  { ::mlir::arith::CmpFPredicate::AlwaysFalse, llvm::fpcmp::FALSE },
18  { ::mlir::arith::CmpFPredicate::OEQ, llvm::fpcmp::oeq },
19  { ::mlir::arith::CmpFPredicate::OGT, llvm::fpcmp::ogt },
20  { ::mlir::arith::CmpFPredicate::OGE, llvm::fpcmp::oge },
21  { ::mlir::arith::CmpFPredicate::OLT, llvm::fpcmp::olt },
22  { ::mlir::arith::CmpFPredicate::OLE, llvm::fpcmp::ole },
23  { ::mlir::arith::CmpFPredicate::ONE, llvm::fpcmp::one },
24  { ::mlir::arith::CmpFPredicate::ORD, llvm::fpcmp::ord },
25  { ::mlir::arith::CmpFPredicate::UEQ, llvm::fpcmp::ueq },
26  { ::mlir::arith::CmpFPredicate::UGT, llvm::fpcmp::ugt },
27  { ::mlir::arith::CmpFPredicate::UGE, llvm::fpcmp::uge },
28  { ::mlir::arith::CmpFPredicate::ULT, llvm::fpcmp::ult },
29  { ::mlir::arith::CmpFPredicate::ULE, llvm::fpcmp::ule },
30  { ::mlir::arith::CmpFPredicate::UNE, llvm::fpcmp::une },
31  { ::mlir::arith::CmpFPredicate::UNO, llvm::fpcmp::uno }
32  };
33  return mapping;
34 }
35 
36 } // namespace jlm::mlir
const util::BijectiveMap<::mlir::arith::CmpFPredicate, llvm::fpcmp > & GetFpCmpPredicateMap()