| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Implement a new type node, UnaryTransformType, designed to represent a | Alexis Hunt | 2011-05-24 | 1 | -0/+4 |
| | | | | | | | | | type that turns one type into another. This is used as the basis to implement __underlying_type properly - with TypeSourceInfo and proper behavior in the face of templates. llvm-svn: 132017 | ||||
| * | Fix bug introduced with r131930. | David Chisnall | 2011-05-23 | 1 | -1/+2 |
| | | | | | llvm-svn: 131935 | ||||
| * | Don't omit retain / release / autorelease message sends in hybrid GC mode. | David Chisnall | 2011-05-23 | 1 | -2/+2 |
| | | | | | llvm-svn: 131932 | ||||
| * | Fix some problems where functions must be bitcast but we're expecting a ↵ | David Chisnall | 2011-05-23 | 3 | -17/+20 |
| | | | | | | | | | llvm::Function of the right type. PR9994. llvm-svn: 131930 | ||||
| * | make the x86-32 backend specify a byval alignment, even when the | Chris Lattner | 2011-05-22 | 1 | -1/+1 |
| | | | | | | | | code generator will do it. With this patch, clang compiles the example in PR9794 to not have an alloca temporary. llvm-svn: 131881 | ||||
| * | Fix x86-64 byval passing to specify the alignment even when the code | Chris Lattner | 2011-05-22 | 1 | -7/+4 |
| | | | | | | | | generator will give it something sufficient. This is important because the mid-level optimizer doesn't know what alignment is required otherwise. llvm-svn: 131879 | ||||
| * | Provide the runtime with information about the GC compile options (GNU runtimes) | David Chisnall | 2011-05-22 | 1 | -4/+18 |
| | | | | | llvm-svn: 131877 | ||||
| * | fix 80 col violation | Chris Lattner | 2011-05-22 | 1 | -1/+2 |
| | | | | | llvm-svn: 131870 | ||||
| * | adjust to mainline api change. | Chris Lattner | 2011-05-21 | 1 | -11/+9 |
| | | | | | llvm-svn: 131815 | ||||
| * | switch clang off StandardPasses.h onto PassManagerBuilder.h | Chris Lattner | 2011-05-21 | 1 | -36/+30 |
| | | | | | llvm-svn: 131808 | ||||
| * | Fix the clang part of PR7952: rewrite the specialization of isa<> in DeclBase, | Eli Friedman | 2011-05-21 | 1 | -1/+1 |
| | | | | | | | and stop abusing the multi-level dereference isa<> used to allow. llvm-svn: 131804 | ||||
| * | Introduce Type::isSignedIntegerOrEnumerationType() and | Douglas Gregor | 2011-05-20 | 6 | -21/+22 |
| | | | | | | | | | | | | | | Type::isUnsignedIntegerOrEnumerationType(), which are like Type::isSignedIntegerType() and Type::isUnsignedIntegerType() but also consider the underlying type of a C++0x scoped enumeration type. Audited all callers to the existing functions, switching those that need to also handle scoped enumeration types (e.g., those that deal with constant values) over to the new functions. Fixes PR9923 / <rdar://problem/9447851>. llvm-svn: 131735 | ||||
| * | Fix location of setter/getter synthesized for a property. | Devang Patel | 2011-05-19 | 2 | -8/+10 |
| | | | | | llvm-svn: 131701 | ||||
| * | Make __builtin_shufflevector and -ftrapv work correctly together. PR9945. | Eli Friedman | 2011-05-19 | 1 | -11/+5 |
| | | | | | llvm-svn: 131611 | ||||
| * | Add ARMTargetCodeGenInfo::initDwarfEHRegSizeTable() defining 16 32bit regs. | Roman Divacky | 2011-05-18 | 1 | -0/+16 |
| | | | | | llvm-svn: 131558 | ||||
| * | Conditionalize the use of 4.4 or 4.2 format based on the target. | Bill Wendling | 2011-05-17 | 1 | -4/+6 |
| | | | | | | | <rdar://problem/8107317> llvm-svn: 131504 | ||||
| * | Code cleanup of my last patch. | Fariborz Jahanian | 2011-05-17 | 1 | -13/+8 |
| | | | | | llvm-svn: 131499 | ||||
| * | Patch to fix IR-gen crash generating structure ABI which implements | Fariborz Jahanian | 2011-05-17 | 4 | -16/+35 |
| | | | | | | | | user specified string class via -fconstant-string-class option. pr9914. llvm-svn: 131496 | ||||
| * | For calls returning first-class aggregates, store by element instead of ↵ | Eli Friedman | 2011-05-17 | 1 | -2/+25 |
| | | | | | | | creating aggregate stores in common cases. This is more friendly to fast-isel. llvm-svn: 131490 | ||||
| * | Revert r131434, my commit disabling the complete-object constructor | John McCall | 2011-05-17 | 1 | -2/+1 |
| | | | | | | | | optimization for abstract classes; there was a misunderstanding, and it turns out that there are no kexts which rely on this. llvm-svn: 131489 | ||||
| * | Revert r131447, see if it fixes the buildbot. | Argyrios Kyrtzidis | 2011-05-17 | 1 | -2/+5 |
| | | | | | llvm-svn: 131450 | ||||
| * | Inside isEmptyRecord function, for CXXRecordDecl just check the isEmpty bit. | Argyrios Kyrtzidis | 2011-05-17 | 1 | -5/+2 |
| | | | | | llvm-svn: 131447 | ||||
| * | Set up appropriate context for member function. | Devang Patel | 2011-05-17 | 1 | -0/+3 |
| | | | | | | | Radar 9440721 llvm-svn: 131441 | ||||
| * | Fix crash on C++ code when compiling with -finstrument-functions. | Ted Kremenek | 2011-05-16 | 1 | -1/+1 |
| | | | | | llvm-svn: 131435 | ||||
| * | Emit complete-object constructors for abstract classes in kext mode for | John McCall | 2011-05-16 | 1 | -1/+2 |
| | | | | | | | reasons that honestly really, really need to be looked into. llvm-svn: 131434 | ||||
| * | Fix another regression from the "skip vtable pointer initialization" | Anders Carlsson | 2011-05-16 | 3 | -2/+4 |
| | | | | | | | | optimization. Make sure to require a vtable when trying to get the address of a VTT, otherwise we would never end up emitting the VTT. llvm-svn: 131400 | ||||
| * | Don't actually emit calls to the reserved global placement new and delete | John McCall | 2011-05-16 | 1 | -28/+18 |
| | | | | | | | | | | operators; their semantics are guaranteed by the language. If someone wants to argue that freestanding compiles shouldn't recognize this, I might be convinceable. llvm-svn: 131395 | ||||
| * | Re-enable the fix for PR9181 now that all the edge cases are handled. | Anders Carlsson | 2011-05-15 | 1 | -18/+70 |
| | | | | | llvm-svn: 131385 | ||||
| * | The array-size operand to a new-expression is not necessarily a size_t. | John McCall | 2011-05-15 | 1 | -140/+209 |
| | | | | | | | | It can be larger, it can be smaller, it can be signed, whatever. Handle all the crazy cases with grace and spirit. llvm-svn: 131378 | ||||
| * | Make CGF.getContext() inlinable, because it's trivial, and optimize | John McCall | 2011-05-15 | 2 | -8/+36 |
| | | | | | | | hasAggregateLLVMType. llvm-svn: 131375 | ||||
| * | More killing of std::vector. | John McCall | 2011-05-15 | 2 | -40/+41 |
| | | | | | llvm-svn: 131374 | ||||
| * | Use arrays and SmallVectors instead of std::vectors when building function | John McCall | 2011-05-15 | 5 | -193/+148 |
| | | | | | | | | types. Also, cache a translation of 'void' in CGM and provide a ptrdiff_t alias. No functionality change. llvm-svn: 131373 | ||||
| * | Disable the optimization until the bug noticed by Sean Hunt has been fixed. | Anders Carlsson | 2011-05-15 | 1 | -0/+4 |
| | | | | | llvm-svn: 131372 | ||||
| * | When emitting the destructor for a class with a vtable, if we can determine | Anders Carlsson | 2011-05-14 | 2 | -13/+35 |
| | | | | | | | | | | | that the destructor body is trivial and that all member variables also have either trivial destructors or trivial destructor bodies, we don't need to initialize the vtable pointers since no virtual member functions will be called on the destructor. Fixes PR9181. llvm-svn: 131368 | ||||
| * | Only perform the null-initialization of an aggregate result of a message | John McCall | 2011-05-14 | 1 | -16/+50 |
| | | | | | | | | | | send if the receiver is null. Normally it's not worthwhile to check this, but avoiding the null-initialization is nice, and this also avoids nasty problems where the null-initialization is visible within the call because we use an aliased result buffer. rdar://problem/9402992 llvm-svn: 131366 | ||||
| * | Objective-C vtables are not taking the world by storm; call them | John McCall | 2011-05-14 | 1 | -121/+139 |
| | | | | | | | | | | out as "v-table" message sends and stop calling normal messages "legacy" message sends. Also, fix some comments to reveal the true state of affairs. llvm-svn: 131335 | ||||
| * | Reorganize this method to avoid multiple calls for computing CGFunctionInfo | John McCall | 2011-05-13 | 1 | -77/+109 |
| | | | | | | | and to decrease the amount of effort in appending strings. llvm-svn: 131323 | ||||
| * | Simplify | Joerg Sonnenberger | 2011-05-13 | 1 | -1/+1 |
| | | | | | llvm-svn: 131321 | ||||
| * | Bug 8765: Honor assembler labels for builtins. Ensure that the label is | Joerg Sonnenberger | 2011-05-13 | 1 | -4/+14 |
| | | | | | | | | mangled to avoid doing it twice for platforms that use prefixes like Darwin. llvm-svn: 131311 | ||||
| * | Remove the 'unaligned load' builtins now that they're no longer used in the ↵ | Bill Wendling | 2011-05-13 | 1 | -13/+0 |
| | | | | | | | *mmintrin.h files. llvm-svn: 131300 | ||||
| * | Produce UTF-8 strings with -fconstant-string-class | Fariborz Jahanian | 2011-05-13 | 1 | -21/+15 |
| | | | | | | | -fno-constant-cfstrings. Patch by Jonathan Schleifer. llvm-svn: 131298 | ||||
| * | When determining whether we can make a declaration into a global | Douglas Gregor | 2011-05-13 | 2 | -19/+4 |
| | | | | | | | | constant, also consider whether it's a class type that has any mutable fields. If so, it can't be a global constant. llvm-svn: 131276 | ||||
| * | Doug convinced me that DW_AT_APPLE_objc_complete_type is more appropriate name. | Devang Patel | 2011-05-12 | 1 | -1/+1 |
| | | | | | | | s/DW_AT_APPLE_objc_class_extension/DW_AT_APPLE_objc_complete_type/g llvm-svn: 131245 | ||||
| * | Do not add AT_APPLE_objc_class_extension attribute if @implementation is not ↵ | Devang Patel | 2011-05-12 | 1 | -2/+1 |
| | | | | | | | seen. llvm-svn: 131242 | ||||
| * | Use DW_AT_APPLE_objc_class_extension attribute to identify interfaces that ↵ | Devang Patel | 2011-05-12 | 1 | -1/+6 |
| | | | | | | | | | represent class extension. Radar 9423077. llvm-svn: 131239 | ||||
| * | LLVM doesn't always optimize away the four loads from this: | Bill Wendling | 2011-05-12 | 1 | -0/+2 |
| | | | | | | | | | | | (__m128){ p[0], p[1], p[2], p[3] } which produces really bad code. This could be done in instcombine, but it's probably better to do it in the front-end instead. <rdar://problem/9424836> llvm-svn: 131237 | ||||
| * | Make this code more resilient against catch variables which need cleanups. | John McCall | 2011-05-12 | 1 | -3/+4 |
| | | | | | llvm-svn: 131215 | ||||
| * | Rename "hasTrivialConstructor" to "hasTrivialDefaultConstructor" and | Alexis Hunt | 2011-05-09 | 3 | -3/+3 |
| | | | | | | | | modify the semantics slightly to accomodate default constructors (I hope). llvm-svn: 131087 | ||||
| * | Move code to emit the callee of an CXXOperatorCallExpr out into a separate ↵ | Anders Carlsson | 2011-05-08 | 3 | -12/+137 |
| | | | | | | | function in CGClass.cpp llvm-svn: 131075 | ||||
| * | Don't emit complete constructors for abstract classes. Also, don't emit | Anders Carlsson | 2011-05-08 | 1 | -2/+9 |
| | | | | | | | | complete destructors for abstract classes unless the destructor is virtual and thus needs to be in the vtable. llvm-svn: 131068 | ||||

