Rafael EspĂndola
2006-Aug-02 20:12 UTC
[LLVMdev] adding an optional flag edge to a BRIND node
Is there any way to add an optional flag edge to a BRIND node? I In the ARM backend I lower returns directly to BRINDs, so I need to add an edge connecting the BRIND and the CopyToReg that sets the return value. The other option is to create an ARM specific node that is identical to BRIND except for having a flag edge. Thanks, Rafael
Chris Lattner
2006-Aug-03 17:39 UTC
[LLVMdev] adding an optional flag edge to a BRIND node
On Wed, 2 Aug 2006, [UTF-8] Rafael Esp?ndola wrote:> Is there any way to add an optional flag edge to a BRIND node? I In > the ARM backend I lower returns directly to BRINDs, so I need to add > an edge connecting the BRIND and the CopyToReg that sets the return > value. The other option is to create an ARM specific node that is > identical to BRIND except for having a flag edge.I think you've already figured this out, but just in case: This isn't the best way to do this. I think you want to add a target-specific retflag node, which gets selected to your return instruction. BRIND is really used for tablejump's, which are "goto's", not "returns". Implementing return in terms of the BRIND node could confuse the dag combiner, even if it had a flag operand. -Chris -- http://nondot.org/sabre/ http://llvm.org/
Maybe Matching Threads
- [LLVMdev] [RFC, ARM] expanding RET to CopyToReg;BRIND
- [LLVMdev] [RFC, ARM] expanding RET to CopyToReg;BRIND
- [LLVMdev] [RFC, ARM] expanding RET to CopyToReg;BRIND
- [LLVMdev] [RFC, ARM] expanding RET to CopyToReg;BRIND
- [LLVMdev] [RFC, ARM] expanding RET to CopyToReg;BRIND