Don't add preamble position if one is found before first instruction.

Change-Id: I067834cb5cc8d2f69386dbab8d9c4534fc6505c4
diff --git a/src/main/java/com/android/tools/r8/graph/CfCode.java b/src/main/java/com/android/tools/r8/graph/CfCode.java
index 0213b0e..0a7c0e5 100644
--- a/src/main/java/com/android/tools/r8/graph/CfCode.java
+++ b/src/main/java/com/android/tools/r8/graph/CfCode.java
@@ -741,15 +741,20 @@
       firstLabel = new CfLabel();
       newInstructions.add(firstLabel);
     }
-    newInstructions.add(new CfPosition(firstLabel, callerPosition));
+    boolean seenPosition = false;
     for (CfInstruction instruction : instructions) {
       if (instruction.isPosition()) {
+        seenPosition = true;
         CfPosition oldPosition = instruction.asPosition();
         newInstructions.add(
             new CfPosition(
                 oldPosition.getLabel(),
                 oldPosition.getPosition().withOutermostCallerPosition(callerPosition)));
       } else {
+        if (!instruction.isLabel() && !seenPosition) {
+          newInstructions.add(new CfPosition(firstLabel, callerPosition));
+          seenPosition = true;
+        }
         newInstructions.add(instruction);
       }
     }