Commit Graph

43 Commits

Author SHA1 Message Date
Eric Christopher 598198edbc Revert "Temporarily Revert "Add basic loop fusion pass.""
The reversion apparently deleted the test/Transforms directory.

Will be re-reverting again.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@358552 91177308-0d34-0410-b5e6-96231b3b80d8
2019-04-17 04:52:47 +00:00
Eric Christopher 02cc44c1b9 Temporarily Revert "Add basic loop fusion pass."
As it's causing some bot failures (and per request from kbarton).

This reverts commit r358543/ab70da07286e618016e78247e4a24fcb84077fda.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@358546 91177308-0d34-0410-b5e6-96231b3b80d8
2019-04-17 02:12:23 +00:00
Roman Lebedev 02c1957ea8 [NFC][InstCombine] Regenerate set.ll test
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@338965 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-05 08:53:40 +00:00
Craig Topper 3ff9c137a4 [InstCombine] Support vector splats in transformZExtICmp
This patch adds splat support to transformZExtICmp. The test cases are vector versions of tests that failed when commenting out parts of the existing scalar code.

One test didn't vectorize optimize properly due to another bug so a TODO has been added.

Differential Revision: https://reviews.llvm.org/D37253

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@312023 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-29 18:58:13 +00:00
Sanjay Patel 031043b243 [InstCombine] fix code/test comments for r305792; NFC
These diffs were in the last version of the patch in D33342,
but I accidentally committed the previous rev. 


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@305793 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-20 12:45:46 +00:00
Sanjay Patel 3e4188dc6c [InstCombine] try to canonicalize xor-of-icmps to and-of-icmps
We have a large portfolio of folds for and-of-icmps and or-of-icmps in InstSimplify and InstCombine, 
but hardly anything for xor-of-icmps. Rather than trying to rethink and translate all of those folds, 
we can use the truth table definition of xor:

X ^ Y --> (X | Y) & !(X & Y)

...to see if we can convert the xor to and/or and then use the existing folds.

http://rise4fun.com/Alive/J9v

Differential Revision: https://reviews.llvm.org/D33342


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@305792 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-20 12:40:55 +00:00
Sanjay Patel 7905731e09 [InstCombine] add more tests for xor-of-icmps; NFC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@303387 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-18 22:47:57 +00:00
Sanjay Patel dcc06304af [InstCombine] move test and use better checks; NFC
Previously, this test was checking for 'or i1', but that was actually matched by 'xor i1'.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@303364 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-18 17:48:07 +00:00
Sanjay Patel 8c1d623c56 [InstCombine] add test for xor-of-icmps; NFC
This is another form of the problem discussed in D32143.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@303315 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-17 23:22:52 +00:00
Sanjay Patel b5ad2b6b0b [InstCombine] handle icmp i1 X, C early to avoid creating an unknown pattern
The missing optimization for xor-of-icmps still needs to be added, but by
being more efficient (not generating unnecessary logic ops with constants)
we avoid the bug.

See discussion in post-commit comments:
https://reviews.llvm.org/D32143


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@303312 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-17 22:29:40 +00:00
Sanjay Patel 8095d8250c [InstCombine] add test for missing icmp bool fold; NFC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@303310 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-17 22:20:02 +00:00
Sanjay Patel 7ae69db193 fix checks
update_test_checks.py got confused matching the variable names. 


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271844 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-05 17:54:56 +00:00
Sanjay Patel 1518a5c65d [InstCombine] allow vector icmp bool transforms
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271843 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-05 17:49:45 +00:00
Sanjay Patel 4023ab727f add tests to show missing vector transforms
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271842 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-05 17:32:58 +00:00
Sanjay Patel af70a2b1ba update test to use FileCheck
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271840 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-05 17:13:09 +00:00
Dan Gohman f2f6ce65b7 Change tests from "opt %s" to "opt < %s" so that opt doesn't see the
input filename so that opt doesn't print the input filename in the
output so that grep lines in the tests don't unintentionally match
strings in the input filename.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81537 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-11 18:01:28 +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
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
Chris Lattner 5c05fa0d0b new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35851 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-09 23:51:49 +00:00
Reid Spencer e4d87aa2de For PR950:
This patch removes the SetCC instructions and replaces them with the ICmp
and FCmp instructions. The SetCondInst instruction has been removed and
been replaced with ICmpInst and FCmpInst.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32751 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-23 06:05:41 +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 f76f5da19b new testcases
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26395 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-27 02:36:19 +00:00
Chris Lattner e7df1a27f9 new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26130 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-12 02:06:31 +00:00
Chris Lattner 564d20cb9b new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21710 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-06 01:51:05 +00:00
Chris Lattner 3a9a7701f0 new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21689 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-04 19:05:02 +00:00
Chris Lattner 936a775a1b add a new testcase which occurs in 181.mcf
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21489 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-24 06:55:33 +00:00
Chris Lattner e14a9a71d3 New testcases
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16581 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-29 05:06:12 +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 545513918a Reorganize tests because we no longer cannonicalize X != 0 -> cast X to bool
In fact, we plan to eliminate cast to bool entirely.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7805 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-13 05:27:57 +00:00
Chris Lattner f7b447eb69 New tests
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7256 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-23 17:01:18 +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 619c3140e3 Test seteq AND setne
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6628 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-05 20:11:19 +00:00
Chris Lattner 1812a9b92d Modernize testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6600 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-04 04:47:40 +00:00
Chris Lattner 4d6404f762 New testcases
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6505 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-01 03:34:53 +00:00
Chris Lattner 22fae29835 setcc of booleans should always be eliminated
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3284 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-09 23:34:18 +00:00
Chris Lattner d3e7929626 Add some more features that we could instcombine away
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3239 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-03 20:24:58 +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 0097e41993 New testcase for wierd combine opportunity found in bzip2 benchmark
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2580 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-09 19:52:36 +00:00
Chris Lattner 829b79dd8c More testcases I don't want to forget about
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2480 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-06 05:51:26 +00:00