search for: addtargetflag

Displaying 4 results from an estimated 4 matches for "addtargetflag".

2012 Oct 29
3
[LLVMdev] [llvm-commits] [llvm] r162770 - in /llvm/trunk: include/llvm/CodeGen/MachineOperand.h lib/CodeGen/MachineInstr.cpp
...gt; /// operands. > @@ -176,9 +179,17 @@ > /// > MachineOperandType getType() const { return > (MachineOperandType)OpKind; } > > - unsigned char getTargetFlags() const { return TargetFlags; } > - void setTargetFlags(unsigned char F) { TargetFlags = F; } > - void addTargetFlag(unsigned char F) { TargetFlags |= F; } > + unsigned char getTargetFlags() const { > + return isReg() ? 0 : TargetFlags; > + } > + void setTargetFlags(unsigned char F) { > + assert(!isReg() && "Register operands can't have target flags"); > + Targe...
2012 Oct 29
0
[LLVMdev] [llvm-commits] [llvm] r162770 - in /llvm/trunk: include/llvm/CodeGen/MachineOperand.h lib/CodeGen/MachineInstr.cpp
...@ -176,9 +179,17 @@ >> /// >> MachineOperandType getType() const { return >> (MachineOperandType)OpKind; } >> >> - unsigned char getTargetFlags() const { return TargetFlags; } >> - void setTargetFlags(unsigned char F) { TargetFlags = F; } >> - void addTargetFlag(unsigned char F) { TargetFlags |= F; } >> + unsigned char getTargetFlags() const { >> + return isReg() ? 0 : TargetFlags; >> + } >> + void setTargetFlags(unsigned char F) { >> + assert(!isReg() && "Register operands can't have target flags&quo...
2012 Oct 29
2
[LLVMdev] [llvm-commits] [llvm] r162770 - in /llvm/trunk: include/llvm/CodeGen/MachineOperand.h lib/CodeGen/MachineInstr.cpp
.../// > >> MachineOperandType getType() const { return > >> (MachineOperandType)OpKind; } > >> > >> - unsigned char getTargetFlags() const { return TargetFlags; } > >> - void setTargetFlags(unsigned char F) { TargetFlags = F; } > >> - void addTargetFlag(unsigned char F) { TargetFlags |= F; } > >> + unsigned char getTargetFlags() const { > >> + return isReg() ? 0 : TargetFlags; } void > >> + setTargetFlags(unsigned char F) { > >> + assert(!isReg() && "Register operands can't have target...
2012 Aug 06
4
[LLVMdev] Register Coalescer does not preserve TargetFlag
...uot;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 preserve TargetFlag in the JoinCopy() member function. For ins...