FYI, the type-system-rewrite branch is landing tomorrow morning, in mainline llvm, llvm-gcc and clang. I don't have updates, so dragonegg will have to remain broken until someone can fix it (the changes aren't too terrible, llvm-gcc is a good template). If you're interested in an early preview, the type-system-rewrite branch contains the code for llvm and clang. I sent the llvm-gcc patch out earlier today. The test passes all the llvm and clang regression tests, as well as llvm-test with both the new clang and an old clang (stress testing the bc autoupgrade logic). -Chris
On Jul 9, 2011, at 12:35 AM, Chris Lattner wrote:> FYI, the type-system-rewrite branch is landing tomorrow morning, in mainline llvm, llvm-gcc and clang. I don't have updates, so dragonegg will have to remain broken until someone can fix it (the changes aren't too terrible, llvm-gcc is a good template). > > If you're interested in an early preview, the type-system-rewrite branch contains the code for llvm and clang. I sent the llvm-gcc patch out earlier today. The test passes all the llvm and clang regression tests, as well as llvm-test with both the new clang and an old clang (stress testing the bc autoupgrade logic).... and it's in. Please let me know if you see any problems. Many thanks to Jay for doing the Clang port. -Chris
> ... and it's in. Please let me know if you see any problems.My clang self-hosted build (Release+Asserts on Release+Asserts, Linux x86_64) fails with: make[2]: Entering directory `/home/jay/llvm/objdir-self/tools/opt' llvm[2]: Compiling GraphPrinters.cpp for Debug+Asserts build clang: /home/jay/svn/llvm-project/llvm/trunk/include/llvm/Support/Casting.h:194: typename llvm::cast_retty<To, From>::ret_type llvm::cast(const Y&) [with X = llvm::FunctionType, Y = llvm::Type*, typename llvm::cast_retty<To, From>::ret_type = llvm::FunctionType*]: Assertion `isa<X>(Val) && "cast<Ty>() argument of incompatible type!"' failed. This is one of the cases that was giving me grief when I was working on the Clang bits! Here's a small C testcase: $ cat foo.c struct S; extern struct T { struct S (*p)(void); } t; struct S { int i; }; void g(void) { t.p(); } $ clang -cc1 -emit-llvm foo.c clang: /home/jay/svn/llvm-project/llvm/trunk/include/llvm/Support/Casting.h:194: typename llvm::cast_retty<To, From>::ret_type llvm::cast(const Y&) [with X = llvm::FunctionType, Y = llvm::Type*, typename llvm::cast_retty<To, From>::ret_type = llvm::FunctionType*]: Assertion `isa<X>(Val) && "cast<Ty>() argument of incompatible type!"' failed. Jay.
Are the get type methods for IRBuilder, such as const IntegerType *getInt32Ty(), going to have their return type const qualifiers removed? Doing so would match the semi equivalent static methods of Type, such as static IntegerType *getInt32Ty(LLVMContext &C). Thanks in advance Garrison On Jul 9, 2011, at 3:35, Chris Lattner wrote:> FYI, the type-system-rewrite branch is landing tomorrow morning, in mainline llvm, llvm-gcc and clang. I don't have updates, so dragonegg will have to remain broken until someone can fix it (the changes aren't too terrible, llvm-gcc is a good template). > > If you're interested in an early preview, the type-system-rewrite branch contains the code for llvm and clang. I sent the llvm-gcc patch out earlier today. The test passes all the llvm and clang regression tests, as well as llvm-test with both the new clang and an old clang (stress testing the bc autoupgrade logic). > > -Chris > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
Sorry, these IRBuilder methods are really in IRBuilderBase. Garrison On Jul 11, 2011, at 11:54, Garrison Venn wrote:> Are the get type methods for IRBuilder, such as const IntegerType *getInt32Ty(), going to have > their return type const qualifiers removed? Doing so would match the semi equivalent static > methods of Type, such as static IntegerType *getInt32Ty(LLVMContext &C). > > Thanks in advance > > Garrison > > On Jul 9, 2011, at 3:35, Chris Lattner wrote: > >> FYI, the type-system-rewrite branch is landing tomorrow morning, in mainline llvm, llvm-gcc and clang. I don't have updates, so dragonegg will have to remain broken until someone can fix it (the changes aren't too terrible, llvm-gcc is a good template). >> >> If you're interested in an early preview, the type-system-rewrite branch contains the code for llvm and clang. I sent the llvm-gcc patch out earlier today. The test passes all the llvm and clang regression tests, as well as llvm-test with both the new clang and an old clang (stress testing the bc autoupgrade logic). >> >> -Chris >> _______________________________________________ >> LLVM Developers mailing list >> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >
Possibly Parallel Threads
- [LLVMdev] type-system-rewrite branch landing tomorrow
- [LLVMdev] type-system-rewrite branch landing tomorrow
- [LLVMdev] type-system-rewrite branch landing tomorrow
- [LLVMdev] Generating GetElementPtr inlined in a function argument list programmatically
- [LLVMdev] IO intrinsics?