Displaying 3 results from an estimated 3 matches for "__twoaddressinstructionpassid".
2012 Oct 31
0
[LLVMdev] problem trying to write an LLVM register-allocation pass
Hi Susan,
The meaning of "addRequired(X)" is that your pass needs X to be run, and
for X to be preserved by all passes that run after X and before your
pass. The PHIElemination and TwoAddressInstruction passes do not preserve
each other, hence there's no way for the pass manager to schedule them for
you if you addRequire(...) them.
The trick is that CodeGen will schedule both of
2012 Oct 31
2
[LLVMdev] problem trying to write an LLVM register-allocation pass
I'm trying to write a MachineFunctionPass to do register allocation. I
have code that worked with an old version of LLVM. It does not work
with llvm-3.1. (or various other versions that I've tried).
The first problem is that including this line:
AU.addRequiredID(TwoAddressInstructionPassID);
in method getAnalysisUsage causes a runtime error:
Unable to schedule 'Eliminate PHI
2012 Oct 31
3
[LLVMdev] problem trying to write an LLVM register-allocation pass
...e a MachineFunctionPass to do register allocation.
> I have code that worked with an old version of LLVM. It does not
> work with llvm-3.1. (or various other versions that I've tried).
>
> The first problem is that including this line:
>
> AU.addRequiredID(__TwoAddressInstructionPassID);
>
> in method getAnalysisUsage causes a runtime error:
>
> Unable to schedule 'Eliminate PHI nodes for register allocation'
> required by 'Unnamed pass: implement Pass::getPassName()'
> Unable to schedule pass
> UNREACHABLE executed at ......