Home | History | Annotate | Download | only in Hexagon

Lines Matching refs:Hexagon

1 //===----- HexagonNewValueJump.cpp - Hexagon Backend New Value Jump -------===//
10 // This implements NewValueJump pass in Hexagon.
24 #include "Hexagon.h"
47 #define DEBUG_TYPE "hexagon-nvj"
83 return "Hexagon NewValueJump";
103 INITIALIZE_PASS_BEGIN(HexagonNewValueJump, "hexagon-nvj",
104 "Hexagon NewValueJump", false, false)
106 INITIALIZE_PASS_END(HexagonNewValueJump, "hexagon-nvj",
107 "Hexagon NewValueJump", false, false)
183 if (MII->getOpcode() == Hexagon::J2_call)
202 // The following pseudo Hexagon instructions sets "use" and "def"
206 if (MII->getOpcode() == Hexagon::LDriw_pred ||
207 MII->getOpcode() == Hexagon::STriw_pred)
230 if (!(isUInt<5>(v) || ((MI.getOpcode() == Hexagon::C2_cmpeqi ||
231 MI.getOpcode() == Hexagon::C2_cmpgti) &&
301 case Hexagon::C2_cmpeq:
302 return taken ? Hexagon::J4_cmpeq_t_jumpnv_t
303 : Hexagon::J4_cmpeq_t_jumpnv_nt;
305 case Hexagon::C2_cmpeqi: {
307 return taken ? Hexagon::J4_cmpeqi_t_jumpnv_t
308 : Hexagon::J4_cmpeqi_t_jumpnv_nt;
310 return taken ? Hexagon::J4_cmpeqn1_t_jumpnv_t
311 : Hexagon::J4_cmpeqn1_t_jumpnv_nt;
314 case Hexagon::C2_cmpgt: {
316 return taken ? Hexagon::J4_cmplt_t_jumpnv_t
317 : Hexagon::J4_cmplt_t_jumpnv_nt;
319 return taken ? Hexagon::J4_cmpgt_t_jumpnv_t
320 : Hexagon::J4_cmpgt_t_jumpnv_nt;
323 case Hexagon::C2_cmpgti: {
325 return taken ? Hexagon::J4_cmpgti_t_jumpnv_t
326 : Hexagon::J4_cmpgti_t_jumpnv_nt;
328 return taken ? Hexagon::J4_cmpgtn1_t_jumpnv_t
329 : Hexagon::J4_cmpgtn1_t_jumpnv_nt;
332 case Hexagon::C2_cmpgtu: {
334 return taken ? Hexagon::J4_cmpltu_t_jumpnv_t
335 : Hexagon::J4_cmpltu_t_jumpnv_nt;
337 return taken ? Hexagon::J4_cmpgtu_t_jumpnv_t
338 : Hexagon::J4_cmpgtu_t_jumpnv_nt;
341 case Hexagon::C2_cmpgtui:
342 return taken ? Hexagon::J4_cmpgtui_t_jumpnv_t
343 : Hexagon::J4_cmpgtui_t_jumpnv_nt;
345 case Hexagon::C4_cmpneq:
346 return taken ? Hexagon::J4_cmpeq_f_jumpnv_t
347 : Hexagon::J4_cmpeq_f_jumpnv_nt;
349 case Hexagon::C4_cmplte:
351 return taken ? Hexagon::J4_cmplt_f_jumpnv_t
352 : Hexagon::J4_cmplt_f_jumpnv_nt;
353 return taken ? Hexagon::J4_cmpgt_f_jumpnv_t
354 : Hexagon::J4_cmpgt_f_jumpnv_nt;
356 case Hexagon::C4_cmplteu:
358 return taken ? Hexagon::J4_cmpltu_f_jumpnv_t
359 : Hexagon::J4_cmpltu_f_jumpnv_nt;
360 return taken ? Hexagon::J4_cmpgtu_f_jumpnv_t
361 : Hexagon::J4_cmpgtu_f_jumpnv_nt;
373 case Hexagon::C2_cmpeq:
374 case Hexagon::C2_cmpeqi:
375 case Hexagon::C2_cmpgt:
376 case Hexagon::C2_cmpgti:
377 case Hexagon::C2_cmpgtu:
378 case Hexagon::C2_cmpgtui:
379 case Hexagon::C4_cmpneq:
380 case Hexagon::C4_cmplte:
381 case Hexagon::C4_cmplteu:
392 DEBUG(dbgs() << "********** Hexagon New Value Jump **********\n"
451 if (!foundJump && (MI.getOpcode() == Hexagon::J2_jumpt ||
452 MI.getOpcode() == Hexagon::J2_jumpf ||
453 MI.getOpcode() == Hexagon::J2_jumptnewpt ||
454 MI.getOpcode() == Hexagon::J2_jumptnew ||
455 MI.getOpcode() == Hexagon::J2_jumpfnewpt ||
456 MI.getOpcode() == Hexagon::J2_jumpfnew)) {
494 if (MI.getOpcode() == Hexagon::J2_jumpf ||
495 MI.getOpcode() == Hexagon::J2_jumpfnewpt ||
496 MI.getOpcode() == Hexagon::J2_jumpfnew) {
583 if (cmpInstr->getOpcode() == Hexagon::C2_cmpeq &&
650 else if ((cmpInstr->getOpcode() == Hexagon::C2_cmpeqi ||
651 cmpInstr->getOpcode() == Hexagon::C2_cmpgti) &&