Displaying 4 results from an estimated 4 matches for "targetinstdesc".
Did you mean:
targetinstrdesc
2009 Oct 22
4
[LLVMdev] request for help writing a register allocator
...ut seeing your code.
Possible issues:
1) Some machine instructions have implicit register operands. If you are not
including these in your calculations you will probably have some errors. My
apologies for not mentioning this earlier.
You can find the set of implicit uses and defs by querying the
TargetInstDesc object for each MachineInstr (call MachineInstr::getDesc() to
get it, and then the TargetInstrDesc::getImplicitUses() and
TargetInstrDesc::getImplicitDefs() methods to find the regs used/definied by
this instr).
2) How are you making sure that interfering virtregs never receive the same
physreg? I...
2009 Oct 22
0
[LLVMdev] request for help writing a register allocator
> 1) Some machine instructions have implicit register operands. If you are
> not including these in your calculations you will probably have some errors.
> My apologies for not mentioning this earlier.
>
> You can find the set of implicit uses and defs by querying the
> TargetInstDesc object for each MachineInstr (call MachineInstr::getDesc() to
> get it, and then the TargetInstrDesc::getImplicitUses() and
> TargetInstrDesc::getImplicitDefs() methods to find the regs used/definied by
> this instr).
>
Oops. Seems we copy implicit operands like this into MachineOperan...
2009 Oct 21
0
[LLVMdev] request for help writing a register allocator
Lang -
I've made some progress writing my register allocator, but now I'm stuck.
I have 2 questions for you:
1. I tried running the PBQP allocator (as a dynamic pass), but that didn't
work. When I type this:
llc -f -load Debug/lib/regalloc.so -regalloc=pbqp simple.bc
I get the following error:
llc:
2009 Oct 20
7
[LLVMdev] request for help writing a register allocator
Hi Susan,
> You may find the PBQP allocator implementation useful as a reference
> to what's involved in adding a new allocator to LLVM. It's located in
> lib/CodeGen/RegAllocPBQP.cpp, with supporting files in the lib/CodeGen/
> PBQP directory.
>
Yes - as far as working allocators go PBQP is pretty simple. If you're just
interested in LLVM API details you can focus on