Patch by Apelete Seketeli.
Differential Revision: http://reviews.llvm.org/D19968
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@268691
91177308-0d34-0410-b5e6-
96231b3b80d8
// Ensure that BB2 has one instruction -- an unconditional jump.
if ((LayoutSucc->size() == 1) &&
IsUnconditionalJump(LayoutSucc->front().getOpcode())) {
+ assert(JumpAroundTarget && "jump target is needed to process second basic block");
MachineBasicBlock* UncondTarget =
LayoutSucc->front().getOperand(0).getMBB();
// Check if the layout successor of BB2 is BB3.
// Keep a flag for upto 4 operands in the instructions, to indicate if
// that operand has been constant extended.
- bool OpCExtended[4];
+ bool OpCExtended[4] = {false};
if (NumOperands > 4)
NumOperands = 4;
// Push block delimiters.
markBlock(BA.Id, DefM);
+ assert(BA.Addr && "block node address is needed to create a data-flow link");
// For each non-phi instruction in the block, link all the defs and uses
// to their reaching defs. For any member of the block (including phis),
// push the defs on the corresponding stacks.