On 08/29/2011 12:41 AM, Pekka Enberg wrote: >> Right. Will the "link time constant" 'struct symbol' be part of the >> symbol_list? If it is, then we already do LLVMAddGlobal in output_data() on >> it and could probably just stash that into a ->priv member in 'struct >> symbol' and use that in pseudo_to_value(). On Mon, Aug 29, 2011 at 12:19 PM, Christopher Li <sparse@xxxxxxxxxxx> wrote: > The link time constant is a LLVMValueRef, it is just the address of the > symbol. > Yes, it will belong to the function scope's symbol_list but not necessary > the global one. > Here is some tips that help me a lot on my own llvm branch, which lost due > to a hard > drive crash. It was able to do hello world back then. > > LLVM can output c++ source code that construct the llvm byte code. > > # this will emit hello.s as the llvm asm code > $ clang -S -emit-llvm hello.c > > # this will generate hello.s.cpp which is the c++ source code to construct > # the llvm byte code above > > $ llc -march=cpp hello.s > > The hello.s.cpp is a very good reference to build the llvm byte code in C. > It is in C++, but convert to llvm C binding should be easy. > BTW, "-march=c" does not generate C bindings, it generate the > equivalent IR in C code instead. Yup, I've been doing that online here: http://llvm.org/demo/test.cgi -- To unsubscribe from this list: send the line "unsubscribe linux-sparse" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html