Displaying 20 results from an estimated 21 matches for "mcc16".
2009 Jun 05
4
[LLVMdev] llvmc for PIC16
...llvm-ld will be used as "The Optimizer".
2. If the user has specified to generate the final executable, then
llvm-ld should run on all the .bc files generated by clang and create a
single optimized .bc file for further tools.
3. -Wo <options> - pass optimizations to the llvm-ld
4. mcc16 -Wl <options> - pass options to native linker.
5. mcc16 -Wa <options> - pass options to native assembler.
Here are some example command lines and sample command invocations as to
what should be done.
$ mcc16 -S foo.c
// [clang-cc foo.c] -> foo.bc
// [llvm-ld foo.bc] -> foo.opt....
2009 Jun 07
0
[LLVMdev] llvmc for PIC16
Hi Sanjiv,
Sanjiv Gupta <sanjiv.gupta <at> microchip.com> writes:
> The salient features that we want to have in the driver are:
> [...]
As promised, I've implemented a basic compiler driver for the
PIC16 toolchain. It's under tools/llvmc/examples/mcc16.
Some examples illustrating the features you requested:
> 2. If the user has specified to generate the final executable, then
> llvm-ld should run on all the .bc files generated by clang and create a
> single optimized .bc file for further tools.
$ mcc16 -dry-run foo.c bar.c
clang-c...
2009 Jun 15
3
[LLVMdev] llvmc for PIC16
...;
> Sanjiv Gupta <sanjiv.gupta <at> microchip.com> writes:
>
> > The salient features that we want to have in the driver are:
> > [...]
>
> As promised, I've implemented a basic compiler driver for the
> PIC16 toolchain. It's under tools/llvmc/examples/mcc16.
>
Hi Mikhail,
How do you build mcc16 executable?
There are so many confusing things there: driver, plugins, example,
Skelton etc.
The LLVMC-Tutorial doesn't clearly talk about them. Your help is
appreciated.
Thanks,
Sanjiv
>
> Some examples illustrating the features you requested:...
2009 Jun 15
3
[LLVMdev] llvmc for PIC16
Mikhail Glushenkov wrote:
> Hi Sanjiv,
>
> 2009/6/15 Sanjiv Gupta <sanjiv.gupta at microchip.com>:
>
>> Hi Mikhail,
>> How do you build mcc16 executable?
>>
>
> This should work:
>
> $ cd $LLVM_DIR/tools/llvmc/examples/mcc16
> $ make
>
>
I configure llvm into a separate directory from source.
When I do the steps you mentioned in the source directory, this is what
I get.
[i00171 at rhino mcc16]$ make
....
2009 Jun 15
0
[LLVMdev] llvmc for PIC16
Hi Sanjiv,
2009/6/15 Sanjiv Gupta <sanjiv.gupta at microchip.com>:
> Hi Mikhail,
> How do you build mcc16 executable?
This should work:
$ cd $LLVM_DIR/tools/llvmc/examples/mcc16
$ make
If you're building from some other dir, you'll need to update
mcc16/Makefile, so it knows where Makefile.common is located.
> There are so many confusing things there: driver, plugins, example, Skelton
>...
2009 Jun 18
3
[LLVMdev] llvmc for PIC16
...6/15 Sanjiv Gupta <sanjiv.gupta at microchip.com>:
>
>> I configure llvm into a separate directory from source.
>> When I do the steps you mentioned in the source directory, this is what I
>> get.
>>
>
> In that case, copy $LLVM_DIR/tools/llvmc/example/mcc16/Makefile to
> $LLVM_OBJ_DIR/tools/llvmc/example/mcc16/Makefile and build from that
> directory.
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llv...
2009 Jun 04
0
[LLVMdev] llvmc for PIC16
Hi Sanjiv,
Sanjiv Gupta <sanjiv.gupta <at> microchip.com> writes:
>
> PIC16 now has clang and llc based system to generate native assembly. We
> then use our native assembler (gpasm) and the native linker (mplink) to
> generate the final executable. How can I integrate these things with
> the driver llvmc to have gcc like user experience? Note that we also
>
2009 Jun 03
2
[LLVMdev] llvmc for PIC16
PIC16 now has clang and llc based system to generate native assembly. We
then use our native assembler (gpasm) and the native linker (mplink) to
generate the final executable. How can I integrate these things with
the driver llvmc to have gcc like user experience? Note that we also
want to run llvm-ld in order to perform the LTOs in case of multiple files.
- Sanjiv
2009 Jun 23
3
[LLVMdev] llvmc for PIC16
> BTW, Chris's Makefile changes broke llvmc yesterday (r75379). I'm
> working on a fix.
Hi Mikhail,
Did you get a chance to fix this. I still get errors while building examples.
i00202 at ubuntu:~/projects/llvm/tools/llvmc/example/mcc16$ make
make[1]: Entering directory `/home/i00202/projects/llvm/tools/llvmc/example/mcc16/plugins'
make[2]: Entering directory `/home/i00202/projects/llvm/tools/llvmc/example/mcc16/plugins/PIC16Base'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/i00202/projects/...
2009 Jun 18
0
[LLVMdev] llvmc for PIC16
Hi Sanjiv,
2009/6/18 Sanjiv Gupta <sanjiv.gupta at microchip.com>:
> Hi Mikhail,
> Thanks for your wonderful help so far. I have few more questions to ask:
>
> How do I modify the driver to pick tools from where the driver itself
> resides, rather than from the PATH?
> Do I need to write some C++ code to customize such behaviors?
Yes, this is what hooks are for.
2009 Jun 15
0
[LLVMdev] llvmc for PIC16
Hi Sanjiv,
2009/6/15 Sanjiv Gupta <sanjiv.gupta at microchip.com>:
> I configure llvm into a separate directory from source.
> When I do the steps you mentioned in the source directory, this is what I
> get.
In that case, copy $LLVM_DIR/tools/llvmc/example/mcc16/Makefile to
$LLVM_OBJ_DIR/tools/llvmc/example/mcc16/Makefile and build from that
directory.
2009 Jul 01
2
[LLVMdev] llvmc for PIC16
The driver behaves differently when I run it by specifying absolute path
than when I run it with relative path.
See example
Relative:
i00202 at ubuntu:/tmp$ mcc16 --save-temps -dry-run hello.c./clang-cc -I
./include -triple=pic16- -emit-llvm-bc hello.c -o hello.bc-pqDR1Y
llvm-ld -link-as-library hello.bc-pqDR1Y -o tmp.bc-M1Rwip
llc -march=pic16 -f tmp.bc-M1Rwip -o tmp.s-DcVczP
gpasm -I ./inc tmp.s-DcVczP -o tmp.o
mplink /k ./lkr /l ./lkr tmp.o -o a.out
Ab...
2009 Nov 19
3
[LLVMdev] More questions on CompilerDriver.
Hi Mikhail,
I was trying to figure out how to do the following in compiler driver.
1. mcc16 driver has a -p <device_name> option. Now from this
device_name I want to be able to construct a file name like
"device_name.o" and pass that to the linker. Unpack_values "p" gives me
the device_name, but I do not know how to add ".o" suffix to it.
something...
2009 Jun 30
2
[LLVMdev] llvmc for PIC16
Mikhail Glushenkov wrote:
> Hi Sanjiv,
>
> 2009/6/29 Sanjiv Gupta <sanjiv.gupta at microchip.com>:
>
>> I want to retrieve the value of argv[0] (which was passed to main function
>> of the driver) in PrependCustomizedPath.
>>
>
> I've added a way to access argv[0] in hooks:
> http://thread.gmane.org/gmane.comp.compilers.llvm.cvs/50789
>
2009 Jun 30
0
[LLVMdev] llvmc for PIC16
Hi Sanjiv,
2009/6/30 Sanjiv Gupta <sanjiv.gupta at microchip.com>:
> One more thing:
> How to make --save-temps always on, so that users won't have to specify it
> every time they invoke the driver?
Either always run the driver via an alias, or edit
lib/CompilerDriver/BuiltinOptions.cpp:
cl::opt<SaveTempsEnum::Values> SaveTemps
("save-temps",
2009 Jul 01
0
[LLVMdev] llvmc for PIC16
...ot;, and the "Main" of CompilerDriver is in a shared object here.
- Sanjiv
Sanjiv Gupta wrote:
> The driver behaves differently when I run it by specifying absolute path
> than when I run it with relative path.
> See example
>
> Relative:
>
> i00202 at ubuntu:/tmp$ mcc16 --save-temps -dry-run hello.c./clang-cc -I
> ./include -triple=pic16- -emit-llvm-bc hello.c -o hello.bc-pqDR1Y
> llvm-ld -link-as-library hello.bc-pqDR1Y -o tmp.bc-M1Rwip
> llc -march=pic16 -f tmp.bc-M1Rwip -o tmp.s-DcVczP
> gpasm -I ./inc tmp.s-DcVczP -o tmp.o
> mplink /k ./lkr /l...
2009 Nov 19
0
[LLVMdev] More questions on CompilerDriver.
Hi Sanjiv,
On Thu, Nov 19, 2009 at 5:07 AM, Sanjiv Gupta
<sanjiv.gupta at microchip.com> wrote:
> Hi Mikhail,
>
> I was trying to figure out how to do the following in compiler driver.
>
> 1. mcc16 driver has a -p <device_name> option. Now from this device_name I
> want to be able to construct a file name like "device_name.o" and pass that
> to the linker. Unpack_values "p" gives me the device_name, but I do not know
> how to add ".o" suffix to it....
2009 Dec 18
0
[LLVMdev] Compiler driver
...identified by source code. I was thinking of doing this
> using llvmc to capture the above command-line. Is that the
> recommended approach?
Yes, llvmc is probably what you need. It was successfully used to
create a driver for the PIC16 toolchain. Look at llvmc docs and
tools/llvmc/examples/mcc16, this should get you started. If you
have any further questions, mail me.
> What's the difference between 'clang' and a custom driver built
> using 'llvmc'?
The clang driver is developed separately from llvmc.
2009 Sep 05
3
[LLVMdev] tblgen bug in handling case , switch_on
Hi,
On Sat, Sep 5, 2009 at 9:12 PM, Sanjiv Gupta<sanjiv.gupta at microchip.com> wrote:
> Is the patch below ok?
>
> Index: LLVMCConfigurationEmitter.cpp
> ===================================================================
> --- LLVMCConfigurationEmitter.cpp (revision 80668)
> +++ LLVMCConfigurationEmitter.cpp (working copy)
> @@ -1141,6 +1141,7 @@
>
2009 Dec 16
4
[LLVMdev] Compiler driver
Hi all,
I'm developing a custom back-end for an odd-ball architecture (but one that is still describable by LLVMTargetMachine). The toolchain that it will fit into doesn't have a linker as such, so I want to use assembly as the default output. I've got to the point of emitting working custom assembly for very simple C programs (i.e. ones that don't rely on libraries). At the