[LLVMdev] Maintaining LiveIn

dag at cray.com dag at cray.com
Wed Jul 31 08:19:52 PDT 2013

I would like to maintain the livein information for physical registers
on basic blocks past register allocation, or recreate it if possible.
The goal is to be able to run a late pass of DeadMachineInstrElim, which
requires valid livein information.

The X86 target returns false for requiresRegisterScavenging so passes
like BranchFolding don't update the livein information.  At that point I
gather that DeadMachineInstrElim will break.

What are the requirements to return true for requiresRegisterScavenging?
ARM does but I don't know if special care has been taken in that target
to allow it.

Alternatively, are there better ways to update or recreate the livein
information in a late pass?  I don't want to run a whole dataflow
analysis if I don't have to.



More information about the llvm-dev mailing list