[LLVMdev] Getting the pointer type from a Load/Store SDNode
Christopher Lamb
christopher.lamb at gmail.com
Sun Nov 25 15:39:06 PST 2007
On Nov 22, 2007, at 1:51 PM, Chris Lattner wrote:
> On Wed, 21 Nov 2007, Christopher Lamb wrote:
>> I'm digging into this, but I'd like to know if it's feasible to
>> get to the
>> pointer type from a Load/Store SDNode? This would relieve me from
>> having to
>> put the address space information into those SDNodes.
>>
>> Is Load/StoreSDNode->getSrcValue()->getType() going to do what I
>> want?
>> If not, I can't see another way of getting to the pointer type.
>
> Hrm, the codegen has a couple of interesting crazy issues. For
> example,
> it thinks there is a current PointerTy() that is always valid.
>
> I see a couple ways to handle this. One is to require that the
> targets
> custom expand the load/store to alternate address space at SDISel
> time.
> This way they could do any crazy thing they want, including
> lowering them
> into intrinsics, etc.
Forcing custom lowering for ISD::LOAD/STORE means that you lose lots
of the information carried along with the Load/StoreSDNode that makes
writing instruction patterns (particularly the ext/trunc predicates)
simple.
Another possibility is to add a utility function to Load/StoreSDNodes
that returns the address space of the pointer being used. For my use
I think this way is probably best, though there's nothing preventing
a target from doing custom lowering.
--
Christopher Lamb
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20071125/a012cdbd/attachment.html>
More information about the llvm-dev
mailing list