[LLVMdev] Seperating LLVM representation for processing with different backends

aditya vishnubhotla vvaditya12 at yahoo.com
Wed Jan 9 02:12:05 PST 2008


Hi,

I am writing a pass which identifies the parts(basic
blocks/functions) of
the input algorithm with more of data flow or control
flow. These parts are to
be separated executed by different backends.
My idea is to insert replacement basic blocks with
intrinsic instructions
within the basic block. These instructions should
satisfy the data
dependencies within the LLVM data structure and should
do the parameter
marshalling for switching to the other architecture to
and fro.

Dependencies of the different passes:

 analysis part
          |
       filter
      /       \
ppc          custom backend

Switching between the ppc and custom backend would be
by using different
filter passes in two compiler runs.

I have a couple of questions regarding the problem
outlined above:
Is the approach using intrinsic instructions
worthwile?
What has to be done to the existing backends to make
these new instrinsic
instructions known?
Is there an way to eliminate two compiler runs, one
for each backend?

Best regards
Aditya


      ____________________________________________________________________________________
Looking for last minute shopping deals?  
Find them fast with Yahoo! Search.  http://tools.search.yahoo.com/newsearch/category.php?category=shopping



More information about the llvm-dev mailing list