binopt source/extension

Hi,

I have been playing with bit tools (binopt), and it is very interesting platform that may be used to evaluate multiple alternatives.

Is it possible to create "new" optiization passes? E.g: imagine that I want to replace

all the shifts for multiplications (pretty useles). How can I write a pass using the BIT

infrastructure to do so?

[370 byte] By [mpsadmserver] at [2007-11-26 6:42:17]
# 1

This feature does not currently exist, but we are working on something

to provide exactly that.

It would be helpful to us If you could provide any requirements other than what you have already said. Could you also tell us what is your overall objective for

which you were looking for this feature - is it just customized performance

improvement or other things as well?

If you have any time requirement (deadline) that information will also be helpful.

Thanks.

raj_prakash at 2007-7-6 14:57:53 > top of Java-index,Open Source Technologies,OpenSPARC...
# 2

We have a TLS (Thread Level Speculation or Speculative Parallelization) compiler

built on top of GCC. One problem with TLS compilers is that they require substantial

profiling to avoid slowdows.

Requiring a profiling pass is a major issue, so we are considering to build a binary

translator to extract TLS tasks. To do so, at least we need:

-Capacity to insert instruction at any point on the code

-Have a CFG (Control Flow Graph) of the binary because spawn points only can be

placed on execution equivalent nodes (post dominates and dominates)

-Capacity to track the sources and destination registers. The reason is that we need to

insert loads and stores for all the live-in registers at tasks boundaries. (Data flow graph

for registers only (not memory)).

It is a basic compiler infrastructure. We do not need advanced things like pointer

analysis. Nevertheless, it would be great if we can perform transformation phases

like copy propagation and register "re-" allocation once the instructions are inserted.

A student would start to work on that project at the end of this summer (3Q2006).

Hopefully, we can use that type of capabilities by then.

Thanks,

mpsadmserver at 2007-7-6 14:57:53 > top of Java-index,Open Source Technologies,OpenSPARC...