aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target
Commit message (Collapse)AuthorAgeFilesLines
* pecimise loads, put indirect call addr in right register. still doesn't fix ↵Andrew Lenharth2005-02-012-14/+19
| | | | | | methcall git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19963 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix hyphenation in output commentMisha Brukman2005-01-312-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19954 91177308-0d34-0410-b5e6-96231b3b80d8
* indirect call fixAndrew Lenharth2005-01-311-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19945 91177308-0d34-0410-b5e6-96231b3b80d8
* fp to int and back conversion sequencesAndrew Lenharth2005-01-312-14/+34
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19944 91177308-0d34-0410-b5e6-96231b3b80d8
* added fp extend and removed a forgotten assert in more than 6 arg support ↵Andrew Lenharth2005-01-302-22/+32
| | | | | | (should break somewhere else now :) ) and fix an incorrect asm sequence for indirect calls git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19938 91177308-0d34-0410-b5e6-96231b3b80d8
* This code is really unreachable.Chris Lattner2005-01-301-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19934 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix warnings.Chris Lattner2005-01-302-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19933 91177308-0d34-0410-b5e6-96231b3b80d8
* support for larger callsAndrew Lenharth2005-01-302-98/+124
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19932 91177308-0d34-0410-b5e6-96231b3b80d8
* Unbreak the build :(Chris Lattner2005-01-291-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19926 91177308-0d34-0410-b5e6-96231b3b80d8
* first step towards a correct and complete stack. also add some forms for ↵Andrew Lenharth2005-01-294-12/+78
| | | | | | things that were getting stuck in the nightly tester. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19914 91177308-0d34-0410-b5e6-96231b3b80d8
* Finegrainify namespacification.Chris Lattner2005-01-292-24/+27
| | | | | | | Adjust TmpInstruction to work with the new User model. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19896 91177308-0d34-0410-b5e6-96231b3b80d8
* add namespace qualifierChris Lattner2005-01-291-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19895 91177308-0d34-0410-b5e6-96231b3b80d8
* fix ExprMap, partially teach about add longAndrew Lenharth2005-01-281-32/+85
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19882 91177308-0d34-0410-b5e6-96231b3b80d8
* fix ExprMap and constant check in setccAndrew Lenharth2005-01-281-4/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19870 91177308-0d34-0410-b5e6-96231b3b80d8
* move FP into it's own selectAndrew Lenharth2005-01-281-191/+167
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19867 91177308-0d34-0410-b5e6-96231b3b80d8
* stack frame fix and zero FP reg fixAndrew Lenharth2005-01-272-12/+19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19857 91177308-0d34-0410-b5e6-96231b3b80d8
* Floating point instructions like Floating point registersAndrew Lenharth2005-01-271-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19856 91177308-0d34-0410-b5e6-96231b3b80d8
* int to float conversion and another setccAndrew Lenharth2005-01-272-32/+54
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19855 91177308-0d34-0410-b5e6-96231b3b80d8
* teach isel about comparison with constants and zero extending bitsAndrew Lenharth2005-01-272-112/+136
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19853 91177308-0d34-0410-b5e6-96231b3b80d8
* perhaps this will let me have calls againAndrew Lenharth2005-01-271-5/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19851 91177308-0d34-0410-b5e6-96231b3b80d8
* minor bug fixAndrew Lenharth2005-01-271-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19850 91177308-0d34-0410-b5e6-96231b3b80d8
* minor bug fixAndrew Lenharth2005-01-271-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19849 91177308-0d34-0410-b5e6-96231b3b80d8
* added instructions for fp to int to fp movesAndrew Lenharth2005-01-261-5/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19848 91177308-0d34-0410-b5e6-96231b3b80d8
* initial fp supportAndrew Lenharth2005-01-265-226/+358
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19847 91177308-0d34-0410-b5e6-96231b3b80d8
* hum, writing on one machine, testing on another...Andrew Lenharth2005-01-261-4/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19844 91177308-0d34-0410-b5e6-96231b3b80d8
* add some operations, fix others. should compile several more tests nowAndrew Lenharth2005-01-262-5/+26
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19843 91177308-0d34-0410-b5e6-96231b3b80d8
* We can fold promoted and non-promoted loads into divs also!Chris Lattner2005-01-251-0/+28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19835 91177308-0d34-0410-b5e6-96231b3b80d8
* Fold promoted loads into binary ops for FP, allowing us to generate m32 formsChris Lattner2005-01-251-20/+31
| | | | | | | of FP ops. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19834 91177308-0d34-0410-b5e6-96231b3b80d8
* problems with bools, and their work aroundsAndrew Lenharth2005-01-252-4/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19833 91177308-0d34-0410-b5e6-96231b3b80d8
* more load choices, better add with immAndrew Lenharth2005-01-252-41/+103
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19821 91177308-0d34-0410-b5e6-96231b3b80d8
* Clean ups, and taught the instruction selector about immediate formsAndrew Lenharth2005-01-246-132/+192
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19816 91177308-0d34-0410-b5e6-96231b3b80d8
* Alpha JIT pruneAndrew Lenharth2005-01-242-16/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19815 91177308-0d34-0410-b5e6-96231b3b80d8
* include prune and JIT pruneAndrew Lenharth2005-01-241-35/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19814 91177308-0d34-0410-b5e6-96231b3b80d8
* Pruned includesAndrew Lenharth2005-01-241-15/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19813 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a spurious warning.Chris Lattner2005-01-241-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19799 91177308-0d34-0410-b5e6-96231b3b80d8
* Silence a warning.Chris Lattner2005-01-231-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19798 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow the FP stackifier to completely ignore functions that do not use FP atChris Lattner2005-01-231-0/+15
| | | | | | | | all. This should speed up the X86 backend fairly significantly on integer codes. Now if only we didn't have to compute livevar still... ;-) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19796 91177308-0d34-0410-b5e6-96231b3b80d8
* Build Alpha by default.Chris Lattner2005-01-231-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19777 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix alloca support for Cygwin. On cygwin its __alloca not __builtin_allocaReid Spencer2005-01-232-2/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19776 91177308-0d34-0410-b5e6-96231b3b80d8
* Support Cygwin assembly generation. The cygwin version of Gnu ASsemblerReid Spencer2005-01-231-11/+37
| | | | | | | | doesn't support certain directives and symbols on cygwin are prefixed with an underscore. This patch makes the necessary adjustments to the output. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19775 91177308-0d34-0410-b5e6-96231b3b80d8
* Let me introduce you to the early stages of the llvm backend for the alpha ↵Andrew Lenharth2005-01-2215-0/+2305
| | | | | | processor git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19764 91177308-0d34-0410-b5e6-96231b3b80d8
* Speed up folding operations into loads.Chris Lattner2005-01-211-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19733 91177308-0d34-0410-b5e6-96231b3b80d8
* The ever-important vanity pass name :)Chris Lattner2005-01-211-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19731 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a FIXME: realize that argument stores are all independent (don't alias)Chris Lattner2005-01-211-6/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19728 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement ADD_PARTS/SUB_PARTS so that 64-bit integer add/sub work. ThisChris Lattner2005-01-201-6/+32
| | | | | | | fixes most of the remaining llc-beta failures. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19716 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a crash compiling 134.perl.Chris Lattner2005-01-201-21/+41
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19711 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a problem where were were literally selecting for INCREASED registerChris Lattner2005-01-191-8/+8
| | | | | | | | | pressure, not decreases register pressure. Fix problem where we accidentally swapped the operands of SHLD, which caused fourinarow to fail. This fixes fourinarow. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19697 91177308-0d34-0410-b5e6-96231b3b80d8
* When commuting these instructions, make sure to actually swap the operands too.Chris Lattner2005-01-191-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19694 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement Regression/CodeGen/X86/rotate.ll: emit rotate instructions (whichChris Lattner2005-01-191-38/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | typically cost 1 cycle) instead of shld/shrd instruction (which are typically 6 or more cycles). This also saves code space. For example, instead of emitting: rotr: mov %EAX, DWORD PTR [%ESP + 4] mov %CL, BYTE PTR [%ESP + 8] shrd %EAX, %EAX, %CL ret rotli: mov %EAX, DWORD PTR [%ESP + 4] shrd %EAX, %EAX, 27 ret Emit: rotr32: mov %CL, BYTE PTR [%ESP + 8] mov %EAX, DWORD PTR [%ESP + 4] ror %EAX, %CL ret rotli32: mov %EAX, DWORD PTR [%ESP + 4] ror %EAX, 27 ret We also emit byte rotate instructions which do not have a sh[lr]d counterpart at all. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19692 91177308-0d34-0410-b5e6-96231b3b80d8
* Add rotate instructions.Chris Lattner2005-01-192-0/+75
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19690 91177308-0d34-0410-b5e6-96231b3b80d8