Home | History | Annotate | Download | only in src

Lines Matching refs:Func

48 OperandMIPS32Mem::OperandMIPS32Mem(Cfg *Func, Type Ty, Variable *Base,
52 (void)Func;
157 template <> void InstMIPS32Lui::emit(const Cfg *Func) const {
160 Ostream &Str = Func->getContext()->getStrEmit();
163 getDest()->emit(Func);
169 CR->emitWithoutPrefix(Func->getTarget());
172 Src0->emit(Func);
176 InstMIPS32Br::InstMIPS32Br(Cfg *Func, const CfgNode *TargetTrue,
179 : InstMIPS32(Func, InstMIPS32::Br, 0, nullptr), TargetTrue(TargetTrue),
182 InstMIPS32Br::InstMIPS32Br(Cfg *Func, const CfgNode *TargetTrue,
185 : InstMIPS32(Func, InstMIPS32::Br, 1, nullptr), TargetTrue(TargetTrue),
190 InstMIPS32Br::InstMIPS32Br(Cfg *Func, const CfgNode *TargetTrue,
194 : InstMIPS32(Func, InstMIPS32::Br, 2, nullptr), TargetTrue(TargetTrue),
253 InstMIPS32Label::InstMIPS32Label(Cfg *Func, TargetMIPS32 *Target)
254 : InstMIPS32(Func, InstMIPS32::Label, 0, nullptr),
258 Func->getContext(),
259 ".L" + Func->getFunctionName() + "$local$__" + std::to_string(Number));
261 Name = GlobalString::createWithoutString(Func->getContext());
265 void InstMIPS32Label::dump(const Cfg *Func) const {
268 Ostream &Str = Func->getContext()->getStrDump();
272 void InstMIPS32Label::emit(const Cfg *Func) const {
275 Ostream &Str = Func->getContext()->getStrEmit();
279 void InstMIPS32Label::emitIAS(const Cfg *Func) const {
280 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
284 InstMIPS32Call::InstMIPS32Call(Cfg *Func, Variable *Dest, Operand *CallTarget)
285 : InstMIPS32(Func, InstMIPS32::Call, 1, Dest) {
290 InstMIPS32Mov::InstMIPS32Mov(Cfg *Func, Variable *Dest, Operand *Src,
292 : InstMIPS32(Func, InstMIPS32::Mov, 2, Dest) {
318 InstMIPS32MovFP64ToI64::InstMIPS32MovFP64ToI64(Cfg *Func, Variable *Dst,
321 : InstMIPS32(Func, InstMIPS32::Mov_fp, 1, Dst), Int64HiLo(Int64HiLo) {
325 InstMIPS32Ret::InstMIPS32Ret(Cfg *Func, Variable *RA, Variable *Source)
326 : InstMIPS32(Func, InstMIPS32::Ret, Source ? 2 : 1, nullptr) {
334 void InstMIPS32::dump(const Cfg *Func) const {
337 Ostream &Str = Func->getContext()->getStrDump();
339 Inst::dump(Func);
342 void OperandMIPS32Mem::emit(const Cfg *Func) const {
345 Ostream &Str = Func->getContext()->getStrEmit();
349 CR->emitWithoutPrefix(Func->getTarget());
352 Offset->emit(Func);
354 getBase()->emit(Func);
359 const Cfg *Func) {
362 Ostream &Str = Func->getContext()->getStrEmit();
364 Inst->getDest()->emit(Func);
366 Inst->getSrc(0)->emit(Func);
369 const Cfg *Func) {
372 Ostream &Str = Func->getContext()->getStrEmit();
374 Inst->getDest()->emit(Func);
378 const Cfg *Func) {
381 Ostream &Str = Func->getContext()->getStrEmit();
383 Inst->getSrc(0)->emit(Func);
387 const Cfg *Func) {
390 Ostream &Str = Func->getContext()->getStrEmit();
393 Inst->getDest()->emit(Func);
395 Inst->getSrc(0)->emit(Func);
397 Inst->getSrc(1)->emit(Func);
401 const Cfg *Func) {
404 Ostream &Str = Func->getContext()->getStrEmit();
407 Inst->getDest()->emit(Func);
409 Inst->getSrc(0)->emit(Func);
413 const Cfg *Func) {
416 Ostream &Str = Func->getContext()->getStrEmit();
419 Inst->getSrc(0)->emit(Func);
421 Inst->getSrc(1)->emit(Func);
424 void InstMIPS32Ret::emit(const Cfg *Func) const {
431 Ostream &Str = Func->getContext()->getStrEmit();
435 RA->emit(Func);
438 void InstMIPS32Br::emitIAS(const Cfg *Func) const {
439 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
475 void InstMIPS32Br::emit(const Cfg *Func) const {
478 Ostream &Str = Func->getContext()->getStrEmit();
485 getSrc(0)->emit(Func);
487 getSrc(1)->emit(Func);
499 getSrc(0)->emit(Func);
501 getSrc(1)->emit(Func);
511 getSrc(0)->emit(Func);
526 void InstMIPS32Br::dump(const Cfg *Func) const {
529 Ostream &Str = Func->getContext()->getStrDump();
537 getSrc(0)->dump(Func);
539 getSrc(1)->dump(Func);
546 dumpSources(Func);
558 void InstMIPS32Call::emit(const Cfg *Func) const {
561 Ostream &Str = Func->getContext()->getStrEmit();
574 CallTarget->emitWithoutPrefix(Func->getTarget());
579 getCallTarget()->emit(Func);
583 void InstMIPS32Call::emitIAS(const Cfg *Func) const {
585 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
597 void InstMIPS32Call::dump(const Cfg *Func) const {
600 Ostream &Str = Func->getContext()->getStrDump();
602 dumpDest(Func);
606 getCallTarget()->dump(Func);
609 void InstMIPS32Ret::emitIAS(const Cfg *Func) const {
610 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
618 void InstMIPS32Ret::dump(const Cfg *Func) const {
621 Ostream &Str = Func->getContext()->getStrDump();
624 dumpSources(Func);
627 void InstMIPS32Mov::emit(const Cfg *Func) const {
631 Ostream &Str = Func->getContext()->getStrEmit();
654 getSrc(0)->emit(Func);
656 getDest()->emit(Func);
682 getDest()->emit(Func);
684 getSrc(0)->emit(Func);
691 void InstMIPS32Mov::emitIAS(const Cfg *Func) const {
701 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
709 void InstMIPS32Mov::dump(const Cfg *Func) const {
713 Ostream &Str = Func->getContext()->getStrDump();
716 Dest->dump(Func);
719 DestHi->dump(Func);
723 dumpSources(Func);
726 template <> void InstMIPS32Abs_d::emitIAS(const Cfg *Func) const {
727 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
731 template <> void InstMIPS32Abs_s::emitIAS(const Cfg *Func) const {
732 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
736 template <> void InstMIPS32Addi::emitIAS(const Cfg *Func) const {
737 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
741 template <> void InstMIPS32Add_d::emitIAS(const Cfg *Func) const {
742 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
746 template <> void InstMIPS32Add_s::emitIAS(const Cfg *Func) const {
747 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
751 template <> void InstMIPS32Addiu::emitIAS(const Cfg *Func) const {
752 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
760 template <> void InstMIPS32Addu::emitIAS(const Cfg *Func) const {
761 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
765 template <> void InstMIPS32And::emitIAS(const Cfg *Func) const {
766 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
770 template <> void InstMIPS32Andi::emitIAS(const Cfg *Func) const {
771 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
775 template <> void InstMIPS32C_eq_d::emitIAS(const Cfg *Func) const {
776 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
780 template <> void InstMIPS32C_eq_s::emitIAS(const Cfg *Func) const {
781 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
785 template <> void InstMIPS32C_ole_d::emitIAS(const Cfg *Func) const {
786 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
790 template <> void InstMIPS32C_ole_s::emitIAS(const Cfg *Func) const {
791 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
795 template <> void InstMIPS32C_olt_d::emitIAS(const Cfg *Func) const {
796 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
800 template <> void InstMIPS32C_olt_s::emitIAS(const Cfg *Func) const {
801 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
805 template <> void InstMIPS32C_ueq_d::emitIAS(const Cfg *Func) const {
806 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
810 template <> void InstMIPS32C_ueq_s::emitIAS(const Cfg *Func) const {
811 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
815 template <> void InstMIPS32C_ule_d::emitIAS(const Cfg *Func) const {
816 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
820 template <> void InstMIPS32C_ule_s::emitIAS(const Cfg *Func) const {
821 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
825 template <> void InstMIPS32C_ult_d::emitIAS(const Cfg *Func) const {
826 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
830 template <> void InstMIPS32C_ult_s::emitIAS(const Cfg *Func) const {
831 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
835 template <> void InstMIPS32C_un_d::emitIAS(const Cfg *Func) const {
836 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
840 template <> void InstMIPS32C_un_s::emitIAS(const Cfg *Func) const {
841 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
845 template <> void InstMIPS32Clz::emitIAS(const Cfg *Func) const {
846 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
850 template <> void InstMIPS32Cvt_d_l::emitIAS(const Cfg *Func) const {
851 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
855 template <> void InstMIPS32Cvt_d_s::emitIAS(const Cfg *Func) const {
856 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
860 template <> void InstMIPS32Cvt_d_w::emitIAS(const Cfg *Func) const {
861 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
865 template <> void InstMIPS32Cvt_s_d::emitIAS(const Cfg *Func) const {
866 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
870 template <> void InstMIPS32Cvt_s_l::emitIAS(const Cfg *Func) const {
871 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
875 template <> void InstMIPS32Cvt_s_w::emitIAS(const Cfg *Func) const {
876 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
880 template <> void InstMIPS32Div::emitIAS(const Cfg *Func) const {
881 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
885 template <> void InstMIPS32Div_d::emitIAS(const Cfg *Func) const {
886 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
890 template <> void InstMIPS32Div_s::emitIAS(const Cfg *Func) const {
891 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
895 template <> void InstMIPS32Divu::emitIAS(const Cfg *Func) const {
896 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
900 template <> void InstMIPS32Lui::emitIAS(const Cfg *Func) const {
901 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
905 template <> void InstMIPS32Ldc1::emitIAS(const Cfg *Func) const {
906 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
911 template <> void InstMIPS32Ll::emitIAS(const Cfg *Func) const {
912 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
919 template <> void InstMIPS32Lw::emitIAS(const Cfg *Func) const {
920 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
927 template <> void InstMIPS32Lwc1::emitIAS(const Cfg *Func) const {
928 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
933 template <> void InstMIPS32Mfc1::emitIAS(const Cfg *Func) const {
934 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
938 template <> void InstMIPS32Mflo::emit(const Cfg *Func) const {
941 emitUnaryopGPRFLoHi(Opcode, this, Func);
944 template <> void InstMIPS32Mflo::emitIAS(const Cfg *Func) const {
945 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
949 template <> void InstMIPS32Mfhi::emit(const Cfg *Func) const {
952 emitUnaryopGPRFLoHi(Opcode, this, Func);
955 template <> void InstMIPS32Mfhi::emitIAS(const Cfg *Func) const {
956 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
960 template <> void InstMIPS32Mov_d::emitIAS(const Cfg *Func) const {
961 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
965 template <> void InstMIPS32Mov_s::emitIAS(const Cfg *Func) const {
966 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
970 template <> void InstMIPS32Movf::emitIAS(const Cfg *Func) const {
971 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
975 template <> void InstMIPS32Movn::emitIAS(const Cfg *Func) const {
976 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
980 template <> void InstMIPS32Movn_d::emitIAS(const Cfg *Func) const {
981 Func->getAssembler<MIPS32::AssemblerMIPS32>();
985 template <> void InstMIPS32Movn_s::emitIAS(const Cfg *Func) const {
986 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
990 template <> void InstMIPS32Movt::emitIAS(const Cfg *Func) const {
991 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
995 template <> void InstMIPS32Movz::emitIAS(const Cfg *Func) const {
996 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
1000 template <> void InstMIPS32Movz_d::emitIAS(const Cfg *Func) const {
1001 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
1005 template <> void InstMIPS32Movz_s::emitIAS(const Cfg *Func) const {
1006 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
1010 template <> void InstMIPS32Mtc1::emit(const Cfg *Func) const {
1013 Ostream &Str = Func->getContext()->getStrEmit();
1016 getSrc(0)->emit(Func);
1018 getDest()->emit(Func);
1021 template <> void InstMIPS32Mtc1::emitIAS(const Cfg *Func) const {
1022 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
1026 template <> void InstMIPS32Mtlo::emit(const Cfg *Func) const {
1029 emitUnaryopGPRTLoHi(Opcode, this, Func);
1032 template <> void InstMIPS32Mtlo::emitIAS(const Cfg *Func) const {
1033 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
1037 template <> void InstMIPS32Mthi::emit(const Cfg *Func) const {
1040 emitUnaryopGPRTLoHi(Opcode, this, Func);
1043 template <> void InstMIPS32Mthi::emitIAS(const Cfg *Func) const {
1044 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
1048 template <> void InstMIPS32Mul::emitIAS(const Cfg *Func) const {
1049 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
1053 template <> void InstMIPS32Mul_d::emitIAS(const Cfg *Func) const {
1054 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
1058 template <> void InstMIPS32Mul_s::emitIAS(const Cfg *Func) const {
1059 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
1063 template <> void InstMIPS32Mult::emit(const Cfg *Func) const {
1066 emitThreeAddrLoHi(Opcode, this, Func);
1069 template <> void InstMIPS32Mult::emitIAS(const Cfg *Func) const {
1070 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
1074 template <> void InstMIPS32Multu::emit(const Cfg *Func) const {
1077 emitThreeAddrLoHi(Opcode, this, Func);
1080 template <> void InstMIPS32Multu::emitIAS(const Cfg *Func) const {
1081 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
1085 template <> void InstMIPS32Nor::emitIAS(const Cfg *Func) const {
1086 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
1090 template <> void InstMIPS32Or::emitIAS(const Cfg *Func) const {
1091 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
1095 template <> void InstMIPS32Ori::emitIAS(const Cfg *Func) const {
1096 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
1100 template <> void InstMIPS32Sc::emitIAS(const Cfg *Func) const {
1101 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
1108 template <> void InstMIPS32Sll::emitIAS(const Cfg *Func) const {
1109 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
1113 template <> void InstMIPS32Sllv::emitIAS(const Cfg *Func) const {
1114 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
1118 template <> void InstMIPS32Slt::emitIAS(const Cfg *Func) const {
1119 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
1123 template <> void InstMIPS32Slti::emitIAS(const Cfg *Func) const {
1124 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
1128 template <> void InstMIPS32Sltiu::emitIAS(const Cfg *Func) const {
1129 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
1133 template <> void InstMIPS32Sltu::emitIAS(const Cfg *Func) const {
1134 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
1138 template <> void InstMIPS32Sqrt_d::emitIAS(const Cfg *Func) const {
1139 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
1143 template <> void InstMIPS32Sqrt_s::emitIAS(const Cfg *Func) const {
1144 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
1148 template <> void InstMIPS32Sra::emitIAS(const Cfg *Func) const {
1149 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
1153 template <> void InstMIPS32Srav::emitIAS(const Cfg *Func) const {
1154 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
1158 template <> void InstMIPS32Srl::emitIAS(const Cfg *Func) const {
1159 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
1163 template <> void InstMIPS32Srlv::emitIAS(const Cfg *Func) const {
1164 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
1168 template <> void InstMIPS32Sub_d::emitIAS(const Cfg *Func) const {
1169 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
1173 template <> void InstMIPS32Sub_s::emitIAS(const Cfg *Func) const {
1174 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
1178 template <> void InstMIPS32Subu::emitIAS(const Cfg *Func) const {
1179 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
1183 template <> void InstMIPS32Sdc1::emitIAS(const Cfg *Func) const {
1184 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
1189 template <> void InstMIPS32Sw::emitIAS(const Cfg *Func) const {
1190 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
1197 template <> void InstMIPS32Swc1::emitIAS(const Cfg *Func) const {
1198 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
1203 void InstMIPS32Sync::emitIAS(const Cfg *Func) const {
1204 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
1208 template <> void InstMIPS32Teq::emitIAS(const Cfg *Func) const {
1209 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
1213 template <> void InstMIPS32Trunc_l_d::emitIAS(const Cfg *Func) const {
1214 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
1218 template <> void InstMIPS32Trunc_l_s::emitIAS(const Cfg *Func) const {
1219 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
1223 template <> void InstMIPS32Trunc_w_d::emitIAS(const Cfg *Func) const {
1224 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
1228 template <> void InstMIPS32Trunc_w_s::emitIAS(const Cfg *Func) const {
1229 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
1233 template <> void InstMIPS32Xor::emitIAS(const Cfg *Func) const {
1234 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();
1238 template <> void InstMIPS32Xori::emitIAS(const Cfg *Func) const {
1239 auto *Asm = Func->getAssembler<MIPS32::AssemblerMIPS32>();