[LLVMdev] ARM support status (GHC/ARM new calling convention)

John McCall rjmccall at apple.com
Thu Jun 16 14:00:12 PDT 2011


On Jun 16, 2011, at 1:35 PM, Karel Gardas wrote:
> I'm working on implementing GHC specific call convention into LLVM 2.9. I've chosen LLVM 2.9 as a kind of stable reference point and I would like to know how mature is ARM code generation chain inside this release. I've had a hope that perhaps Apple as a main sponsor of LLVM is using LLVM for their ARM based iOS software development, but I'm not sure if I'm right at this.

You are right about this.  ARM code generation is quite mature.

> Please bear with me, I'm neither LLVM nor GHC nor ARM expert but this is my own hobby project to start learning at least Haskell and ARM. My current state of the work is attached in the form of patch against LLVM 2.9.

I'm not really qualified to judge your patch, but please note that to have it accepted into LLVM you'll need to make it work on ToT.

> Also in the llvm::ARMTargetLowering::LowerCall I see a comment about disabling tailcalls just to not break things.

I believe this has been changed on ToT, so since Haskell is presumably completely dependent on tail calls working, you'll need to work there.

> Also is there any way how to convince llc to support -debug argument? I've build debug build, but it looks like -debug is missing...

What are you trying to do here?  Emit debug info?

John.



More information about the llvm-dev mailing list