anchor.diff:      CodegenRegistry registry = work.registry;
       Set<HInstruction> boundsChecked = new Set<HInstruction>();
       SsaCodeMotion codeMotion;
  +    SsaLoadElimination loadElimination;
       measure(() {
         List<OptimizationPhase> phases = <OptimizationPhase>[
           // Run trivial instruction simplification first to optimize
  
positive.code:       MemberEntity element, HInstruction receiver, HInstruction instruction) {
      HInstruction existing = memorySet.lookupFieldValue(element, receiver);
      if (existing != null) {
        instruction.block.rewriteWithBetterUser(instruction, existing);
        instruction.block.remove(instruction);
      } else {
  
negative.code:         // updated because they now have different inputs.
          new SsaTypePropagator(compiler, closedWorld),
          codeMotion = new SsaCodeMotion(),
          loadElimination =
              new SsaLoadElimination(backend, compiler, closedWorld),
          new SsaRedundantPhiEliminator(),
          new SsaDeadPhiEliminator(),
          // After GVN and load elimination the same value may be used in code
  