Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Fix for PR5801: codegen memcpy, memmove, memset directly to LLVM intrinsics. | Eli Friedman | 2009-12-17 | 1 | -0/+3 | |
| | | | | llvm-svn: 91573 | |||||
* | When value-initializing a class with no user-defined constructors but | Douglas Gregor | 2009-12-16 | 2 | -1/+7 | |
| | | | | | | | with a non-trivial default constructor, zero-initialize the storage and then call the default constructor. Fixes PR5800. llvm-svn: 91548 | |||||
* | Baby steps towards fixing PR5589. If a class needs a vtable pointer, add one. | Anders Carlsson | 2009-12-16 | 2 | -0/+21 | |
| | | | | llvm-svn: 91545 | |||||
* | Use GetAddrOfRTTI everywhere and remove GenerateRTTI and GenerateRTTIRef. ↵ | Anders Carlsson | 2009-12-16 | 4 | -38/+8 | |
| | | | | | | With this change, we can now compile and link TableGen. llvm-svn: 91520 | |||||
* | Handle ImplicitValueInitExpr in AggExprEmitter. | Anders Carlsson | 2009-12-16 | 1 | -2/+8 | |
| | | | | llvm-svn: 91519 | |||||
* | Mangle CXXOperatorCallExprs, fixes PR5796. | Anders Carlsson | 2009-12-16 | 1 | -0/+10 | |
| | | | | llvm-svn: 91507 | |||||
* | Add an addition check for undefined behavior for when we hit a | Mike Stump | 2009-12-16 | 1 | -0/+2 | |
| | | | | | | __builtin_unreachable. WIP. llvm-svn: 91499 | |||||
* | Implement additional undefined checks for additional loads and stores. WIP. | Mike Stump | 2009-12-16 | 3 | -4/+49 | |
| | | | | llvm-svn: 91498 | |||||
* | Fixes a code gen bug related to accessing a now | Fariborz Jahanian | 2009-12-15 | 1 | -0/+1 | |
| | | | | | | | | | non-existing 'isa' field of a non-existing struct type all related to legacy type definition for 'id' which we have dropped in clang in favor of a built-in type. (fixes radar 7470820). llvm-svn: 91455 | |||||
* | ShouldDestroyTemporaries? I don't think so. | Anders Carlsson | 2009-12-15 | 2 | -15/+3 | |
| | | | | llvm-svn: 91450 | |||||
* | update to match LLVM API change: | Chris Lattner | 2009-12-15 | 1 | -8/+7 | |
| | | | | | | | | | Remove isPod() from DenseMapInfo, splitting it out to its own isPodLike type trait. This is a generally useful type trait for more than just DenseMap, and we really care about whether something acts like a pod, not whether it really is a pod. llvm-svn: 91422 | |||||
* | Fix a small bug in ComputeMethodVtableIndices. | Eli Friedman | 2009-12-15 | 1 | -2/+10 | |
| | | | | llvm-svn: 91411 | |||||
* | Don't force the emission of destructor definitions. | Eli Friedman | 2009-12-15 | 1 | -3/+3 | |
| | | | | llvm-svn: 91394 | |||||
* | Fix spacing. | Mike Stump | 2009-12-15 | 1 | -1/+1 | |
| | | | | llvm-svn: 91386 | |||||
* | Ensure we preserve line information for each trap for | Mike Stump | 2009-12-15 | 1 | -1/+9 | |
| | | | | | | -fcatch-undefined-behavior if we aren't optimizing. WIP. llvm-svn: 91382 | |||||
* | Switch codegen for -fcatch-undefined-bahavior over to __builtin_trap | Mike Stump | 2009-12-15 | 4 | -26/+20 | |
| | | | | | | instead of abort to improve codesize and codegen. llvm-svn: 91374 | |||||
* | We have to allow one to form an address for one past the end. WIP. | Mike Stump | 2009-12-14 | 1 | -1/+1 | |
| | | | | llvm-svn: 91347 | |||||
* | Add support for detecting undefined shift behavior. WIP. | Mike Stump | 2009-12-14 | 3 | -7/+27 | |
| | | | | llvm-svn: 91341 | |||||
* | Patch to fix 32-bit @try failure with internal assertion when compiling | Fariborz Jahanian | 2009-12-14 | 1 | -2/+5 | |
| | | | | | | an Objective-C rethrow nested inside another try/catch block. (fixes radar 7466728). llvm-svn: 91335 | |||||
* | Simplifiy. | Mike Stump | 2009-12-14 | 1 | -16/+3 | |
| | | | | llvm-svn: 91324 | |||||
* | Revert mmx palignr to use an intrinsic, since mmx shuffle patterns are missing. | Nate Begeman | 2009-12-14 | 1 | -1/+4 | |
| | | | | llvm-svn: 91269 | |||||
* | Support x86's PALIGNR instruction without the use of a palignr intrinsic. | Nate Begeman | 2009-12-14 | 1 | -4/+32 | |
| | | | | llvm-svn: 91264 | |||||
* | Mangle unary, binary and ternary expressions correctly. | Anders Carlsson | 2009-12-14 | 1 | -18/+58 | |
| | | | | llvm-svn: 91257 | |||||
* | Simplify BuildSimpleType in the RTTBuilder to avoid using an std::vector. | Anders Carlsson | 2009-12-13 | 1 | -11/+6 | |
| | | | | llvm-svn: 91255 | |||||
* | Don't use a cookie if the global placement new function is used. | Anders Carlsson | 2009-12-13 | 1 | -1/+13 | |
| | | | | llvm-svn: 91251 | |||||
* | Fix regression in my last commit - if a struct has a trivial destructor but ↵ | Anders Carlsson | 2009-12-13 | 1 | -9/+17 | |
| | | | | | | no usual deallocation function we don't need a cookie. llvm-svn: 91249 | |||||
* | More array cookie improvements. | Anders Carlsson | 2009-12-13 | 2 | -69/+105 | |
| | | | | llvm-svn: 91247 | |||||
* | If the usual array deallocation function of a class takes two arguments, we ↵ | Anders Carlsson | 2009-12-13 | 1 | -27/+46 | |
| | | | | | | need to pass the number of bytes allocated to the deallocation function, just not the number of bytes in a single element. llvm-svn: 91246 | |||||
* | Change the RTTIBuilder's finish member function to take a pointer to the ↵ | Anders Carlsson | 2009-12-13 | 1 | -7/+5 | |
| | | | | | | constants array + the length of the array. llvm-svn: 91241 | |||||
* | Silence some release build warnings. | Chandler Carruth | 2009-12-13 | 1 | -0/+1 | |
| | | | | llvm-svn: 91234 | |||||
* | patch to add a property from a protocol to a class that adopts the protocol. | Fariborz Jahanian | 2009-12-12 | 1 | -0/+34 | |
| | | | | | | (fixes radar 7466494). llvm-svn: 91227 | |||||
* | Un-namespace-qualify llvm_unreachable. It's a macro, so the qualification gave | Jeffrey Yasskin | 2009-12-12 | 3 | -5/+5 | |
| | | | | | | no extra safety anyway. llvm-svn: 91207 | |||||
* | Implement runtime checks for undefined behavior. WIP. | Mike Stump | 2009-12-12 | 3 | -1/+69 | |
| | | | | | | | | | | | | | This implements a new flag -fcatch-undefined-behavior. The flag turns on additional runtime checks for: T a[I]; a[i] abort when i < 0 or i >= I. Future stuff includes shifts by >= bitwidth amounts. llvm-svn: 91198 | |||||
* | 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 | |||||
* | Fix for PR5714: make sure globals that will be modified aren't marked const. | Eli Friedman | 2009-12-11 | 1 | -5/+13 | |
| | | | | llvm-svn: 91156 | |||||
* | Fix linkage of type info and vtable for classes without linkage. | Eli Friedman | 2009-12-11 | 2 | -3/+3 | |
| | | | | llvm-svn: 91152 | |||||
* | Make sure mangling doesn't crash in another case. Add some more tests. | Eli Friedman | 2009-12-11 | 1 | -1/+1 | |
| | | | | llvm-svn: 91149 | |||||
* | Fix for PR5706: let mangleName deal with mangling names without identifiers | Eli Friedman | 2009-12-11 | 1 | -4/+1 | |
| | | | | | | correctly. llvm-svn: 91136 | |||||
* | Move info vectors and add assertions in preparation of moving the vector ↵ | Anders Carlsson | 2009-12-11 | 1 | -7/+11 | |
| | | | | | | directly into RTTIBuilder. llvm-svn: 91129 | |||||
* | Use GetAddrOfRTTI when getting the RTTI pointer for a base class. | Anders Carlsson | 2009-12-11 | 1 | -4/+1 | |
| | | | | llvm-svn: 91127 | |||||
* | Random string-related cleanups. | Benjamin Kramer | 2009-12-11 | 2 | -6/+4 | |
| | | | | llvm-svn: 91119 | |||||
* | Move the code for converting a member pointer to a bool so that it is usable | Eli Friedman | 2009-12-11 | 2 | -28/+17 | |
| | | | | | | 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 | |||||
* | Improve linkage of RTTI data structures. Introduce ↵ | Anders Carlsson | 2009-12-11 | 4 | -52/+100 | |
| | | | | | | CodeGenModule::GetAddrOfRTTI which figures out the right linkage of the RTTI information for the given type and whether it should be defined or not. I will migrate clients over to GetAddrOfRTTI in subsequent commits (with tests). llvm-svn: 91098 | |||||
* | Use named flags in RTTIBuilder::BuildPointerType. | Anders Carlsson | 2009-12-11 | 1 | -25/+54 | |
| | | | | llvm-svn: 91088 | |||||
* | When extending the lifetime of a temporary, make sure to emit a branch to ↵ | Anders Carlsson | 2009-12-11 | 1 | -1/+4 | |
| | | | | | | the cleanup exit block. This fixes a broken module error in LLVMCConfigurationEmitter.cpp. llvm-svn: 91086 | |||||
* | When an exception needs to be freed by calling __cxa_exception_free, make ↵ | Anders Carlsson | 2009-12-11 | 1 | -12/+20 | |
| | | | | | | | | sure to stash away the exception pointer somewhere. This fixes an "Instruction does not dominate all uses!" verification error when compiling TableGen. llvm-svn: 91084 | |||||
* | Fix spacing. | Mike Stump | 2009-12-11 | 1 | -1/+1 | |
| | | | | llvm-svn: 91078 | |||||
* | 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 | |||||
* | Make sure that explicitly instantiated functions get the right linkage. | Anders Carlsson | 2009-12-10 | 1 | -3/+12 | |
| | | | | llvm-svn: 91069 |