1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 19:42:54 +02:00
Commit Graph

6959 Commits

Author SHA1 Message Date
Chris Lattner
c07b7fff45 Fix a bug that occurs when the last instruction in a range is dead
llvm-svn: 15005
2004-07-19 15:16:53 +00:00
Chris Lattner
bc53c119ac When joining intervals, join intervals in deeply nested loops first. This
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
2004-07-19 14:40:29 +00:00
Chris Lattner
997f36e53f Split joinIntervals into two methods
llvm-svn: 15003
2004-07-19 14:08:10 +00:00
Reid Spencer
0bdb3605c7 bug 122:
Simplify a conditional operator for a constant result from
GV->isNullValue()

llvm-svn: 15001
2004-07-19 13:25:02 +00:00
Chris Lattner
7cdfccd573 Inline 4 methods
llvm-svn: 15000
2004-07-19 07:52:35 +00:00
Chris Lattner
22728e2f27 There is no need to store the MBB along with the MI any more, we can now
ask instructions for their parent.

llvm-svn: 14998
2004-07-19 07:04:55 +00:00
Chris Lattner
6c34920110 Simplify the interface to LiveVariables::addVirtualRegister(Killed|Dead)
llvm-svn: 14997
2004-07-19 06:55:21 +00:00
Chris Lattner
53fa752649 Remove the DefBlock element of VarInfo. DefBlock is always DefInst->getParent()
llvm-svn: 14996
2004-07-19 06:26:50 +00:00
Chris Lattner
5ef1aa2870 Err, fix last checkin
llvm-svn: 14995
2004-07-19 06:03:51 +00:00
Chris Lattner
b1e00216d7 Fix bugpoint miscompilation support on OS/X
Patch contributed by the fabulous Nate Begeman.

llvm-svn: 14994
2004-07-19 06:00:17 +00:00
Chris Lattner
e7104f6f7b Two changes, both very significant:
* 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
2004-07-19 05:55:50 +00:00
Chris Lattner
70d06b5c25 See comments. The live intervals were not coming out of the spiller in sorted
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
2004-07-19 05:15:10 +00:00
Chris Lattner
f5bdaf62f8 Fix assertion to not dereference end!
llvm-svn: 14991
2004-07-19 05:02:09 +00:00
Chris Lattner
42b44d3d1c Add some asserts that the list of intervals returned by addIntervalsForSpills
is sorted.  This is not the case currently, which is causing no end of
problems.

llvm-svn: 14990
2004-07-19 04:47:36 +00:00
Chris Lattner
10caeead75 remove the mbbi2mbbMap_, which was just keeping track of mbb order anyway.
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
2004-07-19 02:15:56 +00:00
Chris Lattner
caba8651cd fill comment to 80 cols
remove map that is not needed

llvm-svn: 14988
2004-07-19 02:13:59 +00:00
Chris Lattner
6dbdddfa28 classof implementations are now inlined
llvm-svn: 14987
2004-07-19 00:59:10 +00:00
Chris Lattner
1353dd5917 Method now returns null, dtor is inlined
llvm-svn: 14983
2004-07-19 00:55:35 +00:00
Reid Spencer
5be5bc8453 A description of what this library is about, reference to the documentation
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
2004-07-18 22:33:08 +00:00
Reid Spencer
27fc19e4fc Initiali Makefile for this library.
llvm-svn: 14977
2004-07-18 22:31:28 +00:00
Chris Lattner
9d3ff75eba Add a workaround for a GCC 3.3.2 bug
llvm-svn: 14976
2004-07-18 21:56:20 +00:00
Chris Lattner
ffc1df7399 Fix a performance regression from the CPR patch, simplify code
llvm-svn: 14974
2004-07-18 21:34:16 +00:00
Chris Lattner
9de817e13e Strip out and simplify some code. This also fixes the regression last
night compiling cfrac.  It did not realize that code like this:

int G; int *H = &G;

takes the address of G.

llvm-svn: 14973
2004-07-18 19:56:20 +00:00
Chris Lattner
8c4d6aa7e8 Minor cleanup, no functionality change
llvm-svn: 14972
2004-07-18 18:59:44 +00:00
Chris Lattner
8eb32809bc Fix infinite loop
llvm-svn: 14971
2004-07-18 18:45:01 +00:00
Reid Spencer
7b03169e0e Remove an if statement that would never be reached.
llvm-svn: 14968
2004-07-18 08:41:47 +00:00
Reid Spencer
6d26720976 Delete a redundant if branch.
llvm-svn: 14967
2004-07-18 08:34:52 +00:00
Reid Spencer
3a18547fcb Expand the coercion of constants to include the newly constant Globals.
llvm-svn: 14966
2004-07-18 08:34:19 +00:00
Reid Spencer
2b7bae6b4f Delete a no-op loop.
llvm-svn: 14965
2004-07-18 08:32:43 +00:00
Reid Spencer
7236678c32 Expand the scope to include global values because they are now constants
too.

