summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
* When using property-dot assignment syntax to call a setter method,Fariborz Jahanian2010-06-071-2/+4
| | | | | | | type of rhs need be compared to setter's argument and not the getter type. Fixes radar 8062778 llvm-svn: 105560
* Fixed a block regression caused by trying to useFariborz Jahanian2010-06-072-7/+0
| | | | | | | | an existing ir for load of a bock variable. This cannot be done across basic blocks. Fixes radar 8064140. llvm-svn: 105549
* Implement __clear_cache on ARM.Rafael Espindola2010-06-071-4/+9
| | | | llvm-svn: 105537
* weekend checkpoint of arm neon builtins codegen. Nate Begeman2010-06-071-0/+89
| | | | | | TODO: add remainder of builtins to CGBuiltin, add code to SemaChecking to validate constants. llvm-svn: 105532
* Added AccessSpecDecl node.Abramo Bagnara2010-06-051-0/+1
| | | | llvm-svn: 105525
* Preserve type info for local variables in optimized builds. Devang Patel2010-06-051-1/+1
| | | | | | llvm-gcc enabled this couple of weeks ago. llvm-svn: 105516
* Build AST for copy-construction of copied-inFariborz Jahanian2010-06-041-22/+10
| | | | | | class object in blocks and carry it to IRGen. llvm-svn: 105487
* For C++ copied in objects, use copy constructors inFariborz Jahanian2010-06-042-7/+31
| | | | | | | | setting up block's descriptor. This is on going work to support c++ specific issues in setting up blocks various APIs. llvm-svn: 105469
* Remove now unused code.Anders Carlsson2010-06-041-235/+13
| | | | llvm-svn: 105448
* Use CXXRecordDecl::getFinalOverriders to get final overriders. This speeds ↵Anders Carlsson2010-06-041-1/+119
| | | | | | up vtable layout by moving away from the old final overrider computation code that had O(N^2) complexity in some cases. llvm-svn: 105447
* Don't intentionally try to ignore the value of a scalar expression when weEli Friedman2010-06-031-1/+1
| | | | | | actually care about it. Fixes PR7291. llvm-svn: 105404
* Don't try to explicitly zero out bit-fields.Anders Carlsson2010-06-031-0/+5
| | | | llvm-svn: 105391
* Block C++ code gen. Adds support for block reference argumentFariborz Jahanian2010-06-021-4/+14
| | | | | | | types. Executable test will be added to LLVM test suite. (radar 8041962). llvm-svn: 105347
* Don't try to emit the vtable for a class just because we're emitting aJohn McCall2010-06-022-17/+28
| | | | | | | | virtual function from it. Fixes PR7241. llvm-svn: 105345
* Don't substitute 'St' for 'std' when the namespace is nested inside another ↵Anders Carlsson2010-06-021-9/+9
| | | | | | namespace. llvm-svn: 105330
* When building RTTI descriptors for pointer types, we need to get the ↵Anders Carlsson2010-06-021-6/+14
| | | | | | unqualified array type and the qualifiers from it. llvm-svn: 105326
* Correctly mangle unsigned integer literals where the high bit is set.Anders Carlsson2010-06-021-2/+4
| | | | llvm-svn: 105312
* Correctly mangle variadic functions that don't have any other parameters.Anders Carlsson2010-06-021-1/+2
| | | | llvm-svn: 105311
* When mangling member function pointers, fake adding a substitution ↵Anders Carlsson2010-06-021-6/+25
| | | | | | corresponding to the function type. llvm-svn: 105310
* More cleanup.Anders Carlsson2010-06-011-14/+10
| | | | llvm-svn: 105301
* More cleanup.Anders Carlsson2010-06-011-35/+10
| | | | llvm-svn: 105299
* Cleanup.Anders Carlsson2010-06-011-8/+9
| | | | llvm-svn: 105296
* Make methods non-virtual again for now. I accidentally committed this inCharles Davis2010-05-311-23/+21
| | | | | | preparation for an alternate mangler. llvm-svn: 105224
* Silence GCC warning about an accessible non-virtual destructor in a class withChandler Carruth2010-05-311-0/+2
| | | | | | | | virtual methods. Please review cdavis, should these methods even be virtual? llvm-svn: 105218
* Remove unused parameter to FinalOverriders::PropagateOverrider.Anders Carlsson2010-05-301-5/+3
| | | | llvm-svn: 105171
* Convert DeclNodes to use TableGen.Alexis Hunt2010-05-302-2/+2
| | | | | | | | The macros required for DeclNodes use have changed to match the use of StmtNodes. The FooFirst enumerator constants have been named firstFoo to match usage elsewhere. llvm-svn: 105165
* Fix for PR7040: Don't try to compute the LLVM type for a function where itEli Friedman2010-05-307-66/+50
| | | | | | | | | | | isn't possible to compute. This patch is mostly refactoring; the key change is the addition of the code starting with the comment, "Check whether the function has a computable LLVM signature." The solution here is essentially the same as the way the vtable code handles such functions. llvm-svn: 105151
* Fix personality function name when using SjLj exceptions.Daniel Dunbar2010-05-281-2/+5
| | | | llvm-svn: 104999
* zero-cost exception API for NeXt runtime.Fariborz Jahanian2010-05-281-2/+14
| | | | | | | | rethrow inside @catch block must use objc_exception_rethrow API. Fixes radar 8037512. Test will be added to LLVM test suite. llvm-svn: 104964
* This cast is no longer needed; the FIXME is fixed.Dan Gohman2010-05-281-2/+0
| | | | llvm-svn: 104919
* This cast is no longer required.Dan Gohman2010-05-281-4/+0
| | | | llvm-svn: 104916
* Update __builtin_setjmp codegen to match llvmCore changes in r104900.Jim Grosbach2010-05-271-0/+8
| | | | llvm-svn: 104902
* When null-initializing bases with data member pointers, don't assert on ↵Anders Carlsson2010-05-271-2/+10
| | | | | | virtual bases. Just initialize them to null. llvm-svn: 104868
* Enable the implementation of __builtin_setjmp and __builtin_longjmp. Not allJohn McCall2010-05-271-15/+18
| | | | | | LLVM backends support these yet. llvm-svn: 104867
* Implement __builtin_init_dwarf_reg_size_table and __builtin_dwarf_sp_columnJohn McCall2010-05-271-39/+78
| | | | | | | for 32-bit MIPS processors. Hat-tip to rdivacky for providing gcc dumps on this. llvm-svn: 104816
* When deciding whether a deferred declaration has already been emitted,John McCall2010-05-271-3/+13
| | | | | | | aliases count as definitions regardless of whether their target has been emitted yet. Fixes PR 7142. llvm-svn: 104796
* AST: Rename PragmaPackAttr to MaxFieldAlignmentAttr, which is more accurate.Daniel Dunbar2010-05-271-2/+3
| | | | llvm-svn: 104795
* Correctly pass aggregates by reference when emitting thunks.John McCall2010-05-264-34/+37
| | | | llvm-svn: 104778
* Patch to fix a irgen crash accessing an initialized local staticFariborz Jahanian2010-05-261-2/+3
| | | | | | variable in a local function. Fixes pr7101. llvm-svn: 104743
* Extract the ObjC and blocks manglers into their own class. No functionalityCharles Davis2010-05-262-60/+98
| | | | | | change. llvm-svn: 104715
* Be sure to use the standard substitutions when mangling the names ofDouglas Gregor2010-05-261-5/+11
| | | | | | vtables, VTTs, and construction vtables. Fixes PR7201. llvm-svn: 104675
* IRgen: Add a stub class for generating ABI-specific C++ code.Charles Davis2010-05-256-4/+110
| | | | | | | | This class only supports name mangling (which is apparently used during C/ObjC codegen). For now only the Itanium C++ ABI is supported. Patches to add a second C++ ABI are forthcoming. llvm-svn: 104630
* Fix compilation failureDouglas Gregor2010-05-251-2/+2
| | | | llvm-svn: 104613
* Improve name mangling for blocks and support mangling of static localDouglas Gregor2010-05-256-5/+67
| | | | | | | | | variables within blocks. We loosely follow GCC's mangling, but since these are always internal symbols the names don't really matter. I intend to revisit block mangling later, because GCC's mangling is rather verbose. <rdar://problem/8015719>. llvm-svn: 104610
* If a function definition has any sort of weak linkage, its static localJohn McCall2010-05-255-10/+16
| | | | | | | | | | | | variables should have that linkage. Otherwise, its static local variables should have internal linkage. To avoid computing this excessively, set a function's linkage before we emit code for it. Previously we were assigning weak linkage to the static variables of static inline functions in C++, with predictably terrible results. This fixes that and also gives better linkage than 'weak' when merging is required. llvm-svn: 104581
* Add a comment for r104472.Benjamin Kramer2010-05-231-0/+3
| | | | llvm-svn: 104473
* PR5863: Don't erase unreachable BBs which have an associated cleanup size.Benjamin Kramer2010-05-231-1/+1
| | | | | | | This works around a crash where malloc reused the memory of an erased BB for a new BB leaving old cleanup information pointing at the new block. llvm-svn: 104472
* Re-teach IR gen to perform GC moves on rvalues resulting from various ObjCJohn McCall2010-05-221-17/+54
| | | | | | | expressions. Essentially, GC breaks a certain form of the return-value optimization. llvm-svn: 104454
* Really fix PR7139. There was one boost test that we still failed, and my ↵Anders Carlsson2010-05-221-3/+19
| | | | | | first fix broke self-host. llvm-svn: 104447
* Re-land the fix for PR7139.Anders Carlsson2010-05-226-11/+28
| | | | llvm-svn: 104446
OpenPOWER on IntegriCloud