Displaying 6 results from an estimated 6 matches for "monomorphisation".
2007 Dec 24
3
[LLVMdev] Optimization feasibility
...imizations that I need to get to work are:
* Tail call elimination.
* Constant evaluation. To implement this, the JIT phase would have to
evaluate the constant and somehow store it so that future runs don't
need to reevaluate it.
* Dead code elimination, enabled by constant evaluation.
* Monomorphisation, i.e. constant evaluation may establish that some
data structures aren't polymorphic, so it would be worth generating
code that keeps integers in registers instead of generating boxed
representations on the heap. Again, constant evaluation can enable
this optimization.
I'll be...
2015 Nov 12
3
[RFC] A new intrinsic, `llvm.blackbox`, to explicitly prevent constprop, die, etc optimizations
On Wed, Nov 11, 2015 at 07:14:28PM -0800, Sean Silva via llvm-dev wrote:
> Can you show a real benchmark that users have tried to write where the call
> overhead of actually using an external function call is measurable?
This is the wrong question. The correct question is: What useful
benchmark cannot trivally factor out the overhead of the external
function call. Yes, if you do
2007 Dec 25
0
[LLVMdev] Optimization feasibility
...Dead code elimination, enabled by constant evaluation.
LLVM has both constant propagation and dead code elimination, but if
your language has a high-level functional concept of "constant" here
(or you're referring to memoization), your runtime may need to help
LLVM out.
> * Monomorphisation, i.e. constant evaluation may establish that some
> data structures aren't polymorphic, so it would be worth generating
> code that keeps integers in registers instead of generating boxed
> representations on the heap. Again, constant evaluation can enable
> this optimizatio...
2008 Mar 18
0
[LLVMdev] Proposal for a Google summer of code project for the Java frontend.
The memory consumed by the code compiled is huge in server applications. And
it is not shared by different virtual machine instances. By contrast,
shared libraries
are memory mapped, therefore they are shared between different instances of the
executables using them. It is posible to throw away code after using
it, but then
compilation cost would be repeated.
And dynamic compilation prevents
2008 Mar 18
3
[LLVMdev] Proposal for a Google summer of code project for the Java frontend.
Ramón García wrote:
> I would prefer to see actual code to make safe schedules. With code I can see
> what changes one must make. I can also show in detail these changes,
> which would give security to the LLVM project that the proposal is
> viable. By contrast,
> without code, neither me nor LLVM project can ensure that the project will
> be successfully performed behind
2015 Nov 16
2
[RFC] A new intrinsic, `llvm.blackbox`, to explicitly prevent constprop, die, etc optimizations
Hi Richard,
You don't appear to have addressed my suggestion to not require a perfect
external world, instead to measure the overhead of an imperfect world (by
using an empty benchmark) and subtracting that from the measured benchmark
score.
Besides which, absolute benchmark results are more than often totally
useless - the really important part of benchmarking is relative
differences.