llvm-svn: 14964
2004-07-18 08:32:10 +00:00
Reid Spencer
90795f0825 Avoid an unnecessary isa<Constant>.
llvm-svn: 14963
2004-07-18 08:31:18 +00:00
Chris Lattner
80105701f5 Fix infinite loop gccld'ing povray
llvm-svn: 14962
2004-07-18 08:12:57 +00:00
Chris Lattner
c62e642a1a CPR Fixes
llvm-svn: 14961
2004-07-18 07:29:35 +00:00
Chris Lattner
b56b3b5eeb CPR fixes
llvm-svn: 14960
2004-07-18 07:26:17 +00:00
Chris Lattner
71f281984d Remove useless statistic, fix some slightly broken logic
llvm-svn: 14958
2004-07-18 07:22:58 +00:00
Chris Lattner
99e46b2e81 Fix a rather serious bug in previous checkin
llvm-svn: 14957
2004-07-18 06:56:58 +00:00
Reid Spencer
78477eb62b Shrink some code.
llvm-svn: 14956
2004-07-18 01:04:19 +00:00
Reid Spencer
7f33869f9b bug 122:
- Replace ConstantPointerRef usage with GlobalValue usage

llvm-svn: 14953
2004-07-18 00:44:37 +00:00
Reid Spencer
b6c894409b bug 122:
- Replace ConstantPointerRef usage with GlobalValue usage
- Correct isa<Constant> for GlobalValue subclass

llvm-svn: 14951
2004-07-18 00:41:27 +00:00
Reid Spencer
14243817ec bug 122:
- Replace ConstantPointerRef usage with GlobalValue usage
- Minimize redundant isa<GlobalValue> usage
- Correct isa<Constant> for GlobalValue subclass

llvm-svn: 14950
2004-07-18 00:38:32 +00:00
Reid Spencer
2610477ab2 bug 122:
- Correct isa<Constant> for GlobalValue subclass

llvm-svn: 14949
2004-07-18 00:37:35 +00:00
Reid Spencer
51149979ce bug 122:
- Minimize redundant isa<GlobalValue> usage

llvm-svn: 14948
2004-07-18 00:32:14 +00:00
Reid Spencer
2a8914b64b bug 122:
- Replace ConstantPointerRef usage with GlobalValue usage
- Correct isa<Constant> for GlobalValue subclass

llvm-svn: 14947
2004-07-18 00:31:05 +00:00
Reid Spencer
66f4e3dc24 bug 122:
- Minimize redundant isa<GlobalValue> usage
- Correct isa<Constant> for GlobalValue subclass

llvm-svn: 14946
2004-07-18 00:29:57 +00:00
Reid Spencer
2bfe4ec3cf bug 122:
- Replace ConstantPointerRef usage with GlobalValue usage
- Rename methods to get ride of ConstantPointerRef usage

llvm-svn: 14945
2004-07-18 00:25:04 +00:00
Reid Spencer
55d436cc07 bug 122:
- Excise dead CPR procesing.

llvm-svn: 14944
2004-07-18 00:23:51 +00:00
Reid Spencer
56ec516cb4 bug 122:
- Replace ConstantPointerRef usage with GlobalValue usage
- Correct test ordering for GlobalValue subclass

llvm-svn: 14943
2004-07-18 00:19:45 +00:00
Reid Spencer
b339652b44 bug 122:
- Replace ConstantPointerRef usage with GlobalValue usage
- Minimize redundant isa<GlobalValue> usage
- Correct isa<Constant> for GlobalValue subclass

llvm-svn: 14942
2004-07-18 00:18:30 +00:00
Reid Spencer
f460e10236 bug 122:
- Correct ordering of tests because for GlobalValue isa Constant

llvm-svn: 14941
2004-07-18 00:16:21 +00:00
Reid Spencer
4cb4f5f488 User ValueListTy as the type of the ValueList. This avoides the ValueList
from being treated like a Function which can cause the contents of the list
to be come invalidated.

llvm-svn: 14940
2004-07-18 00:13:12 +00:00