Sam Parker
2013-Mar-26 08:16 UTC
[LLVMdev] Is it correct for a glue operand to be replaced with a chain?
Hi, I am confused about the behavior of chain of glue operands; I have a node that receives the chain and a glue operand from the same node, and the ISEL DAG looks how I want it to. However, once it passes to scheduling, the glue no longer exists and the nodes are just chained, but twice. ISel output: ISEL: Starting pattern match on root node: 0x2c689c0: i32,ch = SHADDXH 0x2c688c0:2, 0x2c686c0, 0x2c688c0:1 [ID=13] Initial Opcode index to 6962 Morphed node: 0x2c689c0: i32,ch = SHADDXH_RA 0x2c66500, 0x2c688c0:2, 0x2c688c0:1 Final schedule output: SU(4): 0x2c689c0: i32,ch = SHADDXH_RA 0x2c66500, 0x2c688c0:1, 0x2c688c0:1 [ID=4] Is this correct behavior? Because InstrEmitter then complains that the nodes do not match the tablegen file, which I would say is correct. I'm letting tablegen doing the pattern matching on the instructions, and this is involving address calculations is that makes any difference... Does anyone have any ideas? Cheers, Sam -- View this message in context: http://llvm.1065342.n5.nabble.com/Is-it-correct-for-a-glue-operand-to-be-replaced-with-a-chain-tp56213.html Sent from the LLVM - Dev mailing list archive at Nabble.com.