llvm and simplescalar

hello everyone,
   I'm wondering whether llvm can work together with simplescalar. Would anyone
please give me some clarification? Thanks a lot!

In what way do you want them to work together?


It use to. alphasim (the validated alpha model based on simplescalar)
is better though. Also, since no one has needed to run simplescalar
experiments, the alpha backend has bitrotted some. The last version
that I know worked with most of spec was llvm 1.8 or so. You need to
get or write an elf64 loader and fix a couple instruction
implementations in simplescalar to get it to run linux binaries (I
have both somewhere).


IMNSHO, don't use SimpleScalar. It's simulation model is WAY ourt of date.

Use M5 instead:



Yes. This is what we were using last time we needed an alpha
simulator too. Just be forwarned that llvm-gcc 4.2 has not been
tested on alpha, and there isn't currently a nightly tester running,
so I don't know how much bitrot has happened to the backend (I have
the machines to start a nightly tester, it just hasn't happened yet).


Thank you for your answers and suggestions!
Well, I want to do some experiments about the compiler optimization in llvm under SPM and I need performance evaluation. As I know, alpha is a general-purpose CPU, so I consider that arm may be an alternative. Simplesim-arm is able to do performance simulation while m5-arm is still under development. Then, what should I do? Do the experiment under m5-alpha or use simplesim-arm? And if I choose to use m5-alpha, can I use llvm as the compiler for this simulator?


I would use something like simics if you can. If you use an alpha
simulator you will either need to do some work on the backend or use
an older version of llvm. If you can do your work with a different
cpu, then a simulator for x86, powerpc, or arm would probably be your
best bet for good performance (and most mature backends) from llvm.


LLVM has an Alpha target but I don't know how well it's maintained.

SimpleScalar is simply not a good performance simulator. It does not model
the complex interactions that happen in today's processors. It's memory model
is particularly bad.

I'm not familiar with SimpleScalar's ARM model. As that's a relatively simple
CPU, it may be adequate depending on what you want to do. But I do not trust
any studies, papers, etc. that are published with SimpleScalar results and I
take studies published using ANY simulator with a very large grain of salt.