[LLVMdev] Extracting ILP from bytecode/*.ll
Tanya Lattner
tonic at nondot.org
Thu Jun 1 15:29:19 PDT 2006
> By using analyze -stats -instcounts <bytecode> I can get the total number
> of instructions but I want to extract instruction level parallelism .
> That is I want to know number of add instruction that can be executed
> in parallel, similarly for multiply ...
> This would give me an idea what is upper limit of adders ( and multipliers
> )should be there in my hardware.
>
> Any kind of help would be greatly appreciated.
LLVM instructions are target independent and have no concept of hardware
resources. The kind of information you want is target specific. You would
need to know the mapping from LLVM instructions to your target machine
instructions (not necessarily 1-1) and what resources each machine
instruction uses. But thats just the start of it. You need to take into
consideration all the architecture details (not just resource constraints)
and the dependence graph to determine which instructions can be executed
in parallel.
I'd suggest reading up on instruction scheduling or software pipelining
for more details.
-Tanya
More information about the llvm-dev
mailing list