<div dir="ltr"><span class="im"><div><span style="font-family:arial,helvetica,sans-serif"><font size="2">Hello,<br><br>I'm using LLVM 3.4 and noticed that some IR binary instructions have the following format:</font></span><br><font size="2">           </font> <result> = frem [fast-math flags]* <ty> <op1>, <op2>   ; yields ty:result<br><br>I'm mainly interested in extracting the type of the operands, regardless of whether the fast-math-flags is set or not. <br></div>In the case above, that would be floating-point or vector, because the instruction is an frem.<br></span><pre><span class="im"><span style="font-family:arial,helvetica,sans-serif"><font size="2">Q1. I was just wondering if doing </font></span></span><span style="font-family:arial,helvetica,sans-serif"><font size="2">I.getOperand(0)->getType() would be sufficient to extract the operands type.<br>I've tried it and I obtain neither a float, nor a vector type, but a Token (TokenTyID).<br><br>Q2. Moreover, how can one extract the fast-math-flags?<br></font></span></pre><span class="im"><pre><span style="font-family:arial,helvetica,sans-serif"><font size="2">Q3. I'd also appreciate it if someone could tell me what C/C++ source code should I use to generate IR code that <br>includes binary operation(s) with vector operands. Alternatively, is there maybe an optimization pass that vectorizes <br>the IR code?<br></font></span></pre><pre><span style="font-family:arial,helvetica,sans-serif"><font size="2">Many thanks,<br>Simona</font></span></pre></span></div>