I notice that many DAG nodes like the copy-to-register operation have the ability to take an optional flag parameter, but that the load/store nodes do not (at least as of 2.3). Is it possible to pass flag operands through load/store DAG nodes?
On Nov 17, 2008, at 11:12 AM, Burke, Max wrote:> I notice that many DAG nodes like the copy-to-register operation have > the ability to take an optional flag parameter, but that the load/ > store > nodes do not (at least as of 2.3). Is it possible to pass flag > operands > through load/store DAG nodes?No there isn't. What are you trying to accomplish? Are you trying to force a load / store to be scheduled right after another instruction? Is this meant for correctness or performance? Evan> > > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
On Nov 17, 2008, at 6:03 PM, Evan Cheng wrote:> On Nov 17, 2008, at 11:12 AM, Burke, Max wrote: > > > I notice that many DAG nodes like the copy-to-register operationhave> > the ability to take an optional flag parameter, but that the load/ > > store > > nodes do not (at least as of 2.3). Is it possible to pass flag > > operands > > through load/store DAG nodes? > > No there isn't. What are you trying to accomplish? Are you trying to > force a load / store to be scheduled right after another instruction?> Is this meant for correctness or performance? > > EvanYes, I'm trying to add a load/store before and after an indirect branch on the PowerPC for the purposes of ABI conformance, specifically to use function descriptors instead of direct function pointers. (ref: http://refspecs.linuxfoundation.org/ELF/ppc64/PPC-elf64abi.txt though for this case the third field, the environment pointer, isn't used) -Max