summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
Commit message (Collapse)AuthorAgeFilesLines
...
* Adjust to changes in LowerCallTo interfaceChris Lattner2005-01-081-30/+39
| | | | | | Minor bugfixes llvm-svn: 19376
* Wrap long line.Chris Lattner2005-01-081-2/+2
| | | | llvm-svn: 19367
* The X86 instruction selector already handles codegen of:Chris Lattner2005-01-081-8/+33
| | | | | | | | | | | store float 123.45, float* %P as an integer store. This adds handling of float immediate stores as integers for arguments passed function calls. This is now tested by CodeGen/X86/store-fp-constant.ll llvm-svn: 19364
* Allow the selection-dag based selector to be diabled with -disable-pattern-isel.Chris Lattner2005-01-071-2/+11
| | | | | | | For now, this is the default, as the current selector is missing some big pieces. To enable the new selector, pass -disable-pattern-isel=false to llc or lli. llvm-svn: 19335
* Reimplementation of the X86 pattern isel. This is still missing many largeChris Lattner2005-01-071-0/+1415
| | | | | | pieces, but can already do amazing things in some cases. llvm-svn: 19334
* This file is now dead.Chris Lattner2005-01-071-131/+0
| | | | llvm-svn: 19333
* Add a new prototypeChris Lattner2005-01-071-2/+7
| | | | llvm-svn: 19332
* First draft of new Target interfaceChris Lattner2005-01-071-0/+48
| | | | llvm-svn: 19324
* Codegen -1 and -0.0 more efficiently. This implements ↵Chris Lattner2005-01-061-2/+9
| | | | | | CodeGen/X86/negatize_zero.ll llvm-svn: 19313
* Fix CBE code so that it compiles with VC++.Jeff Cohen2005-01-061-1/+1
| | | | llvm-svn: 19303
* 1. If a double FP constant must be put into a constant pool, but it can beChris Lattner2005-01-051-9/+23
| | | | | | | | | precisely represented as a float, put it into the constant pool as a float. 2. Use the cbw/cwd/cdq instructions instead of an explicit SAR for signed division. llvm-svn: 19291
* Minor optimization to allocate R8 registers in a better order.Chris Lattner2005-01-051-1/+7
| | | | llvm-svn: 19289
* Revert elimination of global variable hack... still needed.Jeff Cohen2005-01-031-0/+7
| | | | llvm-svn: 19273
* ADC and IMUL are also commutable.Chris Lattner2005-01-031-0/+4
| | | | llvm-svn: 19264
* This hunk:Chris Lattner2005-01-021-2/+2
| | | | | | | | | | | - unsigned TrueValue = getReg(TrueVal, BB, BB->begin()); + unsigned TrueValue = getReg(TrueVal); Fixes the PPC regressions from last night. The other hunk is just a clarity improvement. llvm-svn: 19263
* Eliminate the use of the global variable hack in the X86 target that was usedJeff Cohen2005-01-021-7/+0
| | | | | | | to get Visual Studio to link in X86.lib to the executables that need it. There is another way of doing it. llvm-svn: 19252
* Disable 2->3 address promotion of add and inc instructions to LEA's. InChris Lattner2005-01-021-0/+5
| | | | | | | | addition to being three address, LEA's don't set the flags. This fixes 186.crafty. llvm-svn: 19251
* Add a new method.Chris Lattner2005-01-021-1/+10
| | | | llvm-svn: 19249
* Add support for SETNPr to lower to memory form.Chris Lattner2005-01-021-0/+1
| | | | llvm-svn: 19248
* Implement the convertToThreeAddress method, add support for inverting JP/JNPChris Lattner2005-01-022-0/+93
| | | | | | branches. llvm-svn: 19247
* Two changes here:Chris Lattner2005-01-021-1/+30
| | | | | | | | 1. Add new instructions for checking parity flags: JP, JNP, SETP, SETNP. 2. Set the isCommutable and isPromotableTo3Address bits on several instructions. llvm-svn: 19246
* Add some bits that can be set for instructions.Chris Lattner2005-01-021-0/+2
| | | | llvm-svn: 19241
* Fix a FIXME: Select instructions on longs were miscompiled.Chris Lattner2005-01-011-19/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While we're at it, improve codegen of select instructions. For this testcase: int %test(bool %C, int %A, int %B) { %D = select bool %C, int %A, int %B ret int %D } We used to generate this code: _test: cmpwi cr0, r3, 0 bne .LBB_test_2 ; .LBB_test_1: ; b .LBB_test_3 ; .LBB_test_2: ; or r5, r4, r4 .LBB_test_3: ; or r3, r5, r5 blr Now we emit: _test: cmpwi cr0, r3, 0 bne .LBB_test_2 ; .LBB_test_1: ; or r4, r5, r5 .LBB_test_2: ; or r3, r4, r4 blr -Chris llvm-svn: 19214
* Substantially improve the code generated by non-folded setcc instructions.Chris Lattner2005-01-011-33/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In particular, instead of compiling this: bool %test(int %A, int %B) { %C = setlt int %A, %B ret bool %C } to this: test: save %sp, -96, %sp subcc %i0, %i1, %g0 bl .LBBtest_1 ! nop ba .LBBtest_2 ! nop .LBBtest_1: ! or %g0, 1, %i0 ba .LBBtest_3 ! nop .LBBtest_2: ! or %g0, 0, %i0 ba .LBBtest_3 ! nop .LBBtest_3: ! restore %g0, %g0, %g0 retl nop We now compile it to this: test: save %sp, -96, %sp subcc %i0, %i1, %g0 or %g0, 1, %i0 bl .LBBtest_2 ! nop .LBBtest_1: ! or %g0, %g0, %i0 .LBBtest_2: ! restore %g0, %g0, %g0 retl nop llvm-svn: 19213
* Fix PR490Chris Lattner2004-12-291-0/+6
| | | | | | Fix testcase CodeGen/CBackend/2004-12-28-LogicalConstantExprs.ll llvm-svn: 19176
* Remove unused enum valueChris Lattner2004-12-171-2/+2
| | | | llvm-svn: 19024
* Remove unused #includeChris Lattner2004-12-171-1/+1
| | | | llvm-svn: 19021
* Change the sentinalChris Lattner2004-12-171-2/+2
| | | | llvm-svn: 19007
* Create a stack slot for the return address lazily instead of eagerly. ThisChris Lattner2004-12-171-4/+8
| | | | | | | save small amounts of time for functions that don't call llvm.returnaddress or llvm.frameaddress (which is almost all functions). llvm-svn: 19006
* Chris is a pain ;) Removing reassociate.Tanya Lattner2004-12-161-6/+0
| | | | llvm-svn: 19005
* Removing commented out lines.Tanya Lattner2004-12-161-8/+3
| | | | llvm-svn: 19004
* Removed LICM and GCSE.Tanya Lattner2004-12-161-3/+3
| | | | llvm-svn: 19003
* Remove dead #includeChris Lattner2004-12-161-1/+0
| | | | llvm-svn: 18994
* Adjust to changes in asmwriter filenamesChris Lattner2004-12-162-4/+4
| | | | llvm-svn: 18987
* Specify all of the targets built.Chris Lattner2004-12-161-1/+1
| | | | llvm-svn: 18985
* Use the rules in Makefile.rules to build SparcV9GenCodeEmitter.inc insteadChris Lattner2004-12-162-14/+11
| | | | | | of custom rules. llvm-svn: 18984
* Fix headerChris Lattner2004-12-161-1/+1
| | | | llvm-svn: 18983
* Factor out common .td file chunks.Chris Lattner2004-12-164-27/+8
| | | | llvm-svn: 18982
* Fix PR485, instead of emitting zero sized arrays, emit arrays of size 1.Chris Lattner2004-12-151-0/+1
| | | | llvm-svn: 18974
* The mystery of Olden/tsp solved, and more opportunities for speedup.Brian Gaeke2004-12-141-0/+6
| | | | llvm-svn: 18932
* Get rid of shifts by zero in most cases.Brian Gaeke2004-12-142-12/+6
| | | | llvm-svn: 18931
* When generating code for X86 targets, make sure the fp control word is setChris Lattner2004-12-131-0/+13
| | | | | | to 64-bit precision, not 80 bits. llvm-svn: 18915
* Add some notesChris Lattner2004-12-131-1/+21
| | | | llvm-svn: 18911
* Set the rounding mode for the X86 FPU to 64-bits instead of 80-bits. WeChris Lattner2004-12-131-0/+22
| | | | | | | | | | | don't support long double anyway, and this gives us FP results closer to other targets. This also speeds up 179.art from 41.4s to 18.32s, by eliminating a problem with extra precision that causes an FP == comparison to fail (leading to extra loop iterations). llvm-svn: 18895
* Add V8 SPEC status.Brian Gaeke2004-12-131-0/+10
| | | | llvm-svn: 18844
* Fix Regression/CodeGen/PowerPC/2004-12-12-ZeroSizeCommon.ll, and all programsChris Lattner2004-12-121-0/+1
| | | | | | when compiled with debug information. llvm-svn: 18835
* CSE calls to getTypeSize.Chris Lattner2004-12-121-3/+2
| | | | llvm-svn: 18833
* Use the target triple to pick this target.Chris Lattner2004-12-124-3/+23
| | | | llvm-svn: 18830
* Complete the list of MultiSource failures.Brian Gaeke2004-12-121-5/+12
| | | | llvm-svn: 18826
* hbd should be working now.Brian Gaeke2004-12-121-1/+0
| | | | llvm-svn: 18824
OpenPOWER on IntegriCloud