[LLVMdev] Status of Elsa->LLVM
Richard Pennington
rich at pennware.com
Fri Dec 21 13:08:57 PST 2007
I'm a little further along now. I've started to put together a simple
driver for Elsa and LLVM that I'm calling "ellsif" (cute name, I think
it works).
The file being compiled is a "printf" function. Here are timing results
for optimized and unoptimized runs:
[~/elsa/ellsif] dev% ./ellsif -v test/ofmt.i -time-actions
Adding test/ofmt.i as a preprocessed C file
Phase: Preprocessing
test/ofmt.i is ignored during this phase
Phase: Translation
compile test/ofmt.i to become an unoptimized LLVM bitcode file
typechecking results:
errors: 0
warnings: 0
Phase: Optimization
optimize ofmt.bc to become an LLVM bitcode file
Phase: Bitcode linking
bclink ofmt.bc to become a file that has been linked
Phase: Bitcode assembly
ofmt.bc is ignored during this phase
Phase: Assembly
ofmt.bc is ignored during this phase
Phase: Linking
ofmt.bc is ignored during this phase
===-------------------------------------------------------------------------===
... Ellsif action timing report ...
===-------------------------------------------------------------------------===
Total Execution Time: 0.2120 seconds (0.2143 wall clock)
---User Time--- --System Time-- --User+System-- ---Wall
Time--- --- Name ---
0.1400 ( 72.9%) 0.0160 ( 79.9%) 0.1560 ( 73.5%) 0.1558 (
72.7%) Type checking
0.0280 ( 14.5%) 0.0000 ( 0.0%) 0.0280 ( 13.2%) 0.0310 (
14.5%) Optimization
0.0080 ( 4.1%) 0.0040 ( 20.0%) 0.0120 ( 5.6%) 0.0154 (
7.2%) Elaboration
0.0120 ( 6.2%) 0.0000 ( 0.0%) 0.0120 ( 5.6%) 0.0101 (
4.7%) Integrity checking
0.0040 ( 2.0%) 0.0000 ( 0.0%) 0.0040 ( 1.8%) 0.0017 (
0.7%) Parsing
0.1920 (100.0%) 0.0200 (100.0%) 0.2120 (100.0%) 0.2143
(100.0%) TOTAL
[~/elsa/ellsif] dev% ./ellsif -v test/ofmt.i -time-actions -std-compile-opts
Adding test/ofmt.i as a preprocessed C file
Phase: Preprocessing
test/ofmt.i is ignored during this phase
Phase: Translation
compile test/ofmt.i to become an unoptimized LLVM bitcode file
typechecking results:
errors: 0
warnings: 0
Phase: Optimization
optimize ofmt.bc to become an LLVM bitcode file
Phase: Bitcode linking
bclink ofmt.bc to become a file that has been linked
Phase: Bitcode assembly
ofmt.bc is ignored during this phase
Phase: Assembly
ofmt.bc is ignored during this phase
Phase: Linking
ofmt.bc is ignored during this phase
===-------------------------------------------------------------------------===
... Ellsif action timing report ...
===-------------------------------------------------------------------------===
Total Execution Time: 1.3560 seconds (1.4326 wall clock)
---User Time--- --System Time-- --User+System-- ---Wall
Time--- --- Name ---
1.1720 ( 86.6%) 0.0000 ( 0.0%) 1.1720 ( 86.4%) 1.2139 (
84.7%) Optimization
0.1560 ( 11.5%) 0.0040 (100.0%) 0.1600 ( 11.7%) 0.1833 (
12.8%) Type checking
0.0120 ( 0.8%) 0.0000 ( 0.0%) 0.0120 ( 0.8%) 0.0227 (
1.5%) Elaboration
0.0080 ( 0.5%) 0.0000 ( 0.0%) 0.0080 ( 0.5%) 0.0099 (
0.6%) Integrity checking
0.0040 ( 0.2%) 0.0000 ( 0.0%) 0.0040 ( 0.2%) 0.0025 (
0.1%) Parsing
1.3520 (100.0%) 0.0040 (100.0%) 1.3560 (100.0%) 1.4326
(100.0%) TOTAL
[~/elsa/ellsif] dev% wc test/ofmt.i
2899 7781 67913 test/ofmt.i
[~/elsa/ellsif] dev%
Sorry to add noise to the list with this. I'm just very excited. ;-)
Again, my compliments to both the Elsa and LLVM teams. It says a lot
that I got this far in 19 days of part-time work.
-Rich
More information about the llvm-dev
mailing list