summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Split A8/A9 itins - they already were too big.Anton Korobeynikov2010-04-073-603/+614
| | | | llvm-svn: 100672
* Add some crude itin approximation for VFP load / stores on A9Anton Korobeynikov2010-04-071-0/+54
| | | | llvm-svn: 100671
* Add some crude approximation for neon load/store instructionsAnton Korobeynikov2010-04-071-1/+55
| | | | llvm-svn: 100670
* Add some A8-based approximation for instructions with unknown cycle timesAnton Korobeynikov2010-04-071-0/+52
| | | | llvm-svn: 100669
* Move NEON-VFP domain fixer upper, so post-RA scheduler would benefit from it.Anton Korobeynikov2010-04-071-4/+6
| | | | llvm-svn: 100668
* Since tblgen bug was fixed (thanks Jakob!) we don't need InstrStage2 hack ↵Anton Korobeynikov2010-04-071-259/+266
| | | | | | anymore. llvm-svn: 100667
* Fix A8 FP NEON MAC itinsAnton Korobeynikov2010-04-071-2/+2
| | | | llvm-svn: 100666
* A9 NEON FP itinsAnton Korobeynikov2010-04-071-0/+66
| | | | llvm-svn: 100665
* Some permute goodness for A9Anton Korobeynikov2010-04-071-1/+85
| | | | llvm-svn: 100664
* More shift itins for A9Anton Korobeynikov2010-04-071-0/+21
| | | | llvm-svn: 100663
* More fixes for itinsAnton Korobeynikov2010-04-071-24/+26
| | | | llvm-svn: 100662
* Fix invalid itins for 32-bit varians of VMLAL and friendsAnton Korobeynikov2010-04-071-14/+14
| | | | llvm-svn: 100661
* Add MAC stuff for A9Anton Korobeynikov2010-04-071-1/+59
| | | | llvm-svn: 100660
* Fix invalid NEON MAC itins on A8Anton Korobeynikov2010-04-071-4/+4
| | | | llvm-svn: 100659
* Fix itins for VPALAnton Korobeynikov2010-04-071-3/+17
| | | | llvm-svn: 100658
* Fix itins for VABAAnton Korobeynikov2010-04-073-23/+76
| | | | llvm-svn: 100657
* Correct VMVN itinerary: operand is read in the second cycle, not in the first.Anton Korobeynikov2010-04-071-2/+2
| | | | llvm-svn: 100656
* More A9 itinerariesAnton Korobeynikov2010-04-072-2/+30
| | | | llvm-svn: 100655
* Correct itinerary class for VPADDAnton Korobeynikov2010-04-071-86/+40
| | | | llvm-svn: 100654
* VP{MAX, MIN} are of IIC_VSUBi4D itin class as well.Anton Korobeynikov2010-04-071-10/+35
| | | | llvm-svn: 100653
* VHADD differs from VHSUB at least on A9 - the former reads both operands in ↵Anton Korobeynikov2010-04-073-17/+71
| | | | | | the second cycle, while the latter reads second operand in first cycle. Introduce new itin classes to catch this behavior. Whether this is true for A8 as well is WIP. llvm-svn: 100652
* 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
OpenPOWER on IntegriCloud