Chris Lattner
2189a76024
New testcase. Switch instructions that go to switch instructions should be
...
merged.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11796 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-24 07:21:09 +00:00
Alkis Evlogimenos
ec8b8bb9ab
Add predicates for checking if a virtual register has a physical
...
register mapping or a stack slot mapping.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11795 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-24 06:30:36 +00:00
Chris Lattner
b4a482a098
Add some helpful methods for dealing with switch instructions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11794 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-24 06:26:00 +00:00
Chris Lattner
e14ea0804a
Rearrange code a bit
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11793 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-24 05:54:22 +00:00
Chris Lattner
0d56008f53
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11792 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-24 05:38:11 +00:00
Chris Lattner
d1eaebef49
The simplifycfg pass should be able to turn stuff like:
...
if (X == 4 || X == 7)
and
if (X != 4 && X != 7)
into switch instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11791 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-24 05:34:44 +00:00
Chris Lattner
c88c17b0f6
Wow, the description of the 'switch' instruction was out of date.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11790 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-24 04:54:45 +00:00
Chris Lattner
d7d6af9bef
we no longer include boost
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11789 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-24 04:02:20 +00:00
Chris Lattner
bf81213693
Hrm, my find must have been faulty. It didn't remove these as well.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11788 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-24 03:54:22 +00:00
Chris Lattner
e35b06c6c4
Boost is now unneeded, thanks to the fix for PR253, contributed by Reid Spencer!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11787 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-24 03:53:00 +00:00
Chris Lattner
1e1a78a899
Now that's a new feature!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11786 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-24 03:50:24 +00:00
Chris Lattner
7b3d73b7ec
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!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11785 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-24 03:50:05 +00:00
Chris Lattner
5c4d53a4d1
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!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11784 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-24 03:49:29 +00:00
Chris Lattner
c50879dfe6
Noone cares about similarity to boost
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11783 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-24 03:47:25 +00:00
Alkis Evlogimenos
e8124b9ddb
Make enum private as it is an implementation detail.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11782 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-23 23:49:40 +00:00
Alkis Evlogimenos
797428719f
Remove '4Virt' from member function names as it is obvious.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11781 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-23 23:47:10 +00:00
Alkis Evlogimenos
34d9bc9f16
Refactor VirtRegMap out of RegAllocLinearScan as the first part of bug
...
251 (providing a generic machine code rewriter/spiller).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11780 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-23 23:08:11 +00:00
Alkis Evlogimenos
c38aa6dd79
Include Config/config.h for SHLIBEXT.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11779 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-23 22:42:51 +00:00
Brian Gaeke
95ee9bd81f
DataTypes.h is now output from configure, and shortened
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11778 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-23 22:07:26 +00:00
Brian Gaeke
1133eaf376
Add SUBSTing checks for sys/types.h and inttypes.h; add DataTypes.h to AC_OUTPUT.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11777 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-23 22:07:01 +00:00
Brian Gaeke
6c3fd8101d
Regenerated with autoconf-2.57.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11776 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-23 22:07:00 +00:00
Chris Lattner
d8864ce766
Generate much more efficient code in programs like pifft
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11775 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-23 21:46:58 +00:00
Chris Lattner
077a373791
Fix a small typeo in my checkin last night that broke vortex and other programs :(
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11774 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-23 21:46:42 +00:00
Brian Gaeke
6c71bf5f70
Regenerated with autoheader-2.57.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11773 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-23 21:30:39 +00:00
Brian Gaeke
c9a410c772
Regenerated with autoconf-2.57.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11772 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-23 21:30:37 +00:00
Brian Gaeke
2e3bdba34c
Change test for pthreads to use AC_SUBST; add ThreadSupport.h as an AC_OUTPUT.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11771 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-23 21:30:36 +00:00
Brian Gaeke
a6eb7c19a1
ThreadSupport.h is now output from configure.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11770 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-23 21:30:29 +00:00
Brian Gaeke
80ead3133a
Remove check for slist
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11769 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-23 21:12:58 +00:00
Chris Lattner
8adac75298
Fix InstCombine/2004-02-23-ShiftShiftOverflow.ll
...
Also, turn 'shr int %X, 1234' into 'shr int %X, 31'
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11768 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-23 20:30:06 +00:00
Chris Lattner
86171b9203
Test for the other way also
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11767 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-23 20:24:16 +00:00
Chris Lattner
cedfd2c78d
New testcase
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11766 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-23 20:19:51 +00:00
Brian Gaeke
cbc20b451d
Renamed to hash_set.in; move to using autoconf substitution tags.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11765 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-23 18:56:36 +00:00
Brian Gaeke
6cd52446fa
Renamed to hash_map.in; move to using autoconf substitution tags.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11764 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-23 18:56:35 +00:00
Brian Gaeke
c1cf42412e
Add include/Support/hash_map and include/Support/hash_set as AC_OUTPUT files.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11763 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-23 18:56:05 +00:00
Brian Gaeke
6ab1917840
Regenerated using autoheader-2.57.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11762 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-23 18:56:04 +00:00
Brian Gaeke
78e7d4a698
Move HASH_* checks to using AC_SUBST instead of AC_DEFINE. Tighten up some whitespace and comments.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11761 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-23 18:56:03 +00:00
Brian Gaeke
793c5f2aa7
Regenerated using autoconf-2.57.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11760 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-23 18:56:02 +00:00
Alkis Evlogimenos
575649322f
Add number of spilled registers statistic.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11759 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-23 18:45:32 +00:00
Chris Lattner
11d1f21e1d
Fix bugs in finegrainification
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11758 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-23 18:40:08 +00:00
Chris Lattner
0742b59913
Finegrainify namespacification
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11757 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-23 18:38:20 +00:00
Alkis Evlogimenos
e699b16a76
Use MachineBasicBlock::getParent().
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11756 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-23 18:36:38 +00:00
Alkis Evlogimenos
e6394e2b62
Remove implementation of default constructor as it is useless now.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11755 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-23 18:28:35 +00:00
Brian Gaeke
c134395628
Renamed from include/Support/iterator. Doxygenify comments; add autoconf substitution tags.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11754 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-23 18:16:10 +00:00
Brian Gaeke
0e67d4cfe2
Replaced by include/Support/iterator.in.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11753 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-23 18:16:10 +00:00
Brian Gaeke
587bef9d1a
Regenerated with autoheader-2.57.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11752 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-23 18:16:09 +00:00
Brian Gaeke
81d407d503
Add include/Support/iterator as an AC_OUTPUT file.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11751 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-23 18:16:08 +00:00
Brian Gaeke
008bb70f8a
Make all iterator checks use AC_SUBST instead of AC_DEFINE.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11750 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-23 18:16:07 +00:00
Brian Gaeke
295d4b8590
Regenerated with autoconf-2.57.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11749 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-23 18:16:06 +00:00
Alkis Evlogimenos
743d0a1f83
Refactor rewinding code for finding the first terminator of a basic
...
block into MachineBasicBlock::getFirstTerminator().
This also fixes a bug in the implementation of the above in both
RegAllocLocal and InstrSched, where instructions where added after the
terminator if the basic block's only instruction was a terminator (it
shouldn't matter for RegAllocLocal since this case never occurs in
practice).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11748 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-23 18:14:48 +00:00
Chris Lattner
fbc39d5045
Simplify code a bit, don't go off the end of the block, now that the current
...
block we are in might be empty
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11744 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-23 07:42:19 +00:00