aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fixed warnings pointed out by clang.Johnny Chen2010-04-071-2/+16
| | | | | | | Next to work on is ARMDisassemblerCore.cpp. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100695 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixed a bug where the disassembler would allow an immediateSean Callanan2010-04-073-1/+5
| | | | | | | | | | argument that had to be between 0 and 7 to have any value, firing an assert later in the AsmPrinter. Now, the disassembler rejects instructions with out-of-range values for that immediate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100694 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixed 3 warnings pointed out by clang.Johnny Chen2010-04-071-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100693 91177308-0d34-0410-b5e6-96231b3b80d8
* unXFAIL, arm disassembler was reenabled.Benjamin Kramer2010-04-073-3/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100692 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix typo and correct comment somewhat.Eric Christopher2010-04-071-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100691 91177308-0d34-0410-b5e6-96231b3b80d8
* Re-enable ARM/Thumb disassembler and add a workaround for a memcpy() call inJohnny Chen2010-04-073-4/+25
| | | | | | | ARMDecoderEmitter.cpp, with FIXME comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100690 91177308-0d34-0410-b5e6-96231b3b80d8
* Split big test into multiple directories to cater toDale Johannesen2010-04-0712-11/+363
| | | | | | | | those who don't build all targets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100688 91177308-0d34-0410-b5e6-96231b3b80d8
* Added an AsmLexer for the ARM target, which usesSean Callanan2010-04-072-0/+143
| | | | | | | | a simple mapping of register names to IDs to identify register tokens. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100685 91177308-0d34-0410-b5e6-96231b3b80d8
* Test that DEBUG_VALUE comments come out on a variety of targets.Dale Johannesen2010-04-071-0/+45
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100682 91177308-0d34-0410-b5e6-96231b3b80d8
* Educate GetInstrSizeInBytes implementations thatDale Johannesen2010-04-074-0/+4
| | | | | | | | DBG_VALUE does not generate code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100681 91177308-0d34-0410-b5e6-96231b3b80d8
* fix 80-col violationsGabor Greif2010-04-071-13/+17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100677 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove late ARM codegen optimization pass committed by accident.Anton Korobeynikov2010-04-076-169/+5
| | | | | | It is not ready for public yet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100673 91177308-0d34-0410-b5e6-96231b3b80d8
* Split A8/A9 itins - they already were too big.Anton Korobeynikov2010-04-073-603/+614
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100672 91177308-0d34-0410-b5e6-96231b3b80d8
* Add some crude itin approximation for VFP load / stores on A9Anton Korobeynikov2010-04-071-0/+54
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100671 91177308-0d34-0410-b5e6-96231b3b80d8
* Add some crude approximation for neon load/store instructionsAnton Korobeynikov2010-04-071-1/+55
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100670 91177308-0d34-0410-b5e6-96231b3b80d8
* Add some A8-based approximation for instructions with unknown cycle timesAnton Korobeynikov2010-04-071-0/+52
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100669 91177308-0d34-0410-b5e6-96231b3b80d8
* Move NEON-VFP domain fixer upper, so post-RA scheduler would benefit from it.Anton Korobeynikov2010-04-071-4/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100668 91177308-0d34-0410-b5e6-96231b3b80d8
* Since tblgen bug was fixed (thanks Jakob!) we don't need InstrStage2 hack ↵Anton Korobeynikov2010-04-072-267/+271
| | | | | | anymore. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100667 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix A8 FP NEON MAC itinsAnton Korobeynikov2010-04-071-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100666 91177308-0d34-0410-b5e6-96231b3b80d8
* A9 NEON FP itinsAnton Korobeynikov2010-04-071-0/+66
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100665 91177308-0d34-0410-b5e6-96231b3b80d8
* Some permute goodness for A9Anton Korobeynikov2010-04-071-1/+85
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100664 91177308-0d34-0410-b5e6-96231b3b80d8
* More shift itins for A9Anton Korobeynikov2010-04-071-0/+21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100663 91177308-0d34-0410-b5e6-96231b3b80d8
* More fixes for itinsAnton Korobeynikov2010-04-071-24/+26
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100662 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix invalid itins for 32-bit varians of VMLAL and friendsAnton Korobeynikov2010-04-071-14/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100661 91177308-0d34-0410-b5e6-96231b3b80d8
* Add MAC stuff for A9Anton Korobeynikov2010-04-071-1/+59
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100660 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix invalid NEON MAC itins on A8Anton Korobeynikov2010-04-071-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100659 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix itins for VPALAnton Korobeynikov2010-04-071-3/+17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100658 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix itins for VABAAnton Korobeynikov2010-04-073-23/+76
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100657 91177308-0d34-0410-b5e6-96231b3b80d8
* Correct VMVN itinerary: operand is read in the second cycle, not in the first.Anton Korobeynikov2010-04-071-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100656 91177308-0d34-0410-b5e6-96231b3b80d8
* More A9 itinerariesAnton Korobeynikov2010-04-072-2/+30
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100655 91177308-0d34-0410-b5e6-96231b3b80d8
* Correct itinerary class for VPADDAnton Korobeynikov2010-04-071-86/+40
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100654 91177308-0d34-0410-b5e6-96231b3b80d8
* VP{MAX, MIN} are of IIC_VSUBi4D itin class as well.Anton Korobeynikov2010-04-071-10/+35
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100653 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100652 91177308-0d34-0410-b5e6-96231b3b80d8
* Some easy NEON scheduling goodness for A9Anton Korobeynikov2010-04-071-1/+53
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100651 91177308-0d34-0410-b5e6-96231b3b80d8
* 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 :( git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100650 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100649 91177308-0d34-0410-b5e6-96231b3b80d8
* Proper cycle times for locks, since wbck latency can be larger than fwd latency.Anton Korobeynikov2010-04-071-52/+57
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100648 91177308-0d34-0410-b5e6-96231b3b80d8
* Add new itin classes for FP16 <-> FP32 conversions and make uise of them for A9.Anton Korobeynikov2010-04-073-4/+20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100647 91177308-0d34-0410-b5e6-96231b3b80d8
* Make use of new reserved/required scheduling stuff: introduce VFP and NEON ↵Anton Korobeynikov2010-04-073-27/+87
| | | | | | locks to model domain cross stalls precisly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100646 91177308-0d34-0410-b5e6-96231b3b80d8
* Initial support for different kinds of FU reservation.Anton Korobeynikov2010-04-075-17/+79
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100645 91177308-0d34-0410-b5e6-96231b3b80d8
* Factor out scoreboard into separate class. This way we might have several ↵Anton Korobeynikov2010-04-072-58/+70
| | | | | | different score boards. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100644 91177308-0d34-0410-b5e6-96231b3b80d8
* Some bits of A9 scheduling: VFPAnton Korobeynikov2010-04-072-1/+102
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100643 91177308-0d34-0410-b5e6-96231b3b80d8
* Separate const from non-const stuff during mergeingAnton Korobeynikov2010-04-071-21/+35
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100642 91177308-0d34-0410-b5e6-96231b3b80d8
* Some initial version of global mergerAnton Korobeynikov2010-04-074-1/+144
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100641 91177308-0d34-0410-b5e6-96231b3b80d8
* Add hook to insert late LLVM=>LLVM passes just before iselAnton Korobeynikov2010-04-072-4/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100640 91177308-0d34-0410-b5e6-96231b3b80d8
* fix 80 col violation, patch by Alastair LynnChris Lattner2010-04-071-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100639 91177308-0d34-0410-b5e6-96231b3b80d8
* add a comment line that got droppedChris Lattner2010-04-071-5/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100638 91177308-0d34-0410-b5e6-96231b3b80d8
* this has a pr!Chris Lattner2010-04-071-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100637 91177308-0d34-0410-b5e6-96231b3b80d8
* fix a latent bug my inline asm stuff exposed: Chris Lattner2010-04-072-0/+18
| | | | | | | MachineOperand::isIdenticalTo wasn't handling metadata operands. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100636 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove unused method.Benjamin Kramer2010-04-072-19/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100620 91177308-0d34-0410-b5e6-96231b3b80d8