src/share/vm/opto/lcm.cpp

changeset 3882
8c92982cbbc4
parent 3447
cf407b7d3d78
child 4115
e626685e9f6c
     1.1 --- a/src/share/vm/opto/lcm.cpp	Thu Jun 14 14:59:52 2012 -0700
     1.2 +++ b/src/share/vm/opto/lcm.cpp	Fri Jun 15 01:25:19 2012 -0700
     1.3 @@ -1,5 +1,5 @@
     1.4  /*
     1.5 - * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
     1.6 + * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
     1.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     1.8   *
     1.9   * This code is free software; you can redistribute it and/or modify it
    1.10 @@ -139,6 +139,7 @@
    1.11      int iop = mach->ideal_Opcode();
    1.12      switch( iop ) {
    1.13      case Op_LoadB:
    1.14 +    case Op_LoadUB:
    1.15      case Op_LoadUS:
    1.16      case Op_LoadD:
    1.17      case Op_LoadF:
    1.18 @@ -445,6 +446,11 @@
    1.19      if( e->is_MachNullCheck() && e->in(1) == n )
    1.20        continue;
    1.21  
    1.22 +    // Schedule IV increment last.
    1.23 +    if (e->is_Mach() && e->as_Mach()->ideal_Opcode() == Op_CountedLoopEnd &&
    1.24 +        e->in(1)->in(1) == n && n->is_iteratively_computed())
    1.25 +      continue;
    1.26 +
    1.27      uint n_choice  = 2;
    1.28  
    1.29      // See if this instruction is consumed by a branch. If so, then (as the

mercurial