[llvm-dev] Missing kill flag on Machine Instruction operands

Stephen Rogers via llvm-dev llvm-dev at lists.llvm.org
Mon May 9 08:37:00 PDT 2016


Hi all,

I'm writing a MachineFunction pass that relies on the kill flag to be
appropriately set on operands of Machine Instructions, but it isn't. My
pass runs before register allocation. What I'm seeing when I print an
instruction is something like:

%vreg218<def> = FOO %vreg217, %vreg369

but what I need is:

%vreg218<def> = FOO %vreg217<kill>, %vreg369<kill>

On this same instruction, the kill flag is being set on vreg217 and vreg369
in preceding and succeeding passes, but not in my pass. Is there some
analysis pass that I need to add as required in my pass's
"getAnalysisUsage" to get this flag to be set?

Thanks,
Stephen
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160509/65e4eccd/attachment.html>


More information about the llvm-dev mailing list