Lines Matching full:jump
1 //===----- HexagonNewValueJump.cpp - Hexagon Backend New Value Jump -------===//
13 // jump instructions, we are forced to write after register allocation.
17 // The basic approach looks for sequence of predicated jump, compare instruciton
19 // all, it collapses compare and jump instruction into a new valu jump
52 STATISTIC(NumNVJGenerated, "Number of New Value Jump Instructions created");
56 "Maximum number of predicated jumps to be converted to New Value Jump"));
135 // feeder insn between it's definition, this MI and jump, jmpInst
141 // if (p0.new) jump:t .LBB29_45
146 // if (p0.new) jump:t .LBB29_45
147 // and result WAR hazards if converted to New Value Jump.
170 // 1. compare instruction can be moved before jump.
171 // 2. feeder to the compare instruction can be moved before jump.
186 // to new value jump. If they are in the path, bail out.
242 // to move new value jump prior to RA, we would be needing this.
251 // Walk the instructions after the compare (predicate def) to the jump,
274 // if (p0.new) jump:t .LBB28_3
282 // Given a compare operator, return a matching New Value Jump
344 llvm_unreachable("Could not find matching New Value Jump instruction.");
352 DEBUG(dbgs() << "********** Hexagon New Value Jump **********\n"
383 unsigned predReg = 0; // predicate reg of the jump.
458 // No new value jump
473 "Only compare instruction can be collapsed into New Value Jump");
485 // new value jump instruction.
558 // Now that we are moving feeder close the jump,
594 "This compare is not a New Value Jump candidate.");
611 // Corresponding new-value compare jump instructions don't have the
625 assert(NewMI && "New Value Jump Instruction Not created!");