Home | History | Annotate | Download | only in CodeGen

Lines Matching full:branch

80   "disable-cgp-branch-opts", cl::Hidden, cl::init(false),
81 cl::desc("Disable branch optimizations in CodeGenPrepare"));
89 cl::desc("Disable select to branch conversion."));
249 // unconditional branch.
257 // If there is a mask, compare against zero, and branch that can be combined
258 // into a single target instruction, push the mask and compare into branch
368 /// unconditional branch. Passes before isel (e.g. LSR/loopsimplify) often split
386 // If this block doesn't end with an uncond branch, ignore it.
391 // If the instruction before the branch (skipping debug info) isn't a phi
428 /// unconditional branch between them, and BB contains no other non-phi
496 /// Eliminate a basic block that has only phi's and an unconditional branch in
1696 // The intrinsic will be sunk behind a compare against zero and branch.
1706 // Set up a builder to create a compare, conditional branch, and PHI.
1711 // Replace the unconditional branch that was created by the first split with
1712 // a compare against zero and a conditional branch.
2055 // Make sure the call instruction is followed by an unconditional branch to
4545 /// Returns true if a SelectInst should be turned into an explicit branch.
4549 // If even a predictable select is cheap, then a branch can't be cheaper.
4554 // whether a select is better represented as a branch.
4557 // then we want to replace the select with a branch.
4571 // If a branch is predictable, an out-of-order CPU can avoid blocking on its
4573 // probably another cmov or setcc around, so it's not worth emitting a branch.
4578 // of the select, we should form a branch.
4587 /// If we have a SelectInst that will likely profit from branch prediction,
4588 /// turn it into a branch.
4628 // the entry block into the destination(s) of the new branch.
4630 // block and its branch may be optimized away. In that case, one side of the
4631 // first branch will point directly to select.end, and the corresponding PHI
4639 // Delete the unconditional branch that was just created by the split.
4642 // These are the new basic blocks for the conditional branch.
4675 // Insert the real conditional branch based on the original condition.
4677 // of the condition, it means that side of the branch goes to the end block
5389 // mask and compare into the branch uses. Do this before OptimizeBlock ->
5421 // Since there can only be one branch use per BB, we don't need to keep
5456 /// \brief Some targets prefer to split a conditional branch like:
5463 /// into multiple branch instructions like:
5473 /// and combine the compare with the branch instruction. Currently this is
5513 DEBUG(dbgs() << "Before branch condition splitting\n"; BB.dump());
5521 // branch instruction and removing the no longer needed and/or instruction.
5526 // successor of the original branch instruction.
5540 // replaced in one succesor's PHI nodes, because the branch comes now from
5542 // incoming edge to the PHI nodes, because both branch instructions target
5543 // now the same successor. Depending on the original branch condition
5546 // This doesn't change the successor order of the just created branch
5570 // Update the branch weights (from SelectionDAGBuilder::
5647 DEBUG(dbgs() << "After branch condition splitting\n"; BB.dump();