Your SlideShare is downloading. ×
0
GHC LLVMBackend
Workshop
May 8, 2010
Osaka, Japan
Tatsuhiro Ujihisa
http://ujihisa.blogspot.com/
GHC?
•The most common Haskell
compiler
•More features than Haskell98
specification
LLVM?
•Low LevelVirtual Machine
•A virtual machine for
arbitrary environments
•(like JVM for C)
GHC × LLVM
Demo
☜ What I did?
• "fib" app on normal GHC
• "fib" app on LLVM GHC
• benchmarks of them
Differences
•What do they change from and to?
•GHC:
•Haskell -> Executable
•LLVM GHC:
•Haskell -> LLVM Assembly Language
LLVM Assemby Language
(1/2)
•Platform-independent
Assembly Language
•Infinite number of (virtual)
registers
•All registers ...
LLVM Assemby Language
(2/2)
•Can call all C functions
•other features are almost
same as other common
assembly languages s...
Advantage?
☞ Optimizer!
(to be continued...)
Upcoming SlideShare
Loading in...5
×

GHC LLVMBackend Workshop (This set of slides is just a draft)

936

Published on

http://cotocoto.jp/event/39693

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
936
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "GHC LLVMBackend Workshop (This set of slides is just a draft)"

  1. 1. GHC LLVMBackend Workshop May 8, 2010 Osaka, Japan Tatsuhiro Ujihisa http://ujihisa.blogspot.com/
  2. 2. GHC? •The most common Haskell compiler •More features than Haskell98 specification
  3. 3. LLVM? •Low LevelVirtual Machine •A virtual machine for arbitrary environments •(like JVM for C)
  4. 4. GHC × LLVM
  5. 5. Demo
  6. 6. ☜ What I did? • "fib" app on normal GHC • "fib" app on LLVM GHC • benchmarks of them
  7. 7. Differences •What do they change from and to? •GHC: •Haskell -> Executable •LLVM GHC: •Haskell -> LLVM Assembly Language
  8. 8. LLVM Assemby Language (1/2) •Platform-independent Assembly Language •Infinite number of (virtual) registers •All registers are referential transparent
  9. 9. LLVM Assemby Language (2/2) •Can call all C functions •other features are almost same as other common assembly languages such as IA-32
  10. 10. Advantage? ☞ Optimizer!
  11. 11. (to be continued...)
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×