John Criswell
b086ac893e
Fixed minor typos.
...
llvm-svn: 11800
2004-02-24 16:13:56 +00:00
Chris Lattner
7845e4f7f0
If a block is made dead, make sure to promptly remove it.
...
llvm-svn: 11799
2004-02-24 16:09:21 +00:00
Alkis Evlogimenos
6d7150e9bb
Move machine code rewriter and spiller outside the register
...
allocator.
The implementation is completely rewritten and now employs several
optimizations not exercised before. For example for 164.gzip we have
997 loads and 699 stores vs the 1221 loads and 880 stores we have
before.
llvm-svn: 11798
2004-02-24 08:58:30 +00:00
Chris Lattner
d678669018
Implement SimplifyCFG/switch_switch_fold.ll
...
This case occurs many times in various benchmarks, especially when combined
with the previous patch. This allows it to get stuff like:
if (X == 4 || X == 3)
if (X == 5 || X == 8)
and
switch (X) {
case 4: case 5: case 6:
if (X == 4 || X == 5)
llvm-svn: 11797
2004-02-24 07:23:58 +00:00
Chris Lattner
d75c0eef9f
New testcase. Switch instructions that go to switch instructions should be
...
merged.
llvm-svn: 11796
2004-02-24 07:21:09 +00:00
Alkis Evlogimenos
042f01039b
Add predicates for checking if a virtual register has a physical
...
register mapping or a stack slot mapping.
llvm-svn: 11795
2004-02-24 06:30:36 +00:00
Chris Lattner
9f2c8c7ea5
Add some helpful methods for dealing with switch instructions
...
llvm-svn: 11794
2004-02-24 06:26:00 +00:00
Chris Lattner
1293e1d00c
Rearrange code a bit
...
llvm-svn: 11793
2004-02-24 05:54:22 +00:00
Chris Lattner
e5db7dc4c6
Implement: test/Regression/Transforms/SimplifyCFG/switch_create.ll
...
This turns code like this:
if (X == 4 | X == 7)
and
if (X != 4 & X != 7)
into switch instructions.
llvm-svn: 11792
2004-02-24 05:38:11 +00:00
Chris Lattner
90da2d674f
The simplifycfg pass should be able to turn stuff like:
...
if (X == 4 || X == 7)
and
if (X != 4 && X != 7)
into switch instructions.
llvm-svn: 11791
2004-02-24 05:34:44 +00:00
Chris Lattner
2b7ba0ef67
Wow, the description of the 'switch' instruction was out of date.
...
llvm-svn: 11790
2004-02-24 04:54:45 +00:00
Chris Lattner
dc65f68a98
we no longer include boost
...
llvm-svn: 11789
2004-02-24 04:02:20 +00:00
Chris Lattner
da760e3e77
Hrm, my find must have been faulty. It didn't remove these as well.
...
llvm-svn: 11788
2004-02-24 03:54:22 +00:00
Chris Lattner
8138c7e4a2
Boost is now unneeded, thanks to the fix for PR253, contributed by Reid Spencer!
...
llvm-svn: 11787
2004-02-24 03:53:00 +00:00
Chris Lattner
4c3548fcb9
Now that's a new feature!
...
llvm-svn: 11786
2004-02-24 03:50:24 +00:00
Chris Lattner
e532a181c7
Use the new LLVM is_class template instead of the boost one, allowing us to
...
remove our dependency on boost! Thanks to Reid Spencer for making this possible!
llvm-svn: 11785
2004-02-24 03:50:05 +00:00
Chris Lattner
341a8ac05c
Check in a new type_traits header which provides the mysterious is_class
...
template. Thanks go out to Reid Spencer for skillfully extracting this
from boost!
llvm-svn: 11784
2004-02-24 03:49:29 +00:00
Chris Lattner
54abbdd4db
Noone cares about similarity to boost
...
llvm-svn: 11783
2004-02-24 03:47:25 +00:00
Alkis Evlogimenos
0d0db88889
Make enum private as it is an implementation detail.
...
llvm-svn: 11782
2004-02-23 23:49:40 +00:00
Alkis Evlogimenos
9344a740be
Remove '4Virt' from member function names as it is obvious.
...
llvm-svn: 11781
2004-02-23 23:47:10 +00:00
Alkis Evlogimenos
d192266264
Refactor VirtRegMap out of RegAllocLinearScan as the first part of bug
...
251 (providing a generic machine code rewriter/spiller).
llvm-svn: 11780
2004-02-23 23:08:11 +00:00
Alkis Evlogimenos
15ac9b976d
Include Config/config.h for SHLIBEXT.
...
llvm-svn: 11779
2004-02-23 22:42:51 +00:00
Brian Gaeke
74d4e2a05c
DataTypes.h is now output from configure, and shortened
...
llvm-svn: 11778
2004-02-23 22:07:26 +00:00
Brian Gaeke
bee6716069
Add SUBSTing checks for sys/types.h and inttypes.h; add DataTypes.h to AC_OUTPUT.
...
llvm-svn: 11777
2004-02-23 22:07:01 +00:00
Brian Gaeke
e018bc5909
Regenerated with autoconf-2.57.
...
llvm-svn: 11776
2004-02-23 22:07:00 +00:00
Chris Lattner
78800ae270
Generate much more efficient code in programs like pifft
...
llvm-svn: 11775
2004-02-23 21:46:58 +00:00
Chris Lattner
7fa6519e07
Fix a small typeo in my checkin last night that broke vortex and other programs :(
...
llvm-svn: 11774
2004-02-23 21:46:42 +00:00
Brian Gaeke
dd067686e1
Regenerated with autoheader-2.57.
...
llvm-svn: 11773
2004-02-23 21:30:39 +00:00
Brian Gaeke
56c59bf770
Regenerated with autoconf-2.57.
...
llvm-svn: 11772
2004-02-23 21:30:37 +00:00
Brian Gaeke
a6f54c5933
Change test for pthreads to use AC_SUBST; add ThreadSupport.h as an AC_OUTPUT.
...
llvm-svn: 11771
2004-02-23 21:30:36 +00:00
Brian Gaeke
6620134331
ThreadSupport.h is now output from configure.
...
llvm-svn: 11770
2004-02-23 21:30:29 +00:00
Brian Gaeke
3918efe30b
Remove check for slist
...
llvm-svn: 11769
2004-02-23 21:12:58 +00:00
Chris Lattner
253f77f2a7
Fix InstCombine/2004-02-23-ShiftShiftOverflow.ll
...
Also, turn 'shr int %X, 1234' into 'shr int %X, 31'
llvm-svn: 11768
2004-02-23 20:30:06 +00:00
Chris Lattner
39c2703ad4
Test for the other way also
...
llvm-svn: 11767
2004-02-23 20:24:16 +00:00
Chris Lattner
745388980f
New testcase
...
llvm-svn: 11766
2004-02-23 20:19:51 +00:00
Brian Gaeke
7715d8e2ba
Renamed to hash_set.in; move to using autoconf substitution tags.
...
llvm-svn: 11765
2004-02-23 18:56:36 +00:00
Brian Gaeke
3d632e3fd5
Renamed to hash_map.in; move to using autoconf substitution tags.
...
llvm-svn: 11764
2004-02-23 18:56:35 +00:00
Brian Gaeke
df2b904403
Add include/Support/hash_map and include/Support/hash_set as AC_OUTPUT files.
...
llvm-svn: 11763
2004-02-23 18:56:05 +00:00
Brian Gaeke
13ca0bda3f
Regenerated using autoheader-2.57.
...
llvm-svn: 11762
2004-02-23 18:56:04 +00:00
Brian Gaeke
dc1f8bbbb1
Move HASH_* checks to using AC_SUBST instead of AC_DEFINE. Tighten up some whitespace and comments.
...
llvm-svn: 11761
2004-02-23 18:56:03 +00:00
Brian Gaeke
845d76139a
Regenerated using autoconf-2.57.
...
llvm-svn: 11760
2004-02-23 18:56:02 +00:00
Alkis Evlogimenos
34f28e5d3f
Add number of spilled registers statistic.
...
llvm-svn: 11759
2004-02-23 18:45:32 +00:00
Chris Lattner
82e1a3657d
Fix bugs in finegrainification
...
llvm-svn: 11758
2004-02-23 18:40:08 +00:00
Chris Lattner
1bf9dde4a1
Finegrainify namespacification
...
llvm-svn: 11757
2004-02-23 18:38:20 +00:00
Alkis Evlogimenos
82a1d7d30e
Use MachineBasicBlock::getParent().
...
llvm-svn: 11756
2004-02-23 18:36:38 +00:00
Alkis Evlogimenos
2863fbd178
Remove implementation of default constructor as it is useless now.
...
llvm-svn: 11755
2004-02-23 18:28:35 +00:00
Brian Gaeke
2cb1841335
Renamed from include/Support/iterator. Doxygenify comments; add autoconf substitution tags.
...
llvm-svn: 11754
2004-02-23 18:16:10 +00:00
Brian Gaeke
560c89141f
Replaced by include/Support/iterator.in.
...
llvm-svn: 11753
2004-02-23 18:16:10 +00:00
Brian Gaeke
c84da72de7
Regenerated with autoheader-2.57.
...
llvm-svn: 11752
2004-02-23 18:16:09 +00:00
Brian Gaeke
3d8b2af8a7
Add include/Support/iterator as an AC_OUTPUT file.
...
llvm-svn: 11751
2004-02-23 18:16:08 +00:00