summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Implement SimplifyCFG/BrUnwind.llChris Lattner2004-07-201-2/+9
| | | | llvm-svn: 15022
* Move handing of GlobalValues from getReg() to copyConstantToRegister(), thisMisha Brukman2004-07-202-38/+22
| | | | | | will avoid extra register-to-register copies. Thanks to Chris for the idea. llvm-svn: 15019
* Rewrite cast->cast elimination code completely based on the information weChris Lattner2004-07-201-43/+53
| | | | | | | | actually care about. Someday when the cast instruction is gone, we can do better here, but this will do for now. This implements instcombine/cast.ll:test17/18 as well. llvm-svn: 15018
* * Fn args passed in registers are now recorded as used by the call instructionMisha Brukman2004-07-202-12/+36
| | | | | | | | `-> asm printer updated to not print out those registers with the call instr All of Shootout tests now work. Great thanks to Nate Begeman for the patch! llvm-svn: 15015
* * cFP class split into cFP32 and cFP64Misha Brukman2004-07-202-436/+458
| | | | | | | | | | | | | | | * Fn args passed in registers are now recorded as used by the call instruction `-> asm printer updated to not print out those registers with the call instr * Stack frame layout in prolog/epilog fixed, spills and vararg fns now work * float/double to signed int codegen now correct * various single precision float codegen bugs fixed * const integer multiply codegen fixed * select and setcc blocks inserted into the correct place in machine CFG * load of integer constant code optimized All of Shootout tests now work. Great thanks to Nate Begeman for the patch! llvm-svn: 15014
* While I'm at it, don't break codegen of mul by 3,5,9.Chris Lattner2004-07-191-1/+1
| | | | llvm-svn: 15013
* Generate better code for multiplies by negative constants like -4, -1, -9, etc.Chris Lattner2004-07-191-4/+42
| | | | llvm-svn: 15012
* Remove dead code.Alkis Evlogimenos2004-07-191-17/+0
| | | | llvm-svn: 15011
* Fix a bug that occurs when the last instruction in a range is deadChris Lattner2004-07-191-3/+6
| | | | llvm-svn: 15005
* When joining intervals, join intervals in deeply nested loops first. ThisChris Lattner2004-07-191-4/+34
| | | | | | | is a simple change, but seems to improve code a little. For example, on 256.bzip2, we went from 75.0s -> 73.33s (2% speedup). llvm-svn: 15004
* Split joinIntervals into two methodsChris Lattner2004-07-192-84/+89
| | | | llvm-svn: 15003
* bug 122:Reid Spencer2004-07-191-2/+1
| | | | | | | Simplify a conditional operator for a constant result from GV->isNullValue() llvm-svn: 15001
* Inline 4 methodsChris Lattner2004-07-193-18/+18
| | | | llvm-svn: 15000
* There is no need to store the MBB along with the MI any more, we can nowChris Lattner2004-07-193-16/+16
| | | | | | ask instructions for their parent. llvm-svn: 14998
* Simplify the interface to LiveVariables::addVirtualRegister(Killed|Dead)Chris Lattner2004-07-194-9/+10
| | | | llvm-svn: 14997
* Remove the DefBlock element of VarInfo. DefBlock is always DefInst->getParent()Chris Lattner2004-07-191-4/+4
| | | | llvm-svn: 14996
* Err, fix last checkinChris Lattner2004-07-191-1/+1
| | | | llvm-svn: 14995
* Fix bugpoint miscompilation support on OS/XChris Lattner2004-07-191-1/+3
| | | | | | Patch contributed by the fabulous Nate Begeman. llvm-svn: 14994
* Two changes, both very significant:Chris Lattner2004-07-191-11/+2
| | | | | | | | | | * vreg <-> vreg joining now works, enable it unconditionally when joining is enabled (which is the default). * Fix a serious pessimization of spill code where we were saying that a spilled DEF operand was live into the subsequent instruction. This allows for substantially better code when spilling starts to happen. llvm-svn: 14993
* See comments. The live intervals were not coming out of the spiller in sortedChris Lattner2004-07-191-1/+20
| | | | | | | | | order, causing the inactive list in the linearscan list to get unsorted, which basically fuxored everything up severely. These seems to fix the joiner, so with more testing I will enable it by default. llvm-svn: 14992
* Fix assertion to not dereference end!Chris Lattner2004-07-191-2/+2
| | | | llvm-svn: 14991
* Add some asserts that the list of intervals returned by addIntervalsForSpillsChris Lattner2004-07-191-6/+30
| | | | | | | is sorted. This is not the case currently, which is causing no end of problems. llvm-svn: 14990
* remove the mbbi2mbbMap_, which was just keeping track of mbb order anyway.Chris Lattner2004-07-191-54/+73
| | | | | | | | | | Heavily refactor handleVirtualRegisterDef, adding comments and making it more efficient. It is also much easier to follow and convince ones self that it is correct :) Add -debug output to the joine, showing the result of joining the intervals. llvm-svn: 14989
* fill comment to 80 colsChris Lattner2004-07-191-11/+7
| | | | | | remove map that is not needed llvm-svn: 14988
* classof implementations are now inlinedChris Lattner2004-07-191-42/+5
| | | | llvm-svn: 14987
* Method now returns null, dtor is inlinedChris Lattner2004-07-191-13/+3
| | | | llvm-svn: 14983
* A description of what this library is about, reference to the documentationReid Spencer2004-07-181-0/+23
| | | | | | | and a list of don'ts for the library. All so future maintainers don't break the important contract this library has with its user: LLVM. llvm-svn: 14979
* Initiali Makefile for this library.Reid Spencer2004-07-181-0/+13
| | | | llvm-svn: 14977
* Add a workaround for a GCC 3.3.2 bugChris Lattner2004-07-181-1/+6
| | | | llvm-svn: 14976
* Fix a performance regression from the CPR patch, simplify codeChris Lattner2004-07-181-14/+6
| | | | llvm-svn: 14974
* Strip out and simplify some code. This also fixes the regression lastChris Lattner2004-07-181-9/+2
| | | | | | | | | | night compiling cfrac. It did not realize that code like this: int G; int *H = &G; takes the address of G. llvm-svn: 14973
* Minor cleanup, no functionality changeChris Lattner2004-07-181-7/+2
| | | | llvm-svn: 14972
* Fix infinite loopChris Lattner2004-07-182-10/+10
| | | | llvm-svn: 14971
* Remove an if statement that would never be reached.Reid Spencer2004-07-181-3/+1
| | | | llvm-svn: 14968
* Delete a redundant if branch.Reid Spencer2004-07-181-4/+1
| | | | llvm-svn: 14967
* Expand the coercion of constants to include the newly constant Globals.Reid Spencer2004-07-181-2/+1
| | | | llvm-svn: 14966
* Delete a no-op loop.Reid Spencer2004-07-181-9/+0
| | | | llvm-svn: 14965
* Expand the scope to include global values because they are now constantsReid Spencer2004-07-181-1/+1
| | | | | | too. llvm-svn: 14964
* Avoid an unnecessary isa<Constant>.Reid Spencer2004-07-181-3/+1
| | | | llvm-svn: 14963
* Fix infinite loop gccld'ing povrayChris Lattner2004-07-181-8/+6
| | | | llvm-svn: 14962
* CPR FixesChris Lattner2004-07-184-12/+8
| | | | llvm-svn: 14961
* CPR fixesChris Lattner2004-07-182-6/+5
| | | | llvm-svn: 14960
* Remove useless statistic, fix some slightly broken logicChris Lattner2004-07-181-8/+4
| | | | llvm-svn: 14958
* Fix a rather serious bug in previous checkinChris Lattner2004-07-181-1/+0
| | | | llvm-svn: 14957
* Shrink some code.Reid Spencer2004-07-181-4/+1
| | | | llvm-svn: 14956
* bug 122:Reid Spencer2004-07-1817-70/+49
| | | | | | - Replace ConstantPointerRef usage with GlobalValue usage llvm-svn: 14953
* bug 122:Reid Spencer2004-07-181-11/+6
| | | | | | | - Replace ConstantPointerRef usage with GlobalValue usage - Correct isa<Constant> for GlobalValue subclass llvm-svn: 14951
* bug 122:Reid Spencer2004-07-188-75/+51
| | | | | | | | - Replace ConstantPointerRef usage with GlobalValue usage - Minimize redundant isa<GlobalValue> usage - Correct isa<Constant> for GlobalValue subclass llvm-svn: 14950
* bug 122:Reid Spencer2004-07-181-1/+1
| | | | | | - Correct isa<Constant> for GlobalValue subclass llvm-svn: 14949
* bug 122:Reid Spencer2004-07-184-13/+6
| | | | | | - Minimize redundant isa<GlobalValue> usage llvm-svn: 14948
OpenPOWER on IntegriCloud