Mercurial > hg > graal-jvmci-8
diff src/share/vm/opto/mulnode.cpp @ 6849:f6badecb7ea7
7199654: Remove LoadUI2LNode
Summary: Removed LoadUI2L node from Ideal nodes, use match rule in .ad files instead.
Reviewed-by: kvn
author | vlivanov |
---|---|
date | Tue, 09 Oct 2012 12:40:05 -0700 |
parents | e626685e9f6c |
children | d804e148cff8 |
line wrap: on
line diff
--- a/src/share/vm/opto/mulnode.cpp Tue Oct 09 10:11:38 2012 +0200 +++ b/src/share/vm/opto/mulnode.cpp Tue Oct 09 12:40:05 2012 -0700 @@ -599,20 +599,6 @@ Node* in1 = in(1); uint op = in1->Opcode(); - // Masking sign bits off of an integer? Do an unsigned integer to - // long load. - // NOTE: This check must be *before* we try to convert the AndLNode - // to an AndINode and commute it with ConvI2LNode because - // 0xFFFFFFFFL masks the whole integer and we get a sign extension, - // which is wrong. - if (op == Op_ConvI2L && in1->in(1)->Opcode() == Op_LoadI && mask == CONST64(0x00000000FFFFFFFF)) { - Node* load = in1->in(1); - return new (phase->C) LoadUI2LNode(load->in(MemNode::Control), - load->in(MemNode::Memory), - load->in(MemNode::Address), - load->adr_type()); - } - // Are we masking a long that was converted from an int with a mask // that fits in 32-bits? Commute them and use an AndINode. Don't // convert masks which would cause a sign extension of the integer