[aarch64-port-dev ] RFR: JDK-8185786: AArch64: disable some address reshapings.

Andrew Haley aph at redhat.com
Tue Aug 15 13:50:00 UTC 2017


On 14/08/17 22:55, Zhongwei Yao wrote:
> Yeah, it will do the same work. As line 4 has already ensured 'u' is
> MemNode, which is required at line 9. But such implication is easy to
> be ignored, so I make the "u->is_Mem()" checking to be explicit. What
> do you think?

So do this:

      // Any use that can't embed the address computation?
       for (DUIterator_Fast imax, i = addp->fast_outs(imax); i < imax; i++) {
         Node* u = addp->fast_out(i);
         if (! u->is_Mem())
           return;
         if (u->is_LoadVector() || u->is_StoreVector() || u->Opcode() == Op_StoreCM) {
           return;
         }
         if (addp2->in(AddPNode::Offset)->Opcode() != Op_ConvI2L) {
           int scale = 1 << addp2->in(AddPNode::Offset)->in(2)->get_int();
           if (VM_Version::expensive_load(u->as_Mem()->memory_size(), scale)) {
             return;
           }
         }
       }

-- 
Andrew Haley
Java Platform Lead Engineer
Red Hat UK Ltd. <https://www.redhat.com>
EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671


More information about the aarch64-port-dev mailing list