summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* XFAIL some PIC16 tests when running under valgrind-leaks. I don't expect theseBenjamin Kramer2010-03-307-0/+8
| | | | | | to be fixed any time soon. llvm-svn: 99888
* PIC16: Plug a leak in PIC16Section by allocating name & address strings in theBenjamin Kramer2010-03-302-13/+20
| | | | | | MCContext. There is still one leak left in PIC16Section (the Items vector). llvm-svn: 99887
* Don't overwrite previous value, if it succeeded.Torok Edwin2010-03-301-1/+2
| | | | llvm-svn: 99886
* Honour addGlobalMapping() in the interpreter, if it was used to add mappings forTorok Edwin2010-03-301-0/+1
| | | | | | external Functions (the JIT does honour this). llvm-svn: 99885
* Reapply r99881 with some fixes: only call destructor in releaseMemory!Torok Edwin2010-03-305-12/+28
| | | | llvm-svn: 99883
* Revert 99881, it brooke smooshlab's llvm-gcc-i386-darwin9.Torok Edwin2010-03-303-27/+1
| | | | llvm-svn: 99882
* Introduce another Reset() method in BumpPtrAllocator that calls a destructorTorok Edwin2010-03-303-1/+27
| | | | | | | | | | on all objects it has allocated, if they are all of the same size and alignment. Use this to destruct all VNInfos allocated in LiveIntervalAnalysis (PR6653). valnos is not reliable for this purpose, as seen in r99400 (which still leaked, and sometimes caused double frees). llvm-svn: 99881
* Avoid being influenced by the presence of dbg_value instructions.Evan Cheng2010-03-302-8/+28
| | | | llvm-svn: 99879
* stringref'ize Timer apisChris Lattner2010-03-302-25/+24
| | | | llvm-svn: 99877
* finally, maintain a global list of timer groups, allowing us to Chris Lattner2010-03-302-3/+36
| | | | | | | implement TimerGroup::printAll, which prints and resets all active timers. llvm-svn: 99876
* add a new TimerGroup::print method, and refactor away the bogusChris Lattner2010-03-302-45/+60
| | | | | | TimerGroup copy ctor and assignment operator. llvm-svn: 99875
* rename GetLibSupportInfoOutputFile -> CreateInfoOutputFile andChris Lattner2010-03-302-18/+14
| | | | | | have it always return a new stream to simplify clients. llvm-svn: 99874
* if a timergroup is destroyed before its timers, print times.Chris Lattner2010-03-303-11/+15
| | | | llvm-svn: 99873
* change TimerGroup to keep a linked list of active timers Chris Lattner2010-03-302-66/+90
| | | | | | | | instead of just a count of them, and refactor the guts of report printing out of removeTimer into its own method. Refactor addTimerToPrint away. llvm-svn: 99872
* reapply my timer rewrite with a change for PassManager to store Chris Lattner2010-03-306-224/+194
| | | | | | timers by pointer instead of by-value. llvm-svn: 99871
* revert r99862 which is causing FNT failures.Chris Lattner2010-03-306-190/+222
| | | | llvm-svn: 99870
* fairly major rewrite of various timing related stuff.Chris Lattner2010-03-306-222/+190
| | | | llvm-svn: 99862
* Add FIXME for operand promotion.Eric Christopher2010-03-301-0/+4
| | | | llvm-svn: 99859
* Be gentle to MSVC. C++ is hard, after all.Jakob Stoklund Olesen2010-03-301-2/+3
| | | | llvm-svn: 99855
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* revert 99795, as mentioned, it is disabled anyway.Chris Lattner2010-03-291-123/+2
| | | | llvm-svn: 99796
* Check in a (disabled) failed attempt to improve the ordering of Chris Lattner2010-03-291-2/+123
| | | | | | | | | patterns within the generated matcher. This works great except that the sort fails because the relation defined isn't transitive. I have a much simpler solution coming next, but want to archive the code. llvm-svn: 99795
* print the complexity of the pattern being matched in theChris Lattner2010-03-294-59/+76
| | | | | | comment in the generated table. llvm-svn: 99794
* Add NVTBLFrm to represent A8.6.406 VTBL, VTBX Vector Table Lookup Instructions.Johnny Chen2010-03-292-8/+9
| | | | | | | | | | | | | These instructions use byte index in a control vector (M:Vm) to lookup byte values in a table and generate a new vector (D:Vd). The table is specified via a list of vectors, which can be: {Dn} {Dn D<n+1>} {Dn D<n+1> D<n+2>} {Dn D<n+1> D<n+2> D<n+3>} llvm-svn: 99789
* Revert 99772.Devang Patel2010-03-286-46/+50
| | | | llvm-svn: 99778
OpenPOWER on IntegriCloud