Displaying 3 results from an estimated 3 matches for "iter_instrs".
2008 Dec 30
2
[LLVMdev] llvm ocaml bindings
...Hi Ranjit! I only ported Chris's tutorial and Gordon
did the vast majority of the bindings, so they deserve most of the
praise. I believe there are techniques for walking over the CFG. You
can load up code using Llvm_bitreader, use things like
Llvm.iter_globals, Llvm.iter_functions, and Llvm.iter_instrs to walk
over the module, and write out a new llmodule using Llvm_bitwriter. Is
there something more specific you want to do?
On Mon, Dec 29, 2008 at 6:05 PM, Ranjit Jhala <jhala at cs.ucsd.edu> wrote:
> Hi Erick --
>
> many thanks for writing the ocaml bindings and tutorial for LLVM...
2008 Dec 31
0
[LLVMdev] llvm ocaml bindings
...e prompt response!
I'm looking to use LLVM to write program analyses for
C/C++ programs, but to use Ocaml to write the analyses.
I did see there were bindings for iterating over:
* functions in a module [iter_functions]
* basic blocks in a functions [iter_blocks]
* instructions in a block [iter_instrs]
The other things that i'd like are to know what kind of
instruction a given instruction was.
That is,
(a) some ML encoding of the different opcodes like
Instruction::Ret:
Instruction::Invoke:
Instruction::Call:
Instruction::Malloc:
Instruction::Alloca:...
2008 Dec 31
1
[LLVMdev] llvm ocaml bindings
...ooking to use LLVM to write program analyses for
> C/C++ programs, but to use Ocaml to write the analyses.
> I did see there were bindings for iterating over:
>
> * functions in a module [iter_functions]
> * basic blocks in a functions [iter_blocks]
> * instructions in a block [iter_instrs]
>
> The other things that i'd like are to know what kind of
> instruction a given instruction was.
Hi Ranjit,
There are recently aded C bindings for the "isa<>" template (actually,
dyn_cast_or_null<>), which is usually the preferred manner to access
the typ...