harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Egor Pasko (JIRA)" <j...@apache.org>
Subject [jira] Created: (HARMONY-1788) [drlvm][jit][abcd] Inequality graph generation from HIR
Date Mon, 09 Oct 2006 16:03:20 GMT
[drlvm][jit][abcd] Inequality graph generation from HIR
-------------------------------------------------------

                 Key: HARMONY-1788
                 URL: http://issues.apache.org/jira/browse/HARMONY-1788
             Project: Harmony
          Issue Type: New Feature
          Components: DRLVM
         Environment: all
            Reporter: Egor Pasko


new files [vm.zip]:
vm/jitrino/src/optimizer/abcd/AbcdFlags.h
vm/jitrino/src/optimizer/abcd/insertpi.cpp
vm/jitrino/src/optimizer/abcd/classic_abcd.h
vm/jitrino/src/optimizer/abcd/insertpi.h
vm/jitrino/src/optimizer/abcd/classic_abcd.cpp
vm/jitrino/config/ia32/abcd_static.emconf

This issue depends on HARMONY-1564.

Features:

* new optimization pass added (classic_abcd), off by default

* old optimization pass (abcd) is preserved to work with no change
  (with bug fixed by Naveen in HARMONY-1564)
  the fix should NOT visibly affect anyone (!!!)

* new EM config file for easier ABCD development (abcd_static.emconf)
  (use java -Xem:abcd_static Hello)

* Pi instructions are now inserted by the separate class (InsertPi)
  that is reused between both old and new ABCD algorithms

* Inequality graph can be printed to a .dot file on request.
  Do it like this for method "main":
  java -Xem:abcd_static -Djit.p.filter=.main -Djit.p.arg.log=ct,irdump,dotdump
  and find inequality.graph.dot
  ("dot -Tpng inequality.graph.dot > viewme.png")

* checked on gcc 3.3.3 Linux/ia32

* HelloWorld passed in the new mode, does not affect other modes

* against r454400

Instructions on how to apply both contributions. 

Suppose you have all files in working_vm/abcd_update:
abcd.patch           (Naveen, HARMONY-1564)
abcd-original.tar.gz (Egor, HARMONY-1564)
naveen_2.patch       (Naveen, HARMONY-1564)
enable-inequality-graph-building.patch.txt
vm.zip

$ cd working_vm
$ patch -p0 <abcd_update/abcd.patch
$ tar zxvf abcd_update/abcd-original.tar.gz
$ patch -p0 <../abcd_update/naveen_2.patch
$ mv * ../vm/jitrino/src/optimizer/abcd/
$ cd ..
$ rm -rf abcd-original/
$ unzip abcd_update/vm.zip
$ patch -p1 <abcd_update/enable-inequality-graph-building.patch.txt

What is left to do for the new ABCD:

* teach the optimization to invoke the solver 
  (detect array lengths, bounds checking operands)

* acquire not-a-small amount of tests

* fix bugs :)

* improve the algorithm supporting semantics of more more operations 
  such as Op_Conv, etc.


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message