[llvm-dev] Manipulating global address inside GlobalAddress SDNode in (RISCV) LLVM backend
Reshabh Sharma via llvm-dev
llvm-dev at lists.llvm.org
Tue Jul 9 06:48:53 PDT 2019
Hello,
Brief background: We are trying to support 64 bit pointers in RISCV 32 bit
backend
http://lists.llvm.org/pipermail/llvm-dev/2019-June/132805.html
To pass the legalizer we plan to break the 64 bit GlobalAddress into 32 bit
GlobalAddress having the other 32 bit glued to the node. We could not find
a direct way to convert the 64 bit GlobalAddress Node into a 32 bit node.
For a GlobalAddress node say i64 = GlobalAddress<0xHighLow> we want to
convert it into i32 = GlobalAddress<0xLow>.
[The below part is in reference with the RISCV LLVM backend]
If there is no direct way to do this, we plan to fall back on a backup plan
to convert the GlobalAddress node into the required LUI and ADDI pair but
that would require the addition of two new target flag in RISCVII
namespace.
- Reshabh
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190709/aa10043d/attachment.html>
More information about the llvm-dev
mailing list