llvm

Binding Qt to LLVM

What is the best way to create a Qt binding to a language that sits on top of LLVM? Try to parse the Qt header files and generate an interface to C from that, call the C interface from LLVM? Or maybe try to get SWIG to interface Qt? Or is there a better way? ...

Would it even make sense to write a C# compiler that targets LLVM?

I'm thinking about writing a small C# compiler. One idea I've been toying with is writing a subset of the C# grammar, say up to 2.0 for ANTLR. Then, using this to target the LLVM and write a native code compiler for C#? Does this idea even make sense or would this not work? Would there be any way to still make calls to the BCL? I ...

Garbage-collectors for multi-core llvm?

Dear overflowers, I've been looking at LLVM for quite some time as a new back-end for the language I'm currently implementing. It seems to have good performance, rather high-level generation APIs, enough low-level support to optimize exotic optimizations. In addition, and although I haven't checked it myself, Apple seems to have success...

llvm preprocessor g++ passes

Suppose I want to write my own preprocessor. So I want something like this: all *.cpp and *.hpp (even the included ones), before they go to g++, they go: file --> my preprocessor -> g++ Is there a easy way to do this in the LLVM framework? i.e. to add in a stage that says: "after you load up the source file, pipe it through this pro...

Which libraries do you need to link against for a clang program using blocks.

I've discovered (below) that I need to use -fblocks when compiling code which uses blocks. What library do I need to link against to let the linker resolve _NSConcreteStackBlock? (On Ubuntu 9.10 AMD64.) Thanks, Chris. chris@chris-desktop:~$ clang ctest.c ctest.c:3:25: error: blocks support disabled - compile with -fblocks or pick ...

llvm on x86 barebone?

Does anyone know of any project involving running LLVm without an OS, i.e. directly on x86 hardware? ...

Why are the debug symbols lost in the LLVM compile/link process?

I wrote an LLVM transformation that basically replaces mallocs by kind of guarded mallocs and some other stuff. I'm using clang (or llvm-gcc) for compiling a c file to get a bitcode file (using the -emit-llvm option) which contains debug information. These also contain method names, line numbers and so on. Afterwards I'm using opt to i...

Static source code analysis with LLVM

I recently discover the LLVM (low level virtual machine) project, and from what I have heard It can be used to performed static analysis on a source code. I would like to know if it is possible to extract the different function call through function pointer (find the caller function and the callee function) in a program. I could find th...

What exactly is LLVM?

I keep hearing about LLVM all the time. It's in Perl, then it's in Haskell, then someone uses it in some other language? What is it? ...

llvm-py questions

1) Is it possible to use llvm-py on Windows without Visual Studio 2008? Maybe I can compile files on another computer and use on my? 2) Is llvm-py mature enough in your opinion? If not, what are the problems? ...

llvm clang 2.6: "not using the clang compiler for C++ inputs "

Hello LLVM 2.6 + clang. Trying to compile C++ file and get: clang: warning: not using the clang compiler for C++ inputs How can I start clang in C++ mode? ...

Preprocessor variable when using Adobe Alchemy

I'm porting a cross-platform lib I use to Alchemy. One particular file has a block of code similar to this : #if defined(WIN32) // Do some Windows-specific stuff #elif defined(__linux__) // Do some linux-specific stuff #endif I now need to add Flash-specific code (NOP in some cases), but so far I've been unable to find what do...

Compiler fails to catch variable redefinition in conditional block

int bar = 2; if (bar) { int bar; } Neither gcc or Clang manages to issue a warning (or error) for this, and the program crashes immediately on launch. Is there a good reason for this? It doesn't seem like it would be something hard to catch. It's the basics of block scoping: the nested scope inherits the names of the enclosing block...

gdb on top of LLVM?

Is there any debugger, like gdb or something else, aimed for C/C++, that runs on top of LLVM? Given how well engineered LLVM is, this almost seems like a perfect opportunity. ...

LLVM JIT segfaults. What am I doing wrong?

It is probably something basic because I am just starting to learn LLVM.. The following creates a factorial function and tries to git and execute it (I know the generated func is correct because I was able to static compile and execute it). But I get segmentation fault upon execution of the function (in EE->runFunction(TheF, Args)) #i...

Is LLVM suitable for parallel languages?

What properties of LLVM makes it good choice for implementation of (parallel, concurrent, distributed)-oriented language, what makes it bad? ...

LLVM C++ IDE for windows

Hello Is there some C/C++ IDE for windows, which is integrated with LLVM compiler (and clang C/C++ analyzer), just like modern Xcode do. I have Dev-Cpp (it uses outdated gcc) and Code::Blocks (with some gcc). But Gcc gives me very cryptic error messages. I want to get some more user-friendly error messages from clang frontend. Yes, cl...

problem with link-time optimization in Xcode

Should I turn on "Generate Debug Symbols" in Xcode for release configuration? When it and "Link Time Optimization" are turned on Xcode show warning: GenerateDSYMFile build/Release/cocoa_tutorial5.app.dSYM build/Release/cocoa_tutorial5.app/Contents/MacOS/cocoa_tutorial5 cd /Users/ariel/Documents/spacesimulator.net/cocoa_tutorial5 /Devel...

how to compile with llvm and g++?

Hi, I use a fedora-11 system and recently I installed llvm ( sudo yum -y install llvm llvm-docs llvm-devel ). When I search for llvm I get them in /usr/bin. some of the links to the binaries are broken(llvm-gcc,llvm-g++,llvm-cpp,etc.) the include files are found within /usr/include/llvm and libs at /usr/lib/llvm. How to compile them usi...

llvm clang struct creating functions on the fly

I'm using LLVM-clang on Linux. Suppose in foo.cpp I have: struct Foo { int x, y; }; How can I create a function "magic" such that: typedef (Foo) SomeFunc(Foo a, Foo b); SomeFunc func = magic("struct Foo { int x, y; };"); so that: func(SomeFunc a, SomeFunc b); // returns a.x + b.y; ? Note: So basically, "magic" needs to tak...