<div dir="ltr"><div dir="ltr"><div dir="ltr">Hello,<div><br></div><div>Brief background: <span style="color:rgb(0,0,0);white-space:pre-wrap">We are trying to support 64 bit pointers in RISCV 32 bit backend </span></div><div><a href="http://lists.llvm.org/pipermail/llvm-dev/2019-June/132805.html">http://lists.llvm.org/pipermail/llvm-dev/2019-June/132805.html</a><br></div><div><br></div><div>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. </div><div><br></div><div>For a GlobalAddress node say i64 = GlobalAddress<0xHighLow> we want to convert it into i32 = GlobalAddress<0xLow>. </div><div><br></div><div>[The below part is in reference with the RISCV LLVM backend]</div><div>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. </div><div><br></div><div>- Reshabh</div></div></div></div>