summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Add a pretty horrible hack to prevent clang from crashing with inconsistent PCHDaniel Dunbar2009-12-062-2/+33
| | | | | | | | | | | | | files. - The issue is that PCH uses a stat cache, which may reference files which have been deleted or moved. In such cases ContentCache::getBuffer was returning 0 but most clients are incapable of dealing with this (i.e., they don't). For the time being, resolve this issue by just making up some invalid file contents and. Eventually we should detect that we are in an inconsistent situation and error out with a nice message that the PCH is out of date. llvm-svn: 90699
* constant fold loads from memcpy's from global constants. This is importantChris Lattner2009-12-062-6/+62
| | | | | | | because clang lowers nontrivial automatic struct/array inits to memcpy from a global array. llvm-svn: 90698
* add support for forwarding mem intrinsic values to non-local loads.Chris Lattner2009-12-062-33/+97
| | | | llvm-svn: 90697
* gvn is optimizing this better now.Chris Lattner2009-12-061-2/+2
| | | | llvm-svn: 90696
* Handle forwarding local memsets to loads. For example, we optimize this:Chris Lattner2009-12-062-43/+173
| | | | | | | | | | | short x(short *A) { memset(A, 1, sizeof(*A)*100); return A[42]; } to 'return 257' instead of doing the load. llvm-svn: 90695
* Add helper methods for forming shift operations with a constant Chris Lattner2009-12-061-0/+21
| | | | | | shift amount. llvm-svn: 90694
* Integrate the following from the 'objective-rewrite' branch:Steve Naroff2009-12-061-1/+1
| | | | | | | http://llvm.org/viewvc/llvm-project?view=rev&revision=86026 Note: The 'improved debugging' changes weren't integrated (since they were later reverted, since they didn't improve debugging). llvm-svn: 90693
* Integrate the following from the 'objective-rewrite' branch:Steve Naroff2009-12-061-2/+1
| | | | | | http://llvm.org/viewvc/llvm-project?view=rev&revision=82174 llvm-svn: 90692
* merge two tests.Chris Lattner2009-12-062-20/+25
| | | | llvm-svn: 90691
* Integrate the following from the 'objective-rewrite' branch:Steve Naroff2009-12-061-4/+11
| | | | | | http://llvm.org/viewvc/llvm-project?view=rev&revision=72893 llvm-svn: 90690
* Set the correct linkage for VTTs as well.Anders Carlsson2009-12-063-61/+42
| | | | llvm-svn: 90689
* Integrate the following from the 'objective-rewrite' branch:Steve Naroff2009-12-061-7/+13
| | | | | | http://llvm.org/viewvc/llvm-project?view=rev&revision=71473 llvm-svn: 90688
* More linkage improvements.Anders Carlsson2009-12-063-15/+42
| | | | llvm-svn: 90687
* Pass the desired vtable linkage to GenerateVtable directly. Only call ↵Anders Carlsson2009-12-063-27/+16
| | | | | | MaybeMarkVirtualImplicitMembersReferenced for non-inline functions. llvm-svn: 90686
* CheckAtomic.cmake: Put all C++ code inside CHECK_CXX_SOURCE_COMPILES.Oscar Fuentes2009-12-061-2/+1
| | | | llvm-svn: 90685
* Make GenerateVtable a private member function of CGVtableInfo.Anders Carlsson2009-12-063-36/+35
| | | | llvm-svn: 90684
* Fix for atomic intrinsics detection when using MSVC.Oscar Fuentes2009-12-051-0/+12
| | | | | | Patch by Michael Beck! llvm-svn: 90683
* Fix for PR5693: shift some code into SetClassDeclAttributesFromBase so thatEli Friedman2009-12-052-5/+23
| | | | | | it gets called during template instantiation. llvm-svn: 90682
* Only emit the vtable definition if the class has a key function and we're ↵Anders Carlsson2009-12-051-32/+22
| | | | | | emitting it, or if the class doesn't have a key function and we are emitting the complete constructor. llvm-svn: 90681
* If a class does not have a key function, its linkage should be weak_odr.Anders Carlsson2009-12-053-3/+13
| | | | llvm-svn: 90680
* Use createGlobalVariable for creating vtable variables too.Anders Carlsson2009-12-052-52/+52
| | | | llvm-svn: 90679
* Don't call back() on an empty vector.Benjamin Kramer2009-12-051-2/+1
| | | | llvm-svn: 90678
* Integrate the following from the 'objective-rewrite' branch:Steve Naroff2009-12-052-11/+110
| | | | | | | | http://llvm.org/viewvc/llvm-project?view=rev&revision=71225 http://llvm.org/viewvc/llvm-project?view=rev&revision=73207 http://llvm.org/viewvc/llvm-project?view=rev&revision=73414 llvm-svn: 90677
* CodeGenModule::GenerateVtable now returns a pointer directly to the vtable ↵Anders Carlsson2009-12-052-34/+34
| | | | | | and not to the address point. llvm-svn: 90676
* Make sure that hte vtable always has an i8* array type.Anders Carlsson2009-12-051-5/+4
| | | | llvm-svn: 90675
* Add a function for getting the vtable address point of a class.Anders Carlsson2009-12-052-0/+12
| | | | llvm-svn: 90674
* Simplify BuildVTT.Anders Carlsson2009-12-051-11/+10
| | | | llvm-svn: 90673
* Let the VTT builder pretend that getVtable returns a pointer to the vtable ↵Anders Carlsson2009-12-051-4/+4
| | | | | | and not to the vtable address point. llvm-svn: 90672
* Change getCtorVtable to not return the address point offset, but the global ↵Anders Carlsson2009-12-051-2/+10
| | | | | | variable. llvm-svn: 90671
* Simplify some code.Anders Carlsson2009-12-051-11/+11
| | | | llvm-svn: 90670
* Remove old DBG_LABEL code.Dan Gohman2009-12-052-9/+0
| | | | llvm-svn: 90669
* Remove the unused DisableLegalizeTypes option and related code.Dan Gohman2009-12-053-53/+48
| | | | llvm-svn: 90668
* Factor vtable related GlobalVariable creation out into a separate function. ↵Anders Carlsson2009-12-052-24/+58
| | | | | | Add vtable linkage test. llvm-svn: 90667
* Update .xcodeproj fileAnders Carlsson2009-12-051-4/+4
| | | | llvm-svn: 90666
* Integrate the following from the 'objective-rewrite' branch:Steve Naroff2009-12-051-9/+37
| | | | | | | | http://llvm.org/viewvc/llvm-project?view=rev&revision=71086 http://llvm.org/viewvc/llvm-project?view=rev&revision=71107 Note: This fixes <rdar://problem/6845623> from protocol to template. llvm-svn: 90665
* Remove 'LangOpts' from Diagnostic (added in ↵Steve Naroff2009-12-054-10/+1
| | | | | | | | | | http://llvm.org/viewvc/llvm-project?view=rev&revision=90642). Simply use the 'LangOpts' member already present in TextDiagnosticPrinter. Sorry for the confusion! llvm-svn: 90664
* Avoid trashing two temporary strings.Benjamin Kramer2009-12-051-2/+2
| | | | llvm-svn: 90663
* strcasecmp is unportable.Benjamin Kramer2009-12-051-1/+1
| | | | llvm-svn: 90662
* Improve the performance of code completion by 2.2x when completing for ↵Douglas Gregor2009-12-051-6/+46
| | | | | | ordinary names with Cocoa.h included, by drastically improving the performance of our results sorting. llvm-svn: 90661
* fix comment.Chris Lattner2009-12-051-1/+1
| | | | llvm-svn: 90660
* consolidate some tests.Chris Lattner2009-12-053-23/+23
| | | | llvm-svn: 90659
* implement rdar://7346691 by codegen'ing struct/array initializersChris Lattner2009-12-055-65/+158
| | | | | | to a memset or a memcpy from a global when possible. llvm-svn: 90658
* various cleanups.Chris Lattner2009-12-051-9/+11
| | | | llvm-svn: 90657
* Calling InvalidateEntry during the refinement was breaking the bootstrap.Bill Wendling2009-12-051-2/+12
| | | | llvm-svn: 90656
* Final cleanups:Bill Wendling2009-12-051-14/+2
| | | | | | | - Privatize a typedef. - Call the InvalidateEntry when refining a type. llvm-svn: 90655
* Temporarily revert r90502. It was causing the llvm-gcc bootstrap on PPC to fail.Bill Wendling2009-12-055-103/+53
| | | | llvm-svn: 90653
* simplify a condition and add a testcase.Chris Lattner2009-12-052-8/+22
| | | | llvm-svn: 90652
* Document that memory use intrinsics may also return Def results.Nick Lewycky2009-12-051-3/+3
| | | | llvm-svn: 90651
* Fix indentation in switch statement.Nick Lewycky2009-12-051-15/+16
| | | | llvm-svn: 90650
* fix rdar://7446395, a crash on invalid, by fixing a broken assertion.Chris Lattner2009-12-052-4/+5
| | | | llvm-svn: 90647
OpenPOWER on IntegriCloud