Lines Matching refs:Insn
20 import com.android.dx.rop.code.Insn;
115 for (SsaInsn insn : ssaMeth.getUseListForRegister(reg)) {
116 varyingWorklist.add(insn);
119 for (SsaInsn insn : ssaMeth.getUseListForRegister(reg)) {
120 ssaWorklist.add(insn);
157 * @param insn PHI to simulate.
159 private void simulatePhi(PhiInsn insn) {
160 int phiResultReg = insn.getResult().getReg();
166 RegisterSpecList sources = insn.getSources();
172 int predBlockIndex = insn.predBlockIndexForSourcesIndex(i);
203 for (SsaInsn insn : block.getInsns()) {
204 if (insn instanceof PhiInsn) {
205 simulatePhi((PhiInsn) insn);
207 simulateStmt(insn);
217 for (SsaInsn insn : block.getInsns()) {
218 if (insn instanceof PhiInsn) {
219 simulatePhi((PhiInsn) insn);
238 * @param insn branch to simulate
240 private void simulateBranch(SsaInsn insn) {
241 Rop opcode = insn.getOpcode();
242 RegisterSpecList sources = insn.getSources();
247 // Check if the insn is a branch with a constant condition
339 SsaBasicBlock block = insn.getBlock();
349 branchWorklist.add(insn);
361 * @param insn non-null insn to simulate
365 private Constant simulateMath(SsaInsn insn, int resultType) {
366 Insn ropInsn = insn.getOriginalRopInsn();
367 int opcode = insn.getOpcode().getOpcode();
368 RegisterSpecList sources = insn.getSources();
467 * @param insn instruction to simulate
469 private void simulateStmt(SsaInsn insn) {
470 Insn ropInsn = insn.getOriginalRopInsn();
473 simulateBranch(insn);
476 int opcode = insn.getOpcode().getOpcode();
477 RegisterSpec result = insn.getResult();
482 SsaBasicBlock succ = insn.getBlock().getPrimarySuccessor();
501 if (insn.getSources().size() == 1) {
502 int sourceReg = insn.getSources().get(0).getReg();
519 resultConstant = simulateMath(insn, result.getBasicType());
564 SsaInsn insn = varyingWorklist.remove(listSize);
566 if (!executableBlocks.get(insn.getBlock().getIndex())) {
570 if (insn instanceof PhiInsn) {
571 simulatePhi((PhiInsn)insn);
573 simulateStmt(insn);
578 SsaInsn insn = ssaWorklist.remove(listSize);
580 if (!executableBlocks.get(insn.getBlock().getIndex())) {
584 if (insn instanceof PhiInsn) {
585 simulatePhi((PhiInsn)insn);
587 simulateStmt(insn);
632 for (SsaInsn insn : ssaMeth.getUseListForRegister(reg)) {
633 if (insn.isPhiOrMove()) {
637 NormalSsaInsn nInsn = (NormalSsaInsn) insn;
638 RegisterSpecList sources = insn.getSources();
655 for (SsaInsn insn : branchWorklist) {
658 SsaBasicBlock block = insn.getBlock();
674 Insn originalRopInsn = insn.getOriginalRopInsn();