[LLVMdev] Questions of instruction target description of MSP430
Heyu Zhu
zhu.heyu at gmail.com
Fri Dec 18 06:52:35 PST 2009
Hi everyone,
I am puzzled by several instruction defines in MSP430.
1
def MOV16rr : Pseudo<(outs GR16:$dst), (ins GR16:$src),
"mov.w\t{$src, $dst}",
[ ]>;
Because it's an empty dag pattern[ ], by what does instuction selector
select intruction 'MOV16rr'?
2
let canFoldAsLoad = 1, isReMaterializable = 1, mayHaveSideEffects = 1 in {
def MOV16rm : Pseudo<(outs GR16:$dst), (ins memsrc:$src),
"mov.w\t{$src, $dst}",
[(set GR16:$dst, (load addr:$src))]>;
}
Please gvie me an explaination of the property IsReMaterialiable and the
benefit if it is true with a simple sample
3
def ADD16rr : Pseudo<(outs GR16:$dst), (ins GR16:$src1, GR16:$src2),
"add.w\t{$src2, $dst}",
[(set GR16:$dst, (add GR16:$src1, GR16:$src2)),
(implicit SRW)]>;
What informaton instuction selector will get by '(implicit SRW)'?
I can't understand 'implicit SRW' completely.
Regards
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20091218/a7df13f5/attachment.html>
More information about the llvm-dev
mailing list