Apply CFCSS pass to SPEC2006

Hi all,

[My problem:]
Followed by the github project: llvm-cfcss, I rewrite the implementation of CFCSS algorithm to adapt to llvm 3.5.

And then I apply my CFCSS pass to SPEC2006 benchmark to have a large scale test. However, I can only get the right binary of [998.specrand]. Right binary means that the output of it is the same as the binary generated without my CFCSS pass.

The rest of benchmark doesnt work right. For example, 401.bzip2, 470.lbm, I can get the binary but they dont work right.

[My guess]

  1. The execution sequence of command ‘opt’ and ‘llvm-link’ maybe a problem. I try two ways, they are ‘opt, llvm-link’, ‘llvm-link, opt’. In the example of 998.specrand, both of them works, however in the rest of benchmark, neither of them work.

So i wonder that how should I apply my CFCSS pass to several soource C file? If anyone have come across this problem, could you please share me the experience? Thanks in advance!