summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix for PR5801: codegen memcpy, memmove, memset directly to LLVM intrinsics.Eli Friedman2009-12-171-0/+3
| | | | llvm-svn: 91573
* When value-initializing a class with no user-defined constructors butDouglas Gregor2009-12-162-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 Carlsson2009-12-162-0/+21
| | | | llvm-svn: 91545
* Use GetAddrOfRTTI everywhere and remove GenerateRTTI and GenerateRTTIRef. ↵Anders Carlsson2009-12-164-38/+8
| | | | | | With this change, we can now compile and link TableGen. llvm-svn: 91520
* Handle ImplicitValueInitExpr in AggExprEmitter.Anders Carlsson2009-12-161-2/+8
| | | | llvm-svn: 91519
* Mangle CXXOperatorCallExprs, fixes PR5796.Anders Carlsson2009-12-161-0/+10
| | | | llvm-svn: 91507
* Add an addition check for undefined behavior for when we hit aMike Stump2009-12-161-0/+2
| | | | | | __builtin_unreachable. WIP. llvm-svn: 91499
* Implement additional undefined checks for additional loads and stores. WIP.Mike Stump2009-12-163-4/+49
| | | | llvm-svn: 91498
* Fixes a code gen bug related to accessing a nowFariborz Jahanian2009-12-151-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 Carlsson2009-12-152-15/+3
| | | | llvm-svn: 91450
* update to match LLVM API change:Chris Lattner2009-12-151-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 Friedman2009-12-151-2/+10
| | | | llvm-svn: 91411
* Don't force the emission of destructor definitions.Eli Friedman2009-12-151-3/+3
| | | | llvm-svn: 91394
* Fix spacing.Mike Stump2009-12-151-1/+1
| | | | llvm-svn: 91386
* Ensure we preserve line information for each trap forMike Stump2009-12-151-1/+9
| | | | | | -fcatch-undefined-behavior if we aren't optimizing. WIP. llvm-svn: 91382
* Switch codegen for -fcatch-undefined-bahavior over to __builtin_trapMike Stump2009-12-154-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 Stump2009-12-141-1/+1
| | | | llvm-svn: 91347
* Add support for detecting undefined shift behavior. WIP.Mike Stump2009-12-143-7/+27
| | | | llvm-svn: 91341
* Patch to fix 32-bit @try failure with internal assertion when compiling Fariborz Jahanian2009-12-141-2/+5
| | | | | | an Objective-C rethrow nested inside another try/catch block. (fixes radar 7466728). llvm-svn: 91335
* Simplifiy.Mike Stump2009-12-141-16/+3
| | | | llvm-svn: 91324
* Revert mmx palignr to use an intrinsic, since mmx shuffle patterns are missing.Nate Begeman2009-12-141-1/+4
| | | | llvm-svn: 91269
* Support x86's PALIGNR instruction without the use of a palignr intrinsic.Nate Begeman2009-12-141-4/+32
| | | | llvm-svn: 91264
* Mangle unary, binary and ternary expressions correctly.Anders Carlsson2009-12-141-18/+58
| | | | llvm-svn: 91257
* Simplify BuildSimpleType in the RTTBuilder to avoid using an std::vector.Anders Carlsson2009-12-131-11/+6
| | | | llvm-svn: 91255
* Don't use a cookie if the global placement new function is used.Anders Carlsson2009-12-131-1/+13
| | | | llvm-svn: 91251
* Fix regression in my last commit - if a struct has a trivial destructor but ↵Anders Carlsson2009-12-131-9/+17
| | | | | | no usual deallocation function we don't need a cookie. llvm-svn: 91249
* More array cookie improvements.Anders Carlsson2009-12-132-69/+105
| | | | llvm-svn: 91247
* If the usual array deallocation function of a class takes two arguments, we ↵Anders Carlsson2009-12-131-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 Carlsson2009-12-131-7/+5
| | | | | | constants array + the length of the array. llvm-svn: 91241
* Silence some release build warnings.Chandler Carruth2009-12-131-0/+1
| | | | llvm-svn: 91234
* patch to add a property from a protocol to a class that adopts the protocol.Fariborz Jahanian2009-12-121-0/+34
| | | | | | (fixes radar 7466494). llvm-svn: 91227
* Un-namespace-qualify llvm_unreachable. It's a macro, so the qualification gaveJeffrey Yasskin2009-12-123-5/+5
| | | | | | no extra safety anyway. llvm-svn: 91207
* Implement runtime checks for undefined behavior. WIP.Mike Stump2009-12-123-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 Jahanian2009-12-111-0/+1
| | | | | | (fixes radar 7465023). llvm-svn: 91171
* Fix for PR5714: make sure globals that will be modified aren't marked const.Eli Friedman2009-12-111-5/+13
| | | | llvm-svn: 91156
* Fix linkage of type info and vtable for classes without linkage.Eli Friedman2009-12-112-3/+3
| | | | llvm-svn: 91152
* Make sure mangling doesn't crash in another case. Add some more tests.Eli Friedman2009-12-111-1/+1
| | | | llvm-svn: 91149
* Fix for PR5706: let mangleName deal with mangling names without identifiersEli Friedman2009-12-111-4/+1
| | | | | | correctly. llvm-svn: 91136
* Move info vectors and add assertions in preparation of moving the vector ↵Anders Carlsson2009-12-111-7/+11
| | | | | | directly into RTTIBuilder. llvm-svn: 91129
* Use GetAddrOfRTTI when getting the RTTI pointer for a base class.Anders Carlsson2009-12-111-4/+1
| | | | llvm-svn: 91127
* Random string-related cleanups.Benjamin Kramer2009-12-112-6/+4
| | | | llvm-svn: 91119
* Move the code for converting a member pointer to a bool so that it is usableEli Friedman2009-12-112-28/+17
| | | | | | for logical not. llvm-svn: 91112
* Fix for PR5718: implement equality comparisons for member function pointers.Eli Friedman2009-12-111-1/+28
| | | | llvm-svn: 91108
* Improve linkage of RTTI data structures. Introduce ↵Anders Carlsson2009-12-114-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 Carlsson2009-12-111-25/+54
| | | | llvm-svn: 91088
* When extending the lifetime of a temporary, make sure to emit a branch to ↵Anders Carlsson2009-12-111-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 Carlsson2009-12-111-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 Stump2009-12-111-1/+1
| | | | llvm-svn: 91078
* Support unary type traits in a scalar context. Not that I've actually seenEli Friedman2009-12-101-0/+4
| | | | | | this construct, but might as well for completeness. llvm-svn: 91071
* Make sure that explicitly instantiated functions get the right linkage.Anders Carlsson2009-12-101-3/+12
| | | | llvm-svn: 91069
OpenPOWER on IntegriCloud