[LLVMdev] The meaning of SDNPHasChain

Roman Levenstein romixlev at yahoo.com
Thu Oct 5 16:08:27 PDT 2006


What does it mean if a custom Node in the instructions description file
is declared to have a Chain? 
Looking at different backends, I have the impression that it describes
some sort of side effect and usually used for nodes affecting the
control flow. But I'm not quite sure. Can someone describe the
semantics of this property and also what is a typical usage of it?

In particular, I have found that CMP nodes for different targets are
described differently with regard to this property. ARM backend defines
armcmp without this property. PCC defines PCCvcmp and PCCvcmp_o also
without this property. In Sparc backend SPcmpicc is also not using it.
But X86cmp does for some reason. I'm trying to understand if I need it
for my backend or not.

It would be also interesting to get some information about other SDNP-*
SelectionDAG node properties, e.g. SDNPOutFlag, SDNPInFlag,
SDNPOptInFlag and their purpose.


Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 

More information about the llvm-dev mailing list