diff --git a/src/main/java/com/android/tools/r8/ir/conversion/IRConverter.java b/src/main/java/com/android/tools/r8/ir/conversion/IRConverter.java
index 8e5b26f..c67e229 100644
--- a/src/main/java/com/android/tools/r8/ir/conversion/IRConverter.java
+++ b/src/main/java/com/android/tools/r8/ir/conversion/IRConverter.java
@@ -559,12 +559,16 @@
     // Always perform dead code elimination before register allocation. The register allocator
     // does not allow dead code (to make sure that we do not waste registers for unneeded values).
     DeadCodeRemover.removeDeadCode(code, codeRewriter, options);
+    if (!options.debug) {
+      // Remove unneeded debug positions before register allocation to avoid to process useless
+      // instructions. These is safe because the register allocator can not generate new
+      // instructions that will throw exceptions and thus apply removedUnneededDebugPositions before
+      // register allocator will produce the same result.
+      CodeRewriter.removedUnneededDebugPositions(code);
+    }
     LinearScanRegisterAllocator registerAllocator = new LinearScanRegisterAllocator(code, options);
     registerAllocator.allocateRegisters(options.debug);
     printMethod(code, "After register allocation (non-SSA)");
-    if (!options.debug) {
-      CodeRewriter.removedUnneededDebugPositions(code);
-    }
     for (int i = 0; i < PEEPHOLE_OPTIMIZATION_PASSES; i++) {
       CodeRewriter.collapsTrivialGotos(method, code);
       PeepholeOptimizer.optimize(code, registerAllocator);
