[cfe-dev] Target specific passes in clang.

Sanjiv Gupta sanjiv.gupta at microchip.com
Sat Feb 20 22:11:13 PST 2010

I am looking for a driver for pic16.
Given .c files , it should generate pic16 executable.

 .c --> Generate BC (.bc) --> LTO (.bc) --> PIC16 specific module passes 
(.bc) --> pic16 Code gen (.s) --> pic16 assembler (.o) --> pic16 linker 

All, in one program. Obviously assembler and linker would be separate 
programs, which the driver should be able invoke.

If clang can do till .s step, that is also great. But note that I want to 
run some pic16 specific module passes in between.

- Sanjiv

----- Original Message ----- 
From: "Daniel Dunbar" <daniel at zuster.org>
To: "Sanjiv Gupta" <sanjiv.gupta at microchip.com>
Cc: <cfe-dev at cs.uiuc.edu>
Sent: Saturday, February 20, 2010 3:48 PM
Subject: Re: [cfe-dev] Target specific passes in clang.

Hi Sanjiv,

I'm not exactly sure what you are asking for.

Clang already runs various passes as part of -O0, -O1, etc. Adding a
target hook for that would be relatively straightforward, although we
want to make sure that one doesn't have to link in LLVM just to run

I also plan to make the clang driver accept .ll and .bc files,
eventually, but I'm not sure if this is what you are asking.

 - Daniel

On Thu, Feb 18, 2010 at 10:15 PM, Sanjiv Gupta
<sanjiv.gupta at microchip.com> wrote:
> I am looking for a single driver that should be able to generate the
> assembly for a given target.
> It should be able to generate the bitcode, run standard LTO passes, run
> target specific module passes and final function passes to generate
> assembly. So pretty much clang -emit-llvm-bc, llvm-ld , opt and llc
> functionality in a single executable.
> Besides, the option to be able to invoke native assembler and native 
> linker
> to generate final executable should also be handled by this driver.
> Currently, clang takes a -triple option to specify the target.
> Can a target schedule these things in clang?
> Right now we are using a .td based compilerdriver plugin to invoke these
> different set of executables.
> - Sanjiv
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev

More information about the cfe-dev mailing list