- Nov 06, 2009
-
-
Chris Lattner authored
llvm-svn: 86256
-
- Oct 29, 2009
-
-
Nuno Lopes authored
make clang emit undefs for padding of structs and unions instead of zeros. this enables constant compaction optimizations. llvm-svn: 85504
-
Chris Lattner authored
using the new LLVM support for this. This is temporarily hiding behind horrible and ugly #ifdefs until the time when the optimizer is stable (hopefully a week or so). Until then, lets make it "opt in" :) llvm-svn: 85446
-
- Oct 23, 2009
-
-
Douglas Gregor authored
qualified reference to a declaration that is not a non-static data member or non-static member function, e.g., namespace N { int i; } int j = N::i; Instead, extend DeclRefExpr to optionally store the qualifier. Most clients won't see or care about the difference (since QualifierDeclRefExpr inherited DeclRefExpr). However, this reduces the number of top-level expression types that clients need to cope with, brings the implementation of DeclRefExpr into line with MemberExpr, and simplifies and unifies our handling of declaration references. Extended DeclRefExpr to (optionally) store explicitly-specified template arguments. This occurs when naming a declaration via a template-id (which will be stored in a TemplateIdRefExpr) that, following template argument deduction and (possibly) overload resolution, is replaced with a DeclRefExpr that refers to a template specialization but maintains the template arguments as written. llvm-svn: 84962
-
- Oct 18, 2009
-
-
Anders Carlsson authored
llvm-svn: 84438
-
- Oct 14, 2009
-
-
Chris Lattner authored
llvm-svn: 84039
-
- Oct 13, 2009
-
-
Benjamin Kramer authored
llvm-svn: 83964
-
Chris Lattner authored
which is a common idiom to improve PIC'ness of code using the addr of label extension. This implementation is a gross hack, but the only other alternative would be to teach evalutate about this horrid combination. While GCC allows things like "&&foo - &&bar + 1", people don't use this in practice. This implements PR5131. llvm-svn: 83957
-
- Oct 12, 2009
-
-
Anders Carlsson authored
llvm-svn: 83798
-
- Oct 03, 2009
-
-
Anders Carlsson authored
llvm-svn: 83272
-
Anders Carlsson authored
llvm-svn: 83265
-
Anders Carlsson authored
llvm-svn: 83264
-
- Oct 02, 2009
-
-
Anders Carlsson authored
llvm-svn: 83235
-
Anders Carlsson authored
When building constant structs, check if the resulting LLVM struct will be bigger than the record layout size and use a packed struct if that's the case. Fixes PR5108. llvm-svn: 83230
-
- Sep 29, 2009
-
-
Anders Carlsson authored
llvm-svn: 83039
-
- Sep 19, 2009
-
-
Nick Lewycky authored
which will be going away (ie. it's becoming a required parameter) later today. llvm-svn: 82323
-
- Sep 11, 2009
-
-
Anders Carlsson authored
llvm-svn: 81481
-
- Sep 09, 2009
-
-
Mike Stump authored
llvm-svn: 81346
-
- Aug 26, 2009
-
-
Eli Friedman authored
Issue reported on cfe-dev. Also fixed the code to use isConstant to determine whether to generate a constant global, to be consistent with CodeGenModule. This probably needs to be refactored to deal with C++, though. llvm-svn: 80131
-
- Aug 24, 2009
-
-
Anders Carlsson authored
llvm-svn: 79922
-
- Aug 23, 2009
-
-
Anders Carlsson authored
llvm-svn: 79806
-
Anders Carlsson authored
llvm-svn: 79805
-
Anders Carlsson authored
llvm-svn: 79790
-
Anders Carlsson authored
llvm-svn: 79789
-
- Aug 13, 2009
-
-
Owen Anderson authored
llvm-svn: 78946
-
- Aug 09, 2009
-
-
Anders Carlsson authored
llvm-svn: 78536
-
- Aug 06, 2009
-
-
Daniel Dunbar authored
llvm-svn: 78269
-
Owen Anderson authored
llvm-svn: 78259
-
- Aug 02, 2009
-
-
Anders Carlsson authored
llvm-svn: 77915
-
Eli Friedman authored
llvm-svn: 77829
-
- Jul 31, 2009
-
-
Anders Carlsson authored
llvm-svn: 77738
-
Anders Carlsson authored
llvm-svn: 77735
-
Anders Carlsson authored
llvm-svn: 77732
-
Owen Anderson authored
llvm-svn: 77722
-
- Jul 30, 2009
-
-
Owen Anderson authored
llvm-svn: 77514
-
- Jul 29, 2009
-
-
Ted Kremenek authored
Type::getAsReferenceType() -> Type::getAs<ReferenceType>() Type::getAsRecordType() -> Type::getAs<RecordType>() Type::getAsPointerType() -> Type::getAs<PointerType>() Type::getAsBlockPointerType() -> Type::getAs<BlockPointerType>() Type::getAsLValueReferenceType() -> Type::getAs<LValueReferenceType>() Type::getAsRValueReferenceType() -> Type::getAs<RValueReferenceType>() Type::getAsMemberPointerType() -> Type::getAs<MemberPointerType>() Type::getAsReferenceType() -> Type::getAs<ReferenceType>() Type::getAsTagType() -> Type::getAs<TagType>() And remove Type::getAsReferenceType(), etc. This change is similar to one I made a couple weeks ago, but that was partly reverted pending some additional design discussion. With Doug's pending smart pointer changes for Types, it seemed natural to take this approach. llvm-svn: 77510
-
Owen Anderson authored
llvm-svn: 77492
-
- Jul 28, 2009
-
-
Owen Anderson authored
llvm-svn: 77368
-
Owen Anderson authored
llvm-svn: 77349
-
Owen Anderson authored
llvm-svn: 77267
-