Displaying 5 results from an estimated 5 matches for "mioperands".
Did you mean:
mcoperands
2013 Jun 20
0
[LLVMdev] Question about how MC and MI layers may share data structures.
...ing
the same functionality between MC and MI.
Other possibilities include using virtual functions like:
getOperand(0).getReg() replaced by opreg(0),
Where opreg(x) would be a virtual function in a base class, which
TargetMCInst/TargetMachineInstruction would implement (and avoid
MCOperands/MIOperands).
Another option would be to use function pointers.
Is there a preferred way to share code between MI and MC?
Thanks and Regards,
David Young
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/201306...
2016 Oct 27
4
Understanding and Cleaning Up Machine Instruction Bundles
...ators ==
Another source of confusion even for experience register allocation developers
is that we have 3 kinds of iterators for MachineOperands:
- There is MachineInstr::iterator which is used by the majority of passes and
gives you the operands of a single instruction.
- There is (Const)MIOperands which appears to be equivalent to
MachineInstr::iterator. I think we do not need a 2nd iterator and should get
rid of this one (the only real reason to use it today is
analyze{Virt|Phys}Reg() but that can be changed).
- There is (Const)MIBundleOperands which iterates all machine opera...
2016 Oct 28
2
Understanding and Cleaning Up Machine Instruction Bundles
...ven for experience register allocation developers
>> is that we have 3 kinds of iterators for MachineOperands:
>>
>> - There is MachineInstr::iterator which is used by the majority of passes and
>> gives you the operands of a single instruction.
>> - There is (Const)MIOperands which appears to be equivalent to
>> MachineInstr::iterator. I think we do not need a 2nd iterator and should get
>> rid of this one (the only real reason to use it today is
>> analyze{Virt|Phys}Reg() but that can be changed).
>> - There is (Const)MIBundleOperands whic...
2016 Oct 28
0
Understanding and Cleaning Up Machine Instruction Bundles
...ce of confusion even for experience register allocation developers
> is that we have 3 kinds of iterators for MachineOperands:
>
> - There is MachineInstr::iterator which is used by the majority of passes and
> gives you the operands of a single instruction.
> - There is (Const)MIOperands which appears to be equivalent to
> MachineInstr::iterator. I think we do not need a 2nd iterator and should get
> rid of this one (the only real reason to use it today is
> analyze{Virt|Phys}Reg() but that can be changed).
> - There is (Const)MIBundleOperands which iterates a...
2016 Oct 28
0
Understanding and Cleaning Up Machine Instruction Bundles
...egister allocation developers
>>> is that we have 3 kinds of iterators for MachineOperands:
>>>
>>> - There is MachineInstr::iterator which is used by the majority of passes and
>>> gives you the operands of a single instruction.
>>> - There is (Const)MIOperands which appears to be equivalent to
>>> MachineInstr::iterator. I think we do not need a 2nd iterator and should get
>>> rid of this one (the only real reason to use it today is
>>> analyze{Virt|Phys}Reg() but that can be changed).
>>> - There is (Const)MIBun...