Failed to fetch fork details. Try again later.
-
yas authorede73862f4
Forked from
汪汪队立大功队 / wwdldg
Source project has a limited visibility.
#ifndef IR_COND_H
#define IR_COND_H
#include "../IR/llvm.h"
#include "lir.h"
std::map<ICmpInst::ICmpOp, LIRInstruction::LIRCondTy> _ICmpOp2LIRCondTy_ =
{{ICmpInst::ICmpOp::ICMP_EQ, LIRInstruction::LIRCondTy::LCondEQ},
{ICmpInst::ICmpOp::ICMP_NE, LIRInstruction::LIRCondTy::LCondNE},
{ICmpInst::ICmpOp::ICMP_UGT, LIRInstruction::LIRCondTy::LCondHI},
{ICmpInst::ICmpOp::ICMP_UGE, LIRInstruction::LIRCondTy::LCondCS},
{ICmpInst::ICmpOp::ICMP_ULT, LIRInstruction::LIRCondTy::LCondCC},
{ICmpInst::ICmpOp::ICMP_ULE, LIRInstruction::LIRCondTy::LCondLS},
{ICmpInst::ICmpOp::ICMP_SGT, LIRInstruction::LIRCondTy::LCondGT},
{ICmpInst::ICmpOp::ICMP_SGE, LIRInstruction::LIRCondTy::LCondGE},
{ICmpInst::ICmpOp::ICMP_SLT, LIRInstruction::LIRCondTy::LCondLT},
{ICmpInst::ICmpOp::ICMP_SLE, LIRInstruction::LIRCondTy::LCondLE}};
std::map<FCmpInst::FCmpOp, LIRInstruction::LIRCondTy> _FCmpOp2LIRCondTy_ =
{{FCmpInst::FCmpOp::FCMP_OEQ, LIRInstruction::LIRCondTy::LCondEQ},
{FCmpInst::FCmpOp::FCMP_OGT, LIRInstruction::LIRCondTy::LCondGT},
{FCmpInst::FCmpOp::FCMP_OGE, LIRInstruction::LIRCondTy::LCondGE},
{FCmpInst::FCmpOp::FCMP_OLT, LIRInstruction::LIRCondTy::LCondCC},
{FCmpInst::FCmpOp::FCMP_OLE, LIRInstruction::LIRCondTy::LCondLS},
{FCmpInst::FCmpOp::FCMP_ONE, LIRInstruction::LIRCondTy::LCondNE},
{FCmpInst::FCmpOp::FCMP_ORD, LIRInstruction::LIRCondTy::LCondVC},
{FCmpInst::FCmpOp::FCMP_UNO, LIRInstruction::LIRCondTy::LCondVS},
{FCmpInst::FCmpOp::FCMP_UEQ, LIRInstruction::LIRCondTy::LCondEQ},
{FCmpInst::FCmpOp::FCMP_UGT, LIRInstruction::LIRCondTy::LCondHI},
{FCmpInst::FCmpOp::FCMP_UGE, LIRInstruction::LIRCondTy::LCondCS},
{FCmpInst::FCmpOp::FCMP_ULT, LIRInstruction::LIRCondTy::LCondLT},
{FCmpInst::FCmpOp::FCMP_ULE, LIRInstruction::LIRCondTy::LCondLE},
{FCmpInst::FCmpOp::FCMP_UNE, LIRInstruction::LIRCondTy::LCondNE},
{FCmpInst::FCmpOp::FCMP_TRUE, LIRInstruction::LIRCondTy::LCondNone}};
std::map<LIRInstruction::LIRCondTy, LIRInstruction::LIRCondTy> _LIRCondTyInverse_ =
{{LIRInstruction::LIRCondTy::LCondEQ, LIRInstruction::LIRCondTy::LCondEQ},
{LIRInstruction::LIRCondTy::LCondNE, LIRInstruction::LIRCondTy::LCondNE},
{LIRInstruction::LIRCondTy::LCondGT, LIRInstruction::LIRCondTy::LCondLT},
{LIRInstruction::LIRCondTy::LCondGE, LIRInstruction::LIRCondTy::LCondLE},
{LIRInstruction::LIRCondTy::LCondLT, LIRInstruction::LIRCondTy::LCondGT},
{LIRInstruction::LIRCondTy::LCondLE, LIRInstruction::LIRCondTy::LCondGE},
{LIRInstruction::LIRCondTy::LCondHI, LIRInstruction::LIRCondTy::LCondCC},
{LIRInstruction::LIRCondTy::LCondCS, LIRInstruction::LIRCondTy::LCondLS},
{LIRInstruction::LIRCondTy::LCondCC, LIRInstruction::LIRCondTy::LCondHI},
{LIRInstruction::LIRCondTy::LCondLS, LIRInstruction::LIRCondTy::LCondCS}};
std::map<Value*, unsigned int> var_offset;
std::map<Value*, unsigned int> var_type;
std::map<BasicBlock*, std::string> bb_label_name;
#endif