• Home
  • Raw
  • Download

Lines Matching refs:lir

121 void ArmMir2Lir::SetupTargetResourceMasks(LIR* lir) {  in SetupTargetResourceMasks()  argument
125 uint64_t flags = ArmMir2Lir::EncodingMap[lir->opcode].flags; in SetupTargetResourceMasks()
126 int opcode = lir->opcode; in SetupTargetResourceMasks()
129 lir->def_mask |= ENCODE_ARM_REG_SP; in SetupTargetResourceMasks()
133 lir->use_mask |= ENCODE_ARM_REG_SP; in SetupTargetResourceMasks()
137 lir->def_mask |= ENCODE_ARM_REG_LIST(lir->operands[0]); in SetupTargetResourceMasks()
141 lir->def_mask |= ENCODE_ARM_REG_LIST(lir->operands[1]); in SetupTargetResourceMasks()
145 lir->def_mask |= ENCODE_ARM_REG_FPCS_LIST(lir->operands[0]); in SetupTargetResourceMasks()
149 for (int i = 0; i < lir->operands[2]; i++) { in SetupTargetResourceMasks()
150 SetupRegMask(&lir->def_mask, lir->operands[1] + i); in SetupTargetResourceMasks()
155 lir->use_mask |= ENCODE_ARM_REG_PC; in SetupTargetResourceMasks()
160 lir->def_mask = ENCODE_ALL; in SetupTargetResourceMasks()
164 lir->use_mask |= ENCODE_ARM_REG_LIST(lir->operands[0]); in SetupTargetResourceMasks()
168 lir->use_mask |= ENCODE_ARM_REG_LIST(lir->operands[1]); in SetupTargetResourceMasks()
172 lir->use_mask |= ENCODE_ARM_REG_FPCS_LIST(lir->operands[0]); in SetupTargetResourceMasks()
176 for (int i = 0; i < lir->operands[2]; i++) { in SetupTargetResourceMasks()
177 SetupRegMask(&lir->use_mask, lir->operands[1] + i); in SetupTargetResourceMasks()
183 if ((opcode == kThumbPush) && (lir->use_mask & r8Mask)) { in SetupTargetResourceMasks()
184 lir->use_mask &= ~r8Mask; in SetupTargetResourceMasks()
185 lir->use_mask |= ENCODE_ARM_REG_LR; in SetupTargetResourceMasks()
186 } else if ((opcode == kThumbPop) && (lir->def_mask & r8Mask)) { in SetupTargetResourceMasks()
187 lir->def_mask &= ~r8Mask; in SetupTargetResourceMasks()
188 lir->def_mask |= ENCODE_ARM_REG_PC; in SetupTargetResourceMasks()
192 lir->def_mask |= ENCODE_ARM_REG_LR; in SetupTargetResourceMasks()
305 std::string ArmMir2Lir::BuildInsnString(const char* fmt, LIR* lir, unsigned char* base_addr) { in BuildInsnString() argument
323 operand = lir->operands[nc-'0']; in BuildInsnString()
402 reinterpret_cast<uintptr_t>(base_addr) + lir->offset + 4 + in BuildInsnString()
404 lir->target); in BuildInsnString()
407 int offset_1 = lir->operands[0]; in BuildInsnString()
408 int offset_2 = NEXT_LIR(lir)->operands[0]; in BuildInsnString()
410 (((reinterpret_cast<uintptr_t>(base_addr) + lir->offset + 4) & in BuildInsnString()
422 DecodeRegList(lir->opcode, operand, tbuf); in BuildInsnString()
488 bool ArmMir2Lir::IsUnconditionalBranch(LIR* lir) { in IsUnconditionalBranch() argument
489 return ((lir->opcode == kThumbBUncond) || (lir->opcode == kThumb2BUncond)); in IsUnconditionalBranch()