<p dir="ltr">Unfortunately looking at the register classes is not enough for my use case.<br>
Some vector registers for example can hold both scalars and packed vectors. This would lead my estimation being wrong by factor between 2 and 4x.<br>
In many cases this also does not allow me to distinguish floating point and integer computation.</p>
<div class="gmail_quote">On 29 May 2015 01:07, "Matthias Braun" <<a href="mailto:mbraun@apple.com">mbraun@apple.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">For the registers on register operands you can query MachineRegisterInfor for their Class. The registerclass should have a list of possible types (usually with the same size in bits) assigned.<br>
<br>
- Matthias<br>
<br>
> On May 28, 2015, at 8:11 AM, Fabian Gruber <<a href="mailto:fabian.gruber@fadeopolis.com">fabian.gruber@fadeopolis.com</a>> wrote:<br>
><br>
> Hi,<br>
><br>
> I am writing a small tool to gather some static statistics on machine code using LLVMs MachineInstr, etc., infrastructure.<br>
> My current goal is to count the number of bytes of integer and floating point data being processed per iteration of a loop.<br>
> Now I've ran into the problem that I can't find any obvious way to get the actual type of a MachineOperand.<br>
><br>
> After some digging I noticed that the selection DAG has some type information and I had a look at the TableGen records that contain this type info. I started looking into how I could generate some descriptor tables with that information but TableGen is quite a handfull, and I'd like to avoid this if I can.<br>
><br>
> Did I overlook some easy way to get at type information at the MachineOperand level?<br>
><br>
> Thanks.<br>
><br>
> _______________________________________________<br>
> LLVM Developers mailing list<br>
> <a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
<br>
</blockquote></div>