aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorTim Northover <Tim.Northover@arm.com>2012-09-20 08:46:30 +0000
committerTim Northover <Tim.Northover@arm.com>2012-09-20 08:46:30 +0000
commita668b46733310bbe9bc578e95ac5171efeceb949 (patch)
treeed6883350216efd7fccf8f15b57aaec32d6b8305 /tools
parentaa258442b9c9f764845660a8f3233c7887e7cf6f (diff)
downloadexternal_llvm-a668b46733310bbe9bc578e95ac5171efeceb949.zip
external_llvm-a668b46733310bbe9bc578e95ac5171efeceb949.tar.gz
external_llvm-a668b46733310bbe9bc578e95ac5171efeceb949.tar.bz2
Make sure lli compiles all code before invalidating instruction caches.
Patch from Amara Emerson. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164296 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools')
-rw-r--r--tools/lli/lli.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/tools/lli/lli.cpp b/tools/lli/lli.cpp
index 4004b6c..c5645ec 100644
--- a/tools/lli/lli.cpp
+++ b/tools/lli/lli.cpp
@@ -656,6 +656,9 @@ int main(int argc, char **argv, char * const *envp) {
Target.stop();
} else {
+ // Trigger compilation separately so code regions that need to be
+ // invalidated will be known.
+ (void)EE->getPointerToFunction(EntryFn);
// Clear instruction cache before code will be executed.
if (JMM)
static_cast<LLIMCJITMemoryManager*>(JMM)->invalidateInstructionCache();