Chris Lattner
11493aa471
tidy up test.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112321 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-27 23:15:21 +00:00
Chris Lattner
4ece577019
Enhance the shift propagator to handle the case when you have:
...
A = shl x, 42
...
B = lshr ..., 38
which can be transformed into:
A = shl x, 4
...
iff we can prove that the would-be-shifted-in bits
are already zero. This eliminates two shifts in the testcase
and allows eliminate of the whole i128 chain in the real example.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112314 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-27 22:53:44 +00:00
Chris Lattner
29cc0b3660
Implement a pretty general logical shift propagation
...
framework, which is good at ripping through bitfield
operations. This generalize a bunch of the existing
xforms that instcombine does, such as
(x << c) >> c -> and
to handle intermediate logical nodes. This is useful for
ripping up the "promote to large integer" code produced by
SRoA.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112304 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-27 22:24:38 +00:00
Chris Lattner
d07ad66791
merge and filecheckize test
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112289 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-27 20:44:45 +00:00
Chris Lattner
7673290a96
merge two tests
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112288 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-27 20:42:10 +00:00
Chris Lattner
90d4f3a077
merge test into shift.ll, this also eliminates awful grepping on -stats output
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83802 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-11 22:39:58 +00:00
Chris Lattner
490ff6310a
convert to filecheck.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83801 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-11 22:36:59 +00:00
Dan Gohman
3e054fe9ef
Use opt -S instead of piping bitcode output through llvm-dis.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81257 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-08 22:34:10 +00:00
Dan Gohman
b1e1e82c54
Change these tests to feed the assembly files to opt directly, instead
...
of using llvm-as, now that opt supports this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81226 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-08 16:50:01 +00:00
Chris Lattner
4f9797d683
two changes:
...
1. Make instcombine always canonicalize trunc x to i1 into an icmp(x&1). This
exposes the AND to other instcombine xforms and is more of what the code
generator expects.
2. Rewrite the remaining trunc pattern match to use 'match', which
simplifies it a lot.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67635 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-24 18:15:30 +00:00
Tanya Lattner
76806b6a43
Remove llvm-upgrade and update tests.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48103 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-09 08:16:40 +00:00
Tanya Lattner
ec9a35a6f9
Remove llvm-upgrade and update test cases.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47793 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-01 09:15:35 +00:00
Reid Spencer
2b544beda3
For PR1319:
...
Upgrade tests to work with new llvm.exp version of llvm_runtest.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36013 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-14 20:13:02 +00:00
Reid Spencer
69ccadd753
Use the llvm-upgrade program to upgrade llvm assembly.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32115 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-02 04:23:10 +00:00
Chris Lattner
82b98a0646
Make these tests fail if opt crashes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26127 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-12 01:32:58 +00:00
Chris Lattner
6c7fbb8503
A case that instcombine is not catching.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25127 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-06 07:48:28 +00:00
Chris Lattner
ab4ea6e980
new testcase
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23380 91177308-0d34-0410-b5e6-96231b3b80d8
2005-09-18 05:10:39 +00:00
Chris Lattner
a9c83c73da
new testcase
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21774 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-08 17:31:24 +00:00
Chris Lattner
1b50d062c8
new testcase
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21714 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-06 04:11:32 +00:00
Chris Lattner
59359f1e84
New testcases
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16547 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-28 18:18:35 +00:00
Chris Lattner
907c7c7dd1
Testcases for rev 250 of InstructionCombining.cpp
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16522 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-27 16:21:26 +00:00
Chris Lattner
256b7a452b
New testcase
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13739 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-25 06:30:49 +00:00
Chris Lattner
1c48527330
Testcase to make sure we can apply the shift to the operands of the select,
...
eliminating the shifts
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12801 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-09 23:47:24 +00:00
Misha Brukman
e78760e179
Renamed as' =>
llvm-as', dis' =>
llvm-dis', link' =>
llvm-link'.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8558 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-16 15:29:54 +00:00
Chris Lattner
ab04c365b8
Update test to represent new cannonicalization rules for multiplies
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7804 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-13 04:20:06 +00:00
Chris Lattner
dc20a3e7d3
Right, instcombine cannot remove ((X >> C) << C) if it's signed.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7790 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-12 21:22:51 +00:00
Chris Lattner
b310196abc
New testcases
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7789 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-12 21:20:49 +00:00
Chris Lattner
709ad40dc8
New testcases for signed shifts
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7294 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-24 18:38:09 +00:00
Chris Lattner
060c1f816c
Remove usage of grep-not script
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6966 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-28 23:32:04 +00:00
Chris Lattner
c6cab24151
Convert scripts from using explicit control flow to use the new grep-not script
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6955 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-28 22:44:42 +00:00
Chris Lattner
c232870b6f
Add a bunch of new tests
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5730 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-10 19:16:20 +00:00
Chris Lattner
a66e2fa195
Modernize testcase
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5726 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-10 18:20:53 +00:00
Chris Lattner
af1b4ad24c
Add new testcase for arithmetic shr of -1
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4069 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-08 16:10:35 +00:00
Chris Lattner
dabb94adc1
Check for cannonicalization of shl X, 1 -> add X, X
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3670 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-10 23:03:10 +00:00
Chris Lattner
4a6e4b30b4
These tests should not run -dce pass to cleanup instcombine.
...
If instcombine is making dead instructions, ALL that should be used is -die
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3221 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-02 19:27:58 +00:00
Chris Lattner
79a31b1782
Fix testcase, the 'shift out all bits' doesn't apply to signed types.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2482 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-06 16:11:31 +00:00
Chris Lattner
33a90b18e0
New testcases so I don't forget about these algebraic simplifications
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2479 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-06 05:43:36 +00:00