Binary instruction operand type - Fast-math-flags - Vectorized IR code


I’m using LLVM 3.4 and noticed that some of the IR binary instructions have the following format:
= frem [fast-math flags]* , ; yields ty:result

I’m mainly interested in extracting the type of the operands, regardless of whether the fast-math-flags are set or not.

In the case above, that would be floating-point or vector.

Q1. I was just wondering if doing I.getOperand(0)->getType() would be sufficient to extract the operands type.

Q2. Moreover, how can you extract the fast-math-flags?

Q3. I'd also appreciate it if someone could tell me what C/C++ source code should I use to generate IR code that 
includes some binary operation(s) with vector operands. 

Many thanks,