summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Some easy NEON scheduling goodness for A9Anton Korobeynikov2010-04-071-1/+53
| | | | llvm-svn: 100651
* Define new itin classes for ARM <-> VFP reg moves to distinguish from NEON ↵Anton Korobeynikov2010-04-073-7/+38
| | | | | | ops. Define proper scheduling itinerary for them on A9. A8 TRM does not specify latency for them at all :( llvm-svn: 100650
* FCONST{S,D} behaves the same way as FP unary instructions. This is true for ↵Anton Korobeynikov2010-04-071-2/+2
| | | | | | both A8 and A9. llvm-svn: 100649
* Proper cycle times for locks, since wbck latency can be larger than fwd latency.Anton Korobeynikov2010-04-071-52/+57
| | | | llvm-svn: 100648
* Add new itin classes for FP16 <-> FP32 conversions and make uise of them for A9.Anton Korobeynikov2010-04-073-4/+20
| | | | llvm-svn: 100647
* Make use of new reserved/required scheduling stuff: introduce VFP and NEON ↵Anton Korobeynikov2010-04-072-22/+77
| | | | | | locks to model domain cross stalls precisly. llvm-svn: 100646
* Initial support for different kinds of FU reservation.Anton Korobeynikov2010-04-072-12/+44
| | | | llvm-svn: 100645
* Factor out scoreboard into separate class. This way we might have several ↵Anton Korobeynikov2010-04-072-58/+70
| | | | | | different score boards. llvm-svn: 100644
* Some bits of A9 scheduling: VFPAnton Korobeynikov2010-04-072-1/+102
| | | | llvm-svn: 100643
* Separate const from non-const stuff during mergeingAnton Korobeynikov2010-04-071-21/+35
| | | | llvm-svn: 100642
* Some initial version of global mergerAnton Korobeynikov2010-04-074-1/+144
| | | | llvm-svn: 100641
* Add hook to insert late LLVM=>LLVM passes just before iselAnton Korobeynikov2010-04-071-0/+2
| | | | llvm-svn: 100640
* fix 80 col violation, patch by Alastair LynnChris Lattner2010-04-071-1/+2
| | | | llvm-svn: 100639
* add a comment line that got droppedChris Lattner2010-04-071-5/+4
| | | | llvm-svn: 100638
* fix a latent bug my inline asm stuff exposed: Chris Lattner2010-04-071-0/+2
| | | | | | MachineOperand::isIdenticalTo wasn't handling metadata operands. llvm-svn: 100636
* Remove unused method.Benjamin Kramer2010-04-072-19/+0
| | | | llvm-svn: 100620
* Workaround the breakage in r100616 by guarding all timers withTorok Edwin2010-04-073-32/+74
| | | | | | TimePassesIsEnabled. This should allow make check to pass. llvm-svn: 100618
* Use the "NamedGroupTimer" class to categorize DWARF emission better.Bill Wendling2010-04-074-41/+28
| | | | llvm-svn: 100616
* Use raw_ostream.Benjamin Kramer2010-04-071-22/+14
| | | | llvm-svn: 100615
* Add comments for missed opportunities.Evan Cheng2010-04-071-1/+4
| | | | llvm-svn: 100610
* Fix typo.Evan Cheng2010-04-071-1/+1
| | | | llvm-svn: 100609
* Have the inst emitter add the !srcloc mdnode to the machine instr.Chris Lattner2010-04-072-2/+18
| | | | | | | Have the asmprinter use the mdnode to scavenge a source location if present. Document this nonsense in langref. llvm-svn: 100607
* remove another magic number.Chris Lattner2010-04-071-3/+2
| | | | llvm-svn: 100606
* Three changes:Chris Lattner2010-04-076-62/+96
| | | | | | | | | | | | | | | 1. Introduce some enums and accessors in the InlineAsm class that eliminate a ton of magic numbers when handling inline asm SDNode. 2. Add a new MDNodeSDNode selection dag node type that holds a MDNode (shocking!) 3. Add a new argument to ISD::INLINEASM nodes that hold !srcloc metadata, propagating it to the instruction emitter, which drops it. No functionality change. llvm-svn: 100605
* fix a crash on invalid metadata, e.g.: call i32 @foo(), XXXXChris Lattner2010-04-072-3/+5
| | | | | | | | We would return the error without inserting the new instruction into the program, so it wouldn't get deallocated, and an abort would trigger when the module was deleted. llvm-svn: 100602
* Fix memory leaks for external symbol name strings.Sanjiv Gupta2010-04-073-20/+38
| | | | llvm-svn: 100601
* Clean up some signedness oddities in this code noticed by clang.John McCall2010-04-071-5/+6
| | | | llvm-svn: 100599
* Move printing of target-indepedent DEBUG_VALUE commentsDale Johannesen2010-04-073-52/+79
| | | | | | | into AsmPrinter. Target-dependent form is still generated by FastISel and still handled in X86 code. llvm-svn: 100596
* Post regalloc LICM. Work in progress.Evan Cheng2010-04-072-11/+169
| | | | llvm-svn: 100592
* Do not emit specification DIE with DW_AT_specification attribute for member ↵Devang Patel2010-04-061-2/+17
| | | | | | functions of a funcation local class. This trips gdb's partial scan of DIEs at load time. Fixes Radar 7833483. llvm-svn: 100586
* Fix a number of clang -Wsign-compare warnings that didn't have an obviousJohn McCall2010-04-065-5/+5
| | | | | | | solution. The only reason these don't fire with gcc-4.2 is that gcc turns off part of -Wsign-compare in C++ on accident. llvm-svn: 100581
* Revert 100573, it's causing some testsuite problems.Dale Johannesen2010-04-062-60/+71
| | | | llvm-svn: 100578
* Move printing of DEBUG_VALUE comments to target-independent place.Dale Johannesen2010-04-062-71/+60
| | | | | | There is probably a more elegant way to do this. llvm-svn: 100573
* Expand SELECT and SELECT_CC for NEON vector types.Bob Wilson2010-04-061-0/+2
| | | | | | Radar 7770501. llvm-svn: 100568
* Allow for the possibility that a debug-value pointsDale Johannesen2010-04-061-2/+13
| | | | | | to a SDNode that didn't have code generated for it. llvm-svn: 100566
* Reverting 100530 & 100531 due to regressions in the GDB test suite.Stuart Hastings2010-04-062-25/+8
| | | | llvm-svn: 100563
* Fix PR6696 and PR6663Jim Grosbach2010-04-065-14/+84
| | | | | | | | | | | | | | | | | When a frame pointer is not otherwise required, and dynamic stack alignment is necessary solely due to the spilling of a register with larger alignment requirements than the default stack alignment, the frame pointer can be both used as a general purpose register and a frame pointer. That goes poorly, for obvious reasons. This patch brings back a bit of old logic for identifying the use of such registers and conservatively reserves the frame pointer during register allocation in such cases. For now, implement for X86 only since it's 32-bit linux which is hitting this, and we want a targeted fix for 2.7. As a follow-on, this will be expanded to handle other targets, as theoretically the problem could arise elsewhere as well. llvm-svn: 100559
* Don't try to collapse DomainValues onto an incompatible SSE domain.Jakob Stoklund Olesen2010-04-061-4/+12
| | | | | | This fixes the Bullet regression on i386/nocona. llvm-svn: 100553
* performance: get rid of repeated dereferencing of use_iterator by caching ↵Gabor Greif2010-04-061-5/+7
| | | | | | its result llvm-svn: 100550
* make more two predicates constantGabor Greif2010-04-061-15/+15
| | | | llvm-svn: 100549
* performance: get rid of repeated dereferencing of use_iterator by caching ↵Gabor Greif2010-04-061-21/+28
| | | | | | its result llvm-svn: 100547
* const-ize predicate ValueIsOnlyUsedLocallyOrStoredToOneGlobalGabor Greif2010-04-061-9/+10
| | | | llvm-svn: 100546
* use CallSite to access calls vs. invokes uniformlyGabor Greif2010-04-061-5/+6
| | | | | | and remove assumptions about operand order llvm-svn: 100544
* enhance SMDiagnostic to also maintain a pointer to the SourceMgr.Chris Lattner2010-04-062-3/+3
| | | | | | | Add a simplified constructor for clients that don't have locations like "file not found" errors. llvm-svn: 100538
* Code clean up. Move includes from VirtRegRewriter.h to VirtRegRewriter.cpp.Evan Cheng2010-04-062-4/+5
| | | | llvm-svn: 100532
* Revise debug info machinery to digest nested functions and classes.Stuart Hastings2010-04-062-8/+25
| | | | | | | | | | | A certain GDB testsuite case (local.cc) has a function nested inside a class nested inside another function. GCC presents the innermost function to llvm-convert first. Heretofore, the debug info mistakenly placed the inner function at module scope. This patch walks the GCC context links and instantiates the outer class and function so the debug info is properly nested. Radar 7426545. llvm-svn: 100530
* Remove assert to treat memmove and memset like memcpyMon P Wang2010-04-061-3/+4
| | | | llvm-svn: 100521
* Use a ManagedCleanup to prevent leaking the PassRegistrar map. In breaks theOwen Anderson2010-04-061-6/+14
| | | | | | | use case where someone wants to resurrect LLVM after calling llvm_shutdown, but I'm not aware of any clients that are affected by this. llvm-svn: 100519
* Add a const qualifier.Dan Gohman2010-04-061-1/+1
| | | | llvm-svn: 100515
* propagate cookie management out one layer of function calls.Chris Lattner2010-04-062-5/+4
| | | | llvm-svn: 100510
OpenPOWER on IntegriCloud