summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add FIXME for operand promotion.Eric Christopher2010-03-301-0/+4
| | | | llvm-svn: 99859
* Cache results computed by CGDebugInfo::getOrCreateFile() in a DenseMap.Ted Kremenek2010-03-302-3/+22
| | | | | | This reduces '-c -g' time on one file in 403.gcc by 12%. llvm-svn: 99857
* Be gentle to MSVC. C++ is hard, after all.Jakob Stoklund Olesen2010-03-301-2/+3
| | | | llvm-svn: 99855
* When copying a partial diagnostic into a DependentDiagnostic, allocateDouglas Gregor2010-03-294-19/+28
| | | | | | | | | storage for that partial diagnostic via the ASTContext's BumpPtrAllocator rather than using up slots in the ASTContext's cache. Now that we do this, we don't have to worry about destroying dependent diagnostics when destroying a DependentStoredDeclsMap. llvm-svn: 99854
* MC/Mach-O/x86_64: Support @GOTPCREL on symbols, even for non-PCrel relocations!Daniel Dunbar2010-03-292-20/+62
| | | | llvm-svn: 99853
* Re-add back in the slow way of determining of a clean-up should become aBill Wendling2010-03-291-0/+135
| | | | | | | catch-all. The "dominates" way won't catch all of the selectors which must be changed. llvm-svn: 99850
* Optimize PartialDiagnostic's memory-allocation behavior by placing aDouglas Gregor2010-03-2914-86/+202
| | | | | | | | | | | | | | cache of PartialDiagnostic::Storage objects into an allocator within the ASTContext. This eliminates a significant amount of malloc traffic, for a 10% performance improvement in -fsyntax-only wall-clock time with 403.gcc's combine.c. Also, eliminate the RequireNonAbstractType hack I put in earlier, which was but a symptom of this larger problem. Fixes <rdar://problem/7806091>. llvm-svn: 99849
* Basic implementation of SSEDomainFix pass.Jakob Stoklund Olesen2010-03-293-57/+399
| | | | | | Cross-block inference is primitive and wrong, but the pass is working otherwise. llvm-svn: 99848
* A more general (and simpler!) implementation of r99671. It performs a similarBill Wendling2010-03-291-122/+59
| | | | | | | | | | | transform. I.e., if a clean-up eh.selector call dominates the invoke of an _Unwind_Resume_or_Rethrow, then we convert the eh.selector into a catch-all. This patch, however, uses the DominatorTree information, and doesn't go through the whole rigmarole of starting at the eh.exception call, finding the corresponding URoR and eh.selector calls, and trying to trace through any number of instruction types to get to them. llvm-svn: 99846
* Encode start location of debug value, communicated through DBG_VALUE machine ↵Devang Patel2010-03-292-15/+43
| | | | | | instruction, in a variable's DIE. llvm-svn: 99845
* provide a simpler way to get to the headersGabor Greif2010-03-291-1/+1
| | | | llvm-svn: 99843
* move a function into a more logical place in the fileChris Lattner2010-03-291-22/+21
| | | | llvm-svn: 99842
* remove support for per-time peak memory tracking, thisChris Lattner2010-03-292-39/+4
| | | | | | | isn't used by anyone and is better exposed as a non-per-timer thing. Also, stop including System/Mutex.h in Timer.h llvm-svn: 99841
* Fix PR4975. Avoid referencing empty vector.Evan Cheng2010-03-292-2/+21
| | | | llvm-svn: 99840
* various timer fixes: move operator= out of line,Chris Lattner2010-03-292-47/+27
| | | | | | | | | eliminate the per-timer lock (timers should be externally locked if needed), the info-output-stream can never be dbgs(), so drop the check. Make some stuff private. llvm-svn: 99839
* Make isInt?? and isUint?? template specializations of the generic versions. ThisBenjamin Kramer2010-03-2910-61/+71
| | | | | | | makes calls a little bit more consistent and allows easy removal of the specializations in the future. Convert all callers to the templated functions. llvm-svn: 99838
* Pool allocate SDDbgValue nodes.Evan Cheng2010-03-293-11/+39
| | | | llvm-svn: 99836
* We'll never match these as instructions, just as intrinsics so removeEric Christopher2010-03-291-16/+10
| | | | | | the SDNodes. llvm-svn: 99835
* s/.../.Chris Lattner2010-03-291-7/+7
| | | | llvm-svn: 99834
* use RAII for ExceptionTimer tooChris Lattner2010-03-291-17/+3
| | | | llvm-svn: 99833
* fix a variety of issues were we'd start DebugTimer but Chris Lattner2010-03-291-40/+11
| | | | | | not stop it by using RAII. llvm-svn: 99832
* move code around and improve indentation, no functionality change.Chris Lattner2010-03-291-126/+124
| | | | llvm-svn: 99831
* Exit early from the simple form of Sema::RequireNonAbstractType(), forDouglas Gregor2010-03-291-0/+3
| | | | | | a 2.47% speedup in 403.gcc. llvm-svn: 99830
* When collecting virtual bases it's very important to use the canonical type ↵Anders Carlsson2010-03-292-3/+26
| | | | | | of the base class. Otherwise, we might add the same virtual base class twice if the virtual base is an instantiated template. Fixes PR6251. llvm-svn: 99829
* Remove FIXME comment.Ted Kremenek2010-03-291-1/+0
| | | | llvm-svn: 99828
* Remove a bunch of integer width predicate functions in favor of MathExtras.Benjamin Kramer2010-03-294-139/+11
| | | | | | | Most of these were unused, some of them were wrong and unused (isS16Constant<short>, isS10Constant<short>). llvm-svn: 99827
* some other notes.Chris Lattner2010-03-291-1/+2
| | | | llvm-svn: 99826
* apparently llvm 2.7 now has great armv4 support, fromChris Lattner2010-03-291-0/+3
| | | | | | John Tytgat llvm-svn: 99825
* update the vmkit blurbChris Lattner2010-03-291-4/+14
| | | | llvm-svn: 99824
* Change 'TypeCache' from being an std::map to a llvm::DenseMap. This reduces ↵Ted Kremenek2010-03-292-2/+2
| | | | | | | | codegen time on one .i file from 403.gcc by 0.5%. llvm-svn: 99823
* add support for -MQ flag to quote targets in dependency file,Chris Lattner2010-03-294-7/+80
| | | | | | PR6661, patch by Ori Avtalion! llvm-svn: 99821
* add tceChris Lattner2010-03-291-0/+21
| | | | llvm-svn: 99820
* From Kalle Raiskila:Chris Lattner2010-03-295-14/+175
| | | | | | | | "the bigstack patch for SPU, with testcase. It is essentially the patch committed as 97091, and reverted as 97099, but with the following additions: -in vararg handling, registers are marked to be live, to not confuse the register scavenger -function prologue and epilogue are not emitted, if the stack size is 16. 16 means it is empty - there is only the register scavenger emergency spill slot, which is not used as there is no stack." llvm-svn: 99819
* add support for zero initialized unions, patch by Tim Northover!Chris Lattner2010-03-292-1/+5
| | | | llvm-svn: 99818
* emit signed integer subtractions as 'sub nsw', patch byChris Lattner2010-03-291-0/+5
| | | | | | Anton Yartsev! llvm-svn: 99817
* Refactor code to push DILocation prcessing into DwarfDebug.cpp from ↵Devang Patel2010-03-296-50/+55
| | | | | | | | AsmPrinter.cpp. This is same as r99772 (which was reverted) with just one meaningful difference where two source lines exchanged their positions. llvm-svn: 99816
* add a note.Chris Lattner2010-03-291-0/+3
| | | | llvm-svn: 99815
* Another vtable layout fix, making us match gcc better.Anders Carlsson2010-03-292-2/+39
| | | | llvm-svn: 99812
* Support __attribute__((packed)) (along with other attributes) at theDouglas Gregor2010-03-296-6/+25
| | | | | | end of a struct/class/union in C++, from Justin Bogner! llvm-svn: 99811
* Handle pure virtual member functions.Anders Carlsson2010-03-291-16/+33
| | | | llvm-svn: 99807
* Fix a nasty bug in the virtual base computation which would lead to us ↵Anders Carlsson2010-03-292-49/+49
| | | | | | initializing virtual bases in the wrong order. llvm-svn: 99806
* Be a bit more consistent in using operator->Rafael Espindola2010-03-295-26/+25
| | | | | | | This patch moves some methods from QualType to Type and changes the users to use -> instead of . llvm-svn: 99805
* More vtable work - it's not possible to use the new vtable code for ↵Anders Carlsson2010-03-292-22/+78
| | | | | | everything by setting a flag inside CGVtable.cpp. My plan is to run some tests and bootstrap and once that's done flip the bit. llvm-svn: 99804
* More magic.Anders Carlsson2010-03-291-4/+4
| | | | llvm-svn: 99803
* Sprinkle some sed dust over check-ztt to make it work with newer clang asm ↵Anders Carlsson2010-03-291-2/+2
| | | | | | output. (I am not a sed expert so this might be terribly inefficient :) llvm-svn: 99802
* Only add thunks for the most derived class. This fixes some link errors I ↵Anders Carlsson2010-03-291-2/+3
| | | | | | was seeing in files generated by the vtable tester utility. llvm-svn: 99801
* Flip the switch to always get vtables from the VTT when necessary, I've ↵Anders Carlsson2010-03-291-7/+3
| | | | | | verified that clang bootstraps with this. llvm-svn: 99800
* Use the newly added function in the VTT builder.Anders Carlsson2010-03-291-3/+2
| | | | llvm-svn: 99799
* Cleanup, no functionality change.Anders Carlsson2010-03-293-6/+18
| | | | llvm-svn: 99798
* Switch pattern sorting predicate from stable sort -> sort, itChris Lattner2010-03-291-3/+14
| | | | | | | | | | | | | | | | | | | | | doesn't need to be stable because the patterns are fully ordered. Add a first level sort predicate that orders patterns in this order: 1) scalar integer operations 2) scalar floating point 3) vector int 4) vector float. This is a trivial sort on their top level pattern type so it is nice and transitive. The benefit of doing this is that simple integer operations are much more common than insane vector things and isel was trying to match the big complex vector patterns before the simple ones because the complexity of the vector operations was much higher. Since they can't both match, it is best (for compile time) to try the simple integer ones first. This cuts down the # failed match attempts on real code by quite a bit, for example, this reduces backtracks on crafty (as a random example) from 228285 -> 188369. llvm-svn: 99797
OpenPOWER on IntegriCloud