Home | History | Annotate | Download | only in Utils

Lines Matching defs:IT

112 /// SafeToMergeTerminators - Return true if it is safe to merge these two
118 // It is not safe to merge these two switch instructions if they have a common
138 /// isProfitableToFoldUnconditional - Return true if it is safe and profitable
180 /// now be entries in it from the 'NewPred' block. The values that will be
195 /// least one PHI node in it), check to see if the merge at this block is due
223 // required anyway, we stand no chance of eliminating it, so the xform is
234 // doesn't have incoming edges from other blocks. If it does, the condition
239 // If we found a conditional branch predecessor, make sure that it branches
240 // to BB and Pred2Br. If it doesn't, this isn't an "if statement".
265 // Otherwise, if this is a conditional branch, then we can use it!
352 // branch to BB, then it must be in the 'conditional' part of the "if
353 // statement". If not, it definitely dominates the region.
362 // If we have seen this instruction before, don't count it again.
365 // Okay, it looks like the instruction IS in the "condition". Check to
366 // see if it's a cheap instruction to unconditionally compute, and if it
367 // only uses stuff defined outside of the condition. If so, hoist it out.
383 // Okay, it's safe to do this! Remember this instruction.
396 // This is some kind of pointer constant. Turn it into a pointer-sized
478 // set it and return success.
545 /// decode all of the 'cases' that it represents and return the 'default' block.
628 // FoldValueComparisonIntoPredecessors preserves it.
651 // Okay, one of the successors of this condbr is dead. Convert it to a
729 // If not handled by any explicit cases, it is handled by the default case.
1018 // Insert it at the end of the function, because it's either code,
1019 // or it won't matter if it's hot. :)
1069 // Skip debug info if it is not identical.
1087 // broken BB), instead clone it, and remove BI.
1102 // Skip debug info if it is not identical.
1116 // It may not be possible to hoist an invoke.
1120 // Okay, it is safe to hoist the terminator.
1168 /// ends with an unconditional branch. If it is true, sink any common code
1339 /// pass which can do it with full awareness of the resource constraints.
1344 /// it makes very common but simplistic optimizations such as are common in
1412 // Don't hoist the instruction if it's unsafe or expensive.
1640 /// PHI node, see if we can eliminate it.
1646 // dependence information for this check, but simplifycfg can't keep it up
1667 // instructions. While we are at it, keep track of the instructions
1688 // If we folded the first phi, PN dangles at this point. Refresh it. If
1703 // not, we won't be able to get rid of the control flow, so it's not
1716 // flow, so the xform is not worth it.
1729 // flow, so the xform is not worth it.
1940 // executed unconditionally. It must be in the same block as the branch, and
2082 // If we have a bonus inst, clone it into the predecessor block.
2217 /// predecessor of another block, this function tries to simplify it. We know
2303 // Do not perform this transformation if it would require
2322 // branch in it, where one edge (OtherDest) goes back to itself but the other
2326 // done) that the block *is* infinite if reached, we just make it an obviously
2329 // Insert it at the end of the function, because it's either code,
2330 // or it won't matter if it's hot. :)
2340 // it alone, but modify PBI.
2392 // it. If it has PHIs though, the PHIs may have different
2412 // This basic block is probably dead. We know it has at least
2417 // SimplifyTerminatorOnSelect - Simplifies a terminator by replacing it with a
2451 // We were only looking for one successor, and it was present.
2452 // Create an unconditional branch to it.
2544 /// default value goes to an uncond block with a seteq in it, we get something
2561 // If the block has any PHIs in it or the icmp has multiple uses, it is too
2579 // V in this block. Substitute it and constant fold the icmp instruction
2590 // BB is now empty, so it is likely to simplify away.
2596 // and zap it.
2606 // BB is now empty, so it is likely to simplify away.
2627 // false depending on if it is EQ or NE.
2661 /// Check to see if it is branching on an or/and chain of icmp instructions, and
2662 /// fold it into a switch instruction if so.
2670 // If this is a bunch of seteq's or'd together, or if it's a bunch of
2704 // FoldValueComparisonIntoPredecessors preserves it.
2718 // right before the condbr to handle it.
2829 // The landingpad is now unreachable. Zap it.
2917 // Note that deleting LandingPad's here is in fact okay, although it
2965 // destination and make it the default.
2995 // edges to it.
2999 // If MaxBlock has phinodes in it, remove MaxPop-1 entries from
3000 // it.
3035 // If this block is now dead, remove it.
3111 /// and use it to remove dead cases.
3161 /// by TryToSimplifyUncondBranchFromEmptyBlock (i.e. it is empty and terminated
3244 /// LookupConstant - If V is a Constant, return it. Otherwise, try to look up
3245 /// its constant value in ConstantPool, returning 0 if it's not there.
3355 // through the CaseDest basic block, it will be safe to remove the
3358 // successor. If it did, we would not be in this phi node.
3396 // Depending on the contents of the table, it can be represented in
3400 // store that single value and return it for each lookup.
3473 IntegerType *IT = cast<IntegerType>(DefaultValue->getType());
3474 APInt TableInt(TableSize * IT->getBitWidth(), 0);
3476 TableInt <<= IT->getBitWidth();
3484 BitMapElementTy = IT;
3512 // truncating it to the width of the bitmask is safe.
3542 const IntegerType *IT = dyn_cast<IntegerType>(ElementType);
3543 if (!IT)
3545 // FIXME: If the type is wider than it needs to be, e.g. i8 but all values
3549 if (TableSize >= UINT_MAX/IT->getBitWidth())
3551 return TD->fitsInLegalInteger(TableSize * IT->getBitWidth());
3585 // If each table would fit in a register, we should build it anyway.
3589 // Don't build a table that doesn't fit in-register if it has illegal types.
3608 // Only build lookup table when we have a target that supports it.
3737 // If we only have one predecessor, and if it is a branch on this value,
3793 // If the indirectbr has no successors, change it to unreachable.
3800 // If the indirectbr has one successor, change it to a direct branch.
3851 // If we only have one predecessor, and if it is a branch on this value,
3858 // This block must be empty, except for the setcond inst, if it exists.
3890 // can hoist it up to the branching block.
3897 // execute Successor #0 if it branches to successor #1.
3906 // execute Successor #1 if it branches to successor #0.
4035 // eliminate it, do so now.
4065 /// example, it adjusts branches to branches to eliminate the extra hop, it
4067 /// of the CFG. It returns true if a modification was made.