Lines Matching refs:Hexagon
1 //===----- HexagonNewValueJump.cpp - Hexagon Backend New Value Jump -------===//
10 // This implements NewValueJump pass in Hexagon.
25 #include "Hexagon.h"
49 #define DEBUG_TYPE "hexagon-nvj"
84 return "Hexagon NewValueJump";
99 INITIALIZE_PASS_BEGIN(HexagonNewValueJump, "hexagon-nvj",
100 "Hexagon NewValueJump", false, false)
102 INITIALIZE_PASS_END(HexagonNewValueJump, "hexagon-nvj",
103 "Hexagon NewValueJump", false, false)
179 if (MII->getOpcode() == Hexagon::CALLv3)
198 // The following pseudo Hexagon instructions sets "use" and "def"
202 if (MII->getOpcode() == Hexagon::TFR_condset_rr ||
203 MII->getOpcode() == Hexagon::TFR_condset_ii ||
204 MII->getOpcode() == Hexagon::TFR_condset_ri ||
205 MII->getOpcode() == Hexagon::TFR_condset_ir ||
206 MII->getOpcode() == Hexagon::LDriw_pred ||
207 MII->getOpcode() == Hexagon::STriw_pred)
231 ((MI->getOpcode() == Hexagon::CMPEQri ||
232 MI->getOpcode() == Hexagon::CMPGTri) &&
302 case Hexagon::CMPEQrr:
303 return taken ? Hexagon::CMPEQrr_t_Jumpnv_t_V4
304 : Hexagon::CMPEQrr_t_Jumpnv_nt_V4;
306 case Hexagon::CMPEQri: {
308 return taken ? Hexagon::CMPEQri_t_Jumpnv_t_V4
309 : Hexagon::CMPEQri_t_Jumpnv_nt_V4;
311 return taken ? Hexagon::CMPEQn1_t_Jumpnv_t_V4
312 : Hexagon::CMPEQn1_t_Jumpnv_nt_V4;
315 case Hexagon::CMPGTrr: {
317 return taken ? Hexagon::CMPLTrr_t_Jumpnv_t_V4
318 : Hexagon::CMPLTrr_t_Jumpnv_nt_V4;
320 return taken ? Hexagon::CMPGTrr_t_Jumpnv_t_V4
321 : Hexagon::CMPGTrr_t_Jumpnv_nt_V4;
324 case Hexagon::CMPGTri: {
326 return taken ? Hexagon::CMPGTri_t_Jumpnv_t_V4
327 : Hexagon::CMPGTri_t_Jumpnv_nt_V4;
329 return taken ? Hexagon::CMPGTn1_t_Jumpnv_t_V4
330 : Hexagon::CMPGTn1_t_Jumpnv_nt_V4;
333 case Hexagon::CMPGTUrr: {
335 return taken ? Hexagon::CMPLTUrr_t_Jumpnv_t_V4
336 : Hexagon::CMPLTUrr_t_Jumpnv_nt_V4;
338 return taken ? Hexagon::CMPGTUrr_t_Jumpnv_t_V4
339 : Hexagon::CMPGTUrr_t_Jumpnv_nt_V4;
342 case Hexagon::CMPGTUri:
343 return taken ? Hexagon::CMPGTUri_t_Jumpnv_t_V4
344 : Hexagon::CMPGTUri_t_Jumpnv_nt_V4;
355 DEBUG(dbgs() << "********** Hexagon New Value Jump **********\n"
416 (MI->getOpcode() == Hexagon::JMP_t ||
417 MI->getOpcode() == Hexagon::JMP_f ||
418 MI->getOpcode() == Hexagon::JMP_tnew_t ||
419 MI->getOpcode() == Hexagon::JMP_tnew_nt ||
420 MI->getOpcode() == Hexagon::JMP_fnew_t ||
421 MI->getOpcode() == Hexagon::JMP_fnew_nt)) {
457 Hexagon::JMP_f ||
458 MI->getOpcode() == Hexagon::JMP_fnew_t ||
459 MI->getOpcode() == Hexagon::JMP_fnew_nt) {
548 if (cmpInstr->getOpcode() == Hexagon::CMPEQrr &&
615 else if ((cmpInstr->getOpcode() == Hexagon::CMPEQri ||
616 cmpInstr->getOpcode() == Hexagon::CMPGTri) &&