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 ____________________________________________________________________________________ Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