search for: next_mo

Displaying 3 results from an estimated 3 matches for "next_mo".

Did you mean: next_mm
2012 Aug 06
4
[LLVMdev] Register Coalescer does not preserve TargetFlag
...9;m trying to rework this : I'd like that a "DST = FNEG SRC" custom Emitter lowering pass replaces every occurence of DST by SRC and set the corresponding TargetFlag in the process. Something like this : MachineOperand *MO = &(MI->getOperand(0)); while(MO) {   MachineOperand *next_MO = MO->getNextOperandForReg();   MO->addTargetFlag(MO_FLAG_NEG);   MO->setReg(MI->getOperand(1).getReg());   MO = next_MO; } As far as I can tell, this works as every register are still virtual when lowering custom Emitter instructions. However the RegisterCoalescer pass does not preser...
2012 Aug 06
0
[LLVMdev] Register Coalescer does not preserve TargetFlag
...t; > The following code snippet : > > > void R600ModifiersPropagation::substituteReg(MachineOperand &def_MO, unsigned new_reg, unsigned char flag) { > MachineOperand * MO = def_MO.getNextOperandForReg(); > while (MO && MO->isUse()) { > MachineOperand *next_MO = MO->getNextOperandForReg(); > MO->dump(); > > MO = next_MO; > } > } > > displays instructions that are before the one I'm passing as def_MO. I'm not sure if I should call some Analysis pass to enforce MachineOperand order or not. We make no guarante...
2012 Aug 06
3
[LLVMdev] Register Coalescer does not preserve TargetFlag
...t : >> >> >> void R600ModifiersPropagation::substituteReg(MachineOperand &def_MO, > unsigned new_reg, unsigned char flag) { >>   MachineOperand * MO = def_MO.getNextOperandForReg(); >>   while (MO && MO->isUse()) { >>     MachineOperand *next_MO = MO->getNextOperandForReg(); >>     MO->dump(); >> >>     MO = next_MO; >>   } >> } >> >> displays instructions that are before the one I'm passing as def_MO. > I'm not sure if I should call some Analysis pass to enforce MachineOpe...