[llvm-commits] [llvm jit adaptive-compilation] : Adaptive compilation framework x86 Patch

James Molloy james.molloy at arm.com
Mon Jul 4 08:17:36 PDT 2011


Hi Xin,

 

What were the original numbers before adaptive compilation?

 

Cheers,

 

James

 

From: llvm-commits-bounces at cs.uiuc.edu
[mailto:llvm-commits-bounces at cs.uiuc.edu] On Behalf Of Xin Tong Utoronto
Sent: 04 July 2011 16:14
To: llvm-commits at cs.uiuc.edu
Subject: [llvm-commits] [llvm jit adaptive-compilation] : Adaptive
compilation framework x86 Patch

 

Hi All

 

This patch is intended to provide support for LLVM JIT adaptive compilation
on x86 platforms. The implementation of the adaptive compilation framework
is one of the Google Summer of Code 2011 projects (
<http://www.google-melange.com/gsoc/project/google/gsoc2011/timexerox/8001>
http://www.google-melange.com/gsoc/project/google/gsoc2011/timexerox/8001).
The patch is created against the LLVM branch below. It is currently reviewed
by Eric Christoper at Apple and will be applied to the LLVM branch (
<https://echristo/> https://echristo@
<http://llvm.org/svn/llvm-project/llvm/branches/GSoC/adaptive-compilation>
llvm.org/svn/llvm-project/llvm/branches/GSoC/adaptive-compilation). But more
eyes are definitely welcome. Originally, the LLVM adaptive compilation
framework was intended to be applied to LLVM head stream, but due to
concerns regarding the upcoming major changes on ExecutionEngine and MCJIT.
it is now worked in a branch and hopefully applied to the head stream once
the MCJIT changes have been completed.

 

This patch involves changes to 

 

include/llvm/Target/TargetJITInfo.h

lib/Target/X86/X86JITInfo.h

lib/Target/X86/X86JITInfo.cpp

lib/Target/ARM/ARMJITInfo.h

lib/Target/ARM/ARMJITInfo.cpp

lib/Target/PowerPC/PPCJITInfo.h

lib/Target/PowerPC/PPCJITInfo.cpp

lib/ExecutionEngine/JIT/JITEmitter.cpp

lib/ExecutionEngine/JIT/JIT.h

lib/ExecutionEngine/JIT/JIT.cpp

 

This was tested on x86 and x86-64 under Ubuntu with

 

llvm test-suite

 

There were no regressions for the O0 - O3 JIT compilation. Additionally,
adaptive compilation currently gives better performance numbers than O1 - O3
as shown.

 

lli -O0

Total Time is 1068.37

lli -O1

Total Time is 1395.68

 

lli -O2

Total Time is 1394.81

 

lli -O3

Total Time is 1395.76

 

lli -adaptive-comp

Total Time is 1119.23

 

 

Thank You

Xin Tong 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20110704/4216c99a/attachment.html>


More information about the llvm-commits mailing list