LLI: move instruction cache tweaks.

Invalidate the instruction cache right before we start actually executing code, otherwise
we can miss some that came later. This is still not quite right for a truly lazilly
compiled environment, but it's closer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162803 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/lli/lli.cpp b/tools/lli/lli.cpp
index b6c9299..3a3f4c7 100644
--- a/tools/lli/lli.cpp
+++ b/tools/lli/lli.cpp
@@ -466,10 +466,6 @@
     exit(1);
   }
 
-  // Clear instruction cache before code will be executed.
-  if (JMM)
-    JMM->invalidateInstructionCache();
-
   // The following functions have no effect if their respective profiling
   // support wasn't enabled in the build configuration.
   EE->RegisterJITEventListener(
@@ -524,6 +520,10 @@
     }
   }
 
+  // Clear instruction cache before code will be executed.
+  if (JMM)
+    JMM->invalidateInstructionCache();
+
   // Run main.
   int Result = EE->runFunctionAsMain(EntryFn, InputArgv, envp);