| 6331 | } |
| 6332 | |
| 6333 | U32 DecodedOp::getNeededFlagsAfter(U32 flags, U32 depth) { |
| 6334 | if (instructionInfo[inst].branch & DECODE_BRANCH_1) { |
| 6335 | bool conditionalBranch = (instructionInfo[inst].branch & DECODE_BRANCH_2) != 0; |
| 6336 | if (!conditionalBranch) { |
| 6337 | if (data.nextJump && *(data.nextJump)) { |
| 6338 | return (*(data.nextJump))->getNeededFlags(flags); |
| 6339 | } |
| 6340 | return flags; |
| 6341 | } else { |
| 6342 | if (data.nextJump && *(data.nextJump)) { |
| 6343 | U32 needsToSet1 = next->getNeededFlags(flags); |
| 6344 | U32 needsToSet2 = (*(data.nextJump))->getNeededFlags(flags); |
| 6345 | return needsToSet1 | needsToSet2; |
| 6346 | } |
| 6347 | return flags; |
| 6348 | } |
| 6349 | } |
| 6350 | return next->getNeededFlags(flags); |
| 6351 | } |
| 6352 | |
| 6353 | U32 DecodedOp::getNeededFlags(U32 flags, U32 depth) { |
| 6354 | DecodedOp* n = this; |
no test coverage detected