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,