Hello, today I download poolalloc from “https://github.com/llvm-mirror/poolalloc”. and I compiled it with LLVM3.3. Then when I excute “make”,I get the error:
AddressTakenAnalysis.cpp:18:30:fatal error:llvm/IR/CallSite.h: No such file or directory.
I correct the path of callsite.h to “llvm/Support/Callsite.h”. there is another error:
AddressTakenAnalysis.cpp:In function ‘bool isAddresTaken(llvm::Value)’
AddressTakenAnalysis.cpp:39:18: error: ‘class llvm::User’ hao no member named ‘getUser’
User *U = I->getUser();
so I wonder if I get the wrong version, and where should I get the right version compiler with LLVM3.3?
First let me say that LLVM 3.3 is an old release. It might be a better solution to upgrade to a newer LLVM rather than changing the version of Poolalloc.
If you still want to change Poolalloc version there was a commit made in August 2013 which brought it up-to-date with LLVM 3.3. See:
https://github.com/llvm-mirror/poolalloc/tree/a0ed2a473bf0938c860266c49a76f1ec0d8de9e7 for the commit and
https://github.com/llvm-mirror/poolalloc/archive/a0ed2a473bf0938c860266c49a76f1ec0d8de9e7.zip for an archived file of the same.
If you need DSA, you should be able to use it with LLVM mainline. Note that lib/PoolAllocate won’t compile; no one has updated it to work with an LLVM version newer than LLVM 3.2. If you need both DSA and the Automatic Pool Allocation transform, you should use LLVM 3.2 with the release_32 branch of the poolalloc project (details for downloading these versions are in the SAFECode Install Directions at ). If you don’t mind me asking, do you need the Automatic Pool Allocation transform or just DSA? If you only need DSA, for what do you need it? I’ve seen a drastic increase in the number of people wanting to use DSA in the past year, and I’m curious as to whether there’s a pattern. Regards, John Criswell