[LLVMdev] <IsKill> getting from MachineOperand is just <Used> attribute from logic.
任坤
hbrenkun at yahoo.cn
Thu Jan 14 18:39:33 PST 2010
Hi,
I have ported LLC to a risc cpu. It can pass benchmark that I have at current.
But I want do some optimization after register alloction by adjusting
register using. I scan MachineBasicBlock to analyze operand's IsKill, IsDead , IsDef attribute to get a physical register's liverange. But I get a strange case at MBB.jpg.
R4 is marked <kill> at MBB0. If I scan R4's liverange by [MBB0->MBB1->MBB2]. I will find R4 first is killed, then is used. It can not unlogisch. Attually R4 just is <Used>. It will cause my optimization pass crash(Actually, I ingore Live In message of MBB. I recollect live in messges at my pass.).
1. Does <kill> attribute of R4 at MBB0 is a unimportant and redundancy messages, Or a little bug???
2. Is it unreliable to get a physical register's liverange by Kill, Dead messages from MachineBasicBlock??
___________________________________________________________
好玩贺卡等你发,邮箱贺卡全新上线!
http://card.mail.cn.yahoo.com/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: MBB.jpg
Type: image/jpeg
Size: 26396 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20100115/2c00f5cc/attachment.jpg>
More information about the llvm-dev
mailing list