search for: oneinst

Displaying 2 results from an estimated 2 matches for "oneinst".

Did you mean: oneinit
2012 Nov 09
0
[LLVMdev] problem trying to write an LLVM register-allocation pass
...instructions in a block, // all operands in an instruction for (MachineFunction::iterator MFIt = Fn.begin(), MFendIt = Fn.end(); MFIt != MFendIt; MFIt++) { for (MachineBasicBlock::iterator MBBIt = MFIt->begin(), MBBendIt = MFIt->end(); MBBIt != MBBendIt; MBBIt++) { MachineInstr *oneInst = MBBIt; MachineBasicBlock *parentBlock = oneInst->getParent(); int numOp = MBBIt->getNumOperands(); unsigned preg = -1; // iterate over the operands in this instruction for (int i = 0; i<numOp; i++) { MachineOperand &MOp = MBBIt->getOperand(i); if (M...
2012 Nov 08
2
[LLVMdev] problem trying to write an LLVM register-allocation pass
Hi Susan, In x86-64 the REX prefix must be used to access an extended register (r8-r15 and their aliases), but cannot be used when accessing the high byte of the ABCD regs (AH, BH, CH, DH). In your test case you have hardcoded %vreg1 to R8B, and %vreg15 to AH, and the test case contains a copy between these registers. The copy simultaneously must have a REX prefix, and cannot have a REX prefix,