Hi! I developed a register allocator within LLVM and now I need to test its efficiency. Can I do this using llvm-test package? Do llvm tests check all available regalloc options automatically? If not, then what modifications should I do to the test files? It would be great if I could test my algo along with linearscan and compare the results. Thanks. Tony. -- "Nae king! Nae quin! Nae laird! Nae master! We willnae be fooled again!", Nac Mac Feegles (Terry Pratchett, "The Wee Free Men") "Self improvement is masturbation. Self destruction is the answer.", Tyler Durden (Chuck Palahniuk, "The Fight Club") -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20060901/765e453e/attachment.html>
> I developed a register allocator within LLVM and now I need to test its > efficiency. Can I do this using llvm-test package? > Do llvm tests check all available regalloc options automatically? If not, > then what modifications should I do to the test files?You can use llvm-test to do this. It wont check all avaliable regalloc options though... you need to tell it to use something other than the default. If you wanted to use the nightly tester scripts, you can set the llc-beta option to use your register allocator. Otherwise, check out TEST.llc* to see how you can modify it to use your register allocator and generate reports. -Tanya
Fernando Magno Quintao Pereira
2006-Sep-02 02:31 UTC
[LLVMdev] Testing a register allocator
> Hi! > > I developed a register allocator within LLVM and now I need to test its > efficiency. Can I do this using llvm-test package? > Do llvm tests check all available regalloc options automatically? If not, > then what modifications should I do to the test files? > It would be great if I could test my algo along with linearscan and compare > the results. > > Thanks. > > Tony.Hey, Anton. In TEST.llc.Makefile, you can set the type of register allocator that you want: LLC_OPTS = -f -o=/dev/null -stats -time-passes -regalloc=linearscan to compare against your, open "Makefile.program", and set LLCBETAOPTION := -regalloc=your_allocator -fast After that, you just have to type make TEST=nightly report.html on project/llvm-test/ An '*' on the report means that your test failed. The report will give you your compile time, and the running time of the compiled file. Remember to check the test files from CVS. Best, Fernando
Hi again! I've managed to run the llvm-test with the options Fernando told. What I did was the following: I changed llc regalloc option in TEST.llc.makefile to my allocator. I changed LLCBETAOPTION in makefile.programs file for all architechtures to use my allocator. I run make TEST=nightly report.html and got all tests under LLCBETA failed ('*' symbol). Though I know that my algorithm works. At least I succeeded to pass some files from the LLVM tests (oggenc.c, for example) through llvm-gcc -emit-llvm ; llc -regalloc=myregalloc; gcc -g commands and everything worked fine (even running of the compiled file). So I guess that nightlytest compares output of tested programs with some prepared results and the output of llc with my regalloc is different from the expected. Is it right? Or did I do smth wrong? BTW, how can I run all tests only on LLC to reduce the amount of time to wait until tests are finished, if it's possible? Thanks! P.S. I've checked out LLVM before running the tests On 9/2/06, Fernando Magno Quintao Pereira <fernando at cs.ucla.edu> wrote:> > > > Hi! > > > > I developed a register allocator within LLVM and now I need to test its > > efficiency. Can I do this using llvm-test package? > > Do llvm tests check all available regalloc options automatically? If > not, > > then what modifications should I do to the test files? > > It would be great if I could test my algo along with linearscan and > compare > > the results. > > > > Thanks. > > > > Tony. > > Hey, Anton. > > In TEST.llc.Makefile, you can set the type of register allocator that > you want: > LLC_OPTS = -f -o=/dev/null -stats -time-passes -regalloc=linearscan > > to compare against your, open "Makefile.program", and set > LLCBETAOPTION := -regalloc=your_allocator -fast > > After that, you just have to type make TEST=nightly report.html > on project/llvm-test/ > > An '*' on the report means that your test failed. The report will give you > your compile time, and the running time of the compiled file. > > Remember to check the test files from CVS. > > Best, > > Fernando >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20060903/1b6c7d73/attachment.html>