Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | IRgen: Move BitField LValues to just hold a reference to the CGBitFieldInfo. | Daniel Dunbar | 2010-04-05 | 1 | -2/+2 |
| | | | | | | | | | - Unfortunately, this requires some horrible code in CGObjCMac which always allocats a CGBitFieldInfo because we don't currently build a proper layout for Objective-C classes. It needs to be cleaned up, but I don't want the bit-field cleanups to be blocked on that. llvm-svn: 100474 | ||||
* | Introduce a new kind of derived-to-base cast which bypasses the need for | John McCall | 2010-03-30 | 1 | -0/+4 |
| | | | | | | | null checks, and make sure we elide null checks when accessing base class members. llvm-svn: 99963 | ||||
* | emit signed integer subtractions as 'sub nsw', patch by | Chris Lattner | 2010-03-29 | 1 | -0/+5 |
| | | | | | | Anton Yartsev! llvm-svn: 99817 | ||||
* | Fix code gen bug generating code for | Fariborz Jahanian | 2010-03-03 | 1 | -0/+2 |
| | | | | | | ((id)cat)->isa. Fixes radar 7709015. llvm-svn: 97672 | ||||
* | Uniformize the names of type predicates: rather than having isFloatTy and | Duncan Sands | 2010-02-15 | 1 | -8/+8 |
| | | | | | | isInteger, we now have isFloatTy and isIntegerTy. Requested by Chris! llvm-svn: 96224 | ||||
* | Fix a code gen bug accessing 'isa' field via a message call | Fariborz Jahanian | 2010-02-05 | 1 | -5/+14 |
| | | | | | | (Fixes radar 7609722). llvm-svn: 95406 | ||||
* | Rename StartConditionalBranch/FinishConditionalBranch to ↵ | Anders Carlsson | 2010-02-04 | 1 | -8/+8 |
| | | | | | | BeginConditionalBranch/EndConditionalBranch. llvm-svn: 95308 | ||||
* | Move pointer to data member emission to CodeGenModule and use it in ↵ | Anders Carlsson | 2010-02-02 | 1 | -2/+0 |
| | | | | | | CGExprConstant. Fixes PR5674. llvm-svn: 95063 | ||||
* | Some class related cleanup. | Anders Carlsson | 2010-01-31 | 1 | -2/+2 |
| | | | | llvm-svn: 94938 | ||||
* | Roll out ASTContext::getTypeSizeInChars(), replacing instances of | Ken Dyck | 2010-01-11 | 1 | -7/+9 |
| | | | | | | | | | | "ASTContext::getTypeSize() / 8". Replace [u]int64_t variables with CharUnits ones as appropriate. Also rename RawType, fromRaw(), and getRaw() in CharUnits to QuantityType, fromQuantity(), and getQuantity() for clarity. llvm-svn: 93153 | ||||
* | refactor pre/postinc logic into CGF and require the caller to pass in the | Chris Lattner | 2010-01-09 | 1 | -93/+4 |
| | | | | | | lvalue to poke, no functionality change. llvm-svn: 93075 | ||||
* | Get rid of more dead code. | Eli Friedman | 2010-01-03 | 1 | -47/+0 |
| | | | | llvm-svn: 92439 | ||||
* | Remove some dead variables clang-analyzer found. | Benjamin Kramer | 2009-12-25 | 1 | -1/+1 |
| | | | | llvm-svn: 92162 | ||||
* | Remove ';' after method definition. Noticed by clang++, which one would think | Daniel Dunbar | 2009-12-19 | 1 | -16/+16 |
| | | | | | | | would have a higher respect for its own code. This is getting old, is this warning really adding value? llvm-svn: 91779 | ||||
* | It's perfectly fine to see UserDefinedConversion casts when emitting scalar ↵ | Anders Carlsson | 2009-12-18 | 1 | -1/+1 |
| | | | | | | expressions. llvm-svn: 91686 | ||||
* | Implement additional undefined checks for additional loads and stores. WIP. | Mike Stump | 2009-12-16 | 1 | -3/+4 |
| | | | | llvm-svn: 91498 | ||||
* | Switch codegen for -fcatch-undefined-bahavior over to __builtin_trap | Mike Stump | 2009-12-15 | 1 | -2/+2 |
| | | | | | | instead of abort to improve codesize and codegen. llvm-svn: 91374 | ||||
* | Add support for detecting undefined shift behavior. WIP. | Mike Stump | 2009-12-14 | 1 | -0/+20 |
| | | | | llvm-svn: 91341 | ||||
* | Patch to allow C-style cast from 'void *' to block pointer type. | Fariborz Jahanian | 2009-12-11 | 1 | -0/+1 |
| | | | | | | (fixes radar 7465023). llvm-svn: 91171 | ||||
* | Move the code for converting a member pointer to a bool so that it is usable | Eli Friedman | 2009-12-11 | 1 | -28/+2 |
| | | | | | | for logical not. llvm-svn: 91112 | ||||
* | Fix for PR5718: implement equality comparisons for member function pointers. | Eli Friedman | 2009-12-11 | 1 | -1/+28 |
| | | | | llvm-svn: 91108 | ||||
* | Support unary type traits in a scalar context. Not that I've actually seen | Eli Friedman | 2009-12-10 | 1 | -0/+4 |
| | | | | | | this construct, but might as well for completeness. llvm-svn: 91071 | ||||
* | Code gen for ObjCIsaExpr AST used as lvalue. | Fariborz Jahanian | 2009-12-09 | 1 | -15/+21 |
| | | | | | | (fixes radar 7457534). llvm-svn: 90995 | ||||
* | Codegen. support for ObjCIsaExpr AST which until now | Fariborz Jahanian | 2009-12-09 | 1 | -0/+19 |
| | | | | | | was not needed (fixes radar 7453430). llvm-svn: 90981 | ||||
* | More detailed analysis of typecast to an objective-c pointer | Fariborz Jahanian | 2009-12-08 | 1 | -0/+1 |
| | | | | | | in objective-c++ mode without being too lenient. llvm-svn: 90895 | ||||
* | Correctly handle conditional operators involving throw. | Eli Friedman | 2009-12-07 | 1 | -4/+5 |
| | | | | llvm-svn: 90800 | ||||
* | Don't pass false (default) for isVolatile parameter to CreateLoad. | Daniel Dunbar | 2009-11-29 | 1 | -1/+1 |
| | | | | llvm-svn: 90098 | ||||
* | Remove remaining VISIBILITY_HIDDEN from anonymous namespaces. | Benjamin Kramer | 2009-11-28 | 1 | -2/+1 |
| | | | | llvm-svn: 90044 | ||||
* | More work on ScalarExprEmitter::EmitCastExpr: for every cast kind, either | Eli Friedman | 2009-11-27 | 1 | -8/+32 |
| | | | | | | | | | | | implement it explicitly or assert that it doesn't make sense for a scalar. This caught a couple interesting issues: one, CK_BaseToDerivedMemberPointer casts were getting silently miscompiled, and two, Sema was constructing some strange implicit casts of type CK_UserDefinedConversion. The change in SemaExprCXX makes sure the cast kinds are getting set correctly. llvm-svn: 89987 | ||||
* | Cleanup for ScalarExprEmitter::EmitCastExpr; no functional changes. | Eli Friedman | 2009-11-27 | 1 | -15/+19 |
| | | | | llvm-svn: 89986 | ||||
* | Use the more general Evaluate infrastructure for folding constant DeclRefs | Eli Friedman | 2009-11-26 | 1 | -17/+17 |
| | | | | | | | | | | | | | instead of checking explicitly for an EnumConstantDecl. This folds references to constant integer VarDecls, which has two benefits: 1. Slightly smaller emitted code from emitting a constant instead of a load, and skipping emitting some constant globals. 2. Some code forgets to define static constant member variables; emitting a load instead of the value in that case leads to a link error. (Such programs are technically not well-formed, but in practice build with g++.) llvm-svn: 89934 | ||||
* | We always need to emit the base expression of a member expression, even when ↵ | Anders Carlsson | 2009-11-24 | 1 | -2/+9 |
| | | | | | | the member decl refers to an enum. Thanks to Eli for pointing this out! llvm-svn: 89775 | ||||
* | Don't try to treat an enum constant as an lvalue. | Anders Carlsson | 2009-11-23 | 1 | -1/+8 |
| | | | | llvm-svn: 89705 | ||||
* | Handle converting member pointers to bool. | Anders Carlsson | 2009-11-23 | 1 | -0/+29 |
| | | | | llvm-svn: 89692 | ||||
* | Handle base-to-derived casts. Will land test case shortly. | Anders Carlsson | 2009-11-23 | 1 | -12/+33 |
| | | | | llvm-svn: 89678 | ||||
* | Fix lifetime of conditional temporaries. Patch by Victor Zverovich! | Anders Carlsson | 2009-11-20 | 1 | -8/+8 |
| | | | | llvm-svn: 89467 | ||||
* | Minor cleanup to member pointer handling. | Eli Friedman | 2009-11-18 | 1 | -7/+3 |
| | | | | llvm-svn: 89201 | ||||
* | Clean up scalar cast kind handling; make cast kind handling explicitly handle | Eli Friedman | 2009-11-16 | 1 | -36/+61 |
| | | | | | | more cases. No intended visible change. llvm-svn: 88968 | ||||
* | Implement most of dynamic_cast. WIP. | Mike Stump | 2009-11-16 | 1 | -0/+6 |
| | | | | llvm-svn: 88901 | ||||
* | indirectbr seems to work! Rip out the old code. | Chris Lattner | 2009-11-06 | 1 | -8/+0 |
| | | | | llvm-svn: 86256 | ||||
* | Refine volatile handling, specifically, we must have the canonical | Mike Stump | 2009-11-03 | 1 | -5/+9 |
| | | | | | | | type to look at the volatile specifier. I found these all from just hand auditing the code. llvm-svn: 85967 | ||||
* | Add CGException.cpp, to be used for exception related code generation. | Anders Carlsson | 2009-10-30 | 1 | -1/+6 |
| | | | | llvm-svn: 85560 | ||||
* | Implement clang support for indirect branch and address of label | Chris Lattner | 2009-10-28 | 1 | -0/+5 |
| | | | | | | | | 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 | ||||
* | Fix a bug in calculating shufflevector indices when constructing vectors ↵ | Nate Begeman | 2009-10-25 | 1 | -4/+3 |
| | | | | | | | | from other vectors. If I can find it again, I will check in a testcase. llvm-svn: 85032 | ||||
* | Complete code gen for '.*' binary expression for | Fariborz Jahanian | 2009-10-22 | 1 | -24/+5 |
| | | | | | | both scalar and aggregates. llvm-svn: 84910 | ||||
* | Canonicality is a property of qualified types, not unqualified types. | John McCall | 2009-10-22 | 1 | -1/+1 |
| | | | | llvm-svn: 84891 | ||||
* | Code gen for '.*' binary expressions - WIP. | Fariborz Jahanian | 2009-10-21 | 1 | -0/+27 |
| | | | | llvm-svn: 84800 | ||||
* | Support IRgen of OpenCL vector initializers, ensuring the resulting IR is in a | Nate Begeman | 2009-10-18 | 1 | -42/+169 |
| | | | | | | | | form that LLVM code generators can turn into efficient code. For example, int4 a, b, c; a = (int4)(b.yzw, a.x) llvm-svn: 84434 | ||||
* | Add some more cast kinds. | Anders Carlsson | 2009-10-18 | 1 | -1/+10 |
| | | | | llvm-svn: 84423 | ||||
* | Fix PR5211: codegen shouldn't assume that the result of ||/&& is int | Chris Lattner | 2009-10-17 | 1 | -10/+14 |
| | | | | | | anymore. In C++ it is bool. llvm-svn: 84308 |