[PATCH] D66228: [mips] Fix 64-bit address loading in case of applying 32-bit mask to the result

Simon Atanasyan via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 19 13:40:10 PDT 2019


atanasyan added a comment.

Thanks for review. Could you clarify some points in your comments?

In D66228#1632060 <https://reviews.llvm.org/D66228#1632060>, @sdardis wrote:

> The correct approach I believe is to fix the SYM_32 bug, then provide the patterns for cases of where intermediate/end nodes such as MipsHi / MipsLo can appear without an add appearing as their parent node.




1. If we do not change the `getAddrNonPICSym64` function, at some point (before lowering) we anyway(?) get the following chain of commands `(add (shl (%hi(sym), 16), %lo(%sym))`. How can we lower it to a correct set of instructions, if we do not have a pattern with the `shl`? Please correct we if I'm wrong.
2. What do you mean by //"patterns for cases of where intermediate/end nodes such as MipsHi / MipsLo can appear without an add appearing as their parent node"//? Do you mean a pattern like `add zero, MipsHi(tglobaladdr)`, or just `MipsHi(tglobaladdr)` or something else?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D66228/new/

https://reviews.llvm.org/D66228





More information about the llvm-commits mailing list