summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/JumpThreading/crash.ll
Commit message (Collapse)AuthorAgeFilesLines
* Revert "Temporarily Revert "Add basic loop fusion pass.""Eric Christopher2019-04-171-0/+626
| | | | | | | | The reversion apparently deleted the test/Transforms directory. Will be re-reverting again. llvm-svn: 358552
* Temporarily Revert "Add basic loop fusion pass."Eric Christopher2019-04-171-626/+0
| | | | | | | | As it's causing some bot failures (and per request from kbarton). This reverts commit r358543/ab70da07286e618016e78247e4a24fcb84077fda. llvm-svn: 358546
* [JumpThreading] Fix exponential time algorithm computing known values.Eli Friedman2018-11-091-1/+61
| | | | | | | | | | | | | | | | | | | ComputeValueKnownInPredecessors has a "visited" set to prevent infinite loops, since a value can be visited more than once. However, the implementation didn't prevent the algorithm from taking exponential time. Instead of removing elements from the RecursionSet one at a time, we should keep around the whole set until ComputeValueKnownInPredecessors finishes, then discard it. The testcase is synthetic because I was having trouble effectively reducing the original. But it's basically the same idea. Instead of failing, we could theoretically cache the result instead. But I don't think it would help substantially in practice. Differential Revision: https://reviews.llvm.org/D54239 llvm-svn: 346562
* [opaque pointer type] Add textual IR support for explicit type parameter to ↵David Blaikie2015-02-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | load instruction Essentially the same as the GEP change in r230786. A similar migration script can be used to update test cases, though a few more test case improvements/changes were required this time around: (r229269-r229278) import fileinput import sys import re pat = re.compile(r"((?:=|:|^)\s*load (?:atomic )?(?:volatile )?(.*?))(| addrspace\(\d+\) *)\*($| *(?:%|@|null|undef|blockaddress|getelementptr|addrspacecast|bitcast|inttoptr|\[\[[a-zA-Z]|\{\{).*$)") for line in sys.stdin: sys.stdout.write(re.sub(pat, r"\1, \2\3*\4", line)) Reviewers: rafael, dexonsmith, grosser Differential Revision: http://reviews.llvm.org/D7649 llvm-svn: 230794
* Add a test case for PR14233.Chandler Carruth2012-11-011-0/+53
| | | | llvm-svn: 167224
* Upgrade syntax of tests using volatile instructions to use 'load volatile' ↵Chris Lattner2011-11-271-1/+1
| | | | | | instead of 'volatile load', which is archaic. llvm-svn: 145171
* remove asmparser support for the old getresult instruction, which has been ↵Chris Lattner2011-06-171-1/+1
| | | | | | subsumed by extractvalue. llvm-svn: 133247
* Fix PR8247: JumpThreading can cause a block to become unreachable while ↵Owen Anderson2010-09-291-0/+27
| | | | | | | | | | still having predecessor, if it is part of a self-loop. Because of this, we cannot use the Simplify* APIs, as they can assert-fail on unreachable code. Since it's not easy to determine if a given threading will cause a block to become unreachable, simply defer simplifying simplification to later InstCombine and/or DCE passes. llvm-svn: 115082
* Merge 2010-08-31-InfiniteRecursion.ll into crash.ll.Owen Anderson2010-08-311-0/+23
| | | | llvm-svn: 112635
* Fix PR7755: knowing something about an inval for a predChris Lattner2010-08-181-0/+24
| | | | | | | | | from the LHS should disable reconsidering that pred on the RHS. However, knowing something about the pred on the RHS shouldn't disable subsequent additions on the RHS from happening. llvm-svn: 111349
* Fix a test with malformed IR. Not sure why this didn't fail before.Owen Anderson2010-07-261-0/+3
| | | | llvm-svn: 109422
* Fix PR7647, handling the case when 'To' ends up being Chris Lattner2010-07-151-0/+47
| | | | | | | | | | mutated by recursive simplification. This also enhances ReplaceAndSimplifyAllUses to actually do a real RAUW at the end of it, which updates any value handles pointing to "From" to start pointing to "To". This seems useful for debug info and random other VH users. llvm-svn: 108415
* if jump threading is able to infer interesting values on bothChris Lattner2010-07-121-0/+24
| | | | | | | | the LHS and RHS of an and/or instruction, don't multiply add known predecessor values. This fixes the crash on testcase from PR7498 llvm-svn: 108114
* jump threading can't split a critical edge from an indirectbr. ThisChris Lattner2010-06-141-0/+22
| | | | | | fixes PR7356. llvm-svn: 105950
* fix PR6743, a case where we'd delete an instruction before using itChris Lattner2010-04-101-0/+17
| | | | | | in some cases. llvm-svn: 100937
* fix PR6305 by handling BlockAddress in a helper functionChris Lattner2010-02-151-0/+11
| | | | | | called by jump threading. llvm-svn: 96263
* third bug from PR6119: the xor dupe extension allowsChris Lattner2010-01-231-0/+27
| | | | | | | | for arbitrary terminators in predecessors, don't assume it is a conditional or uncond branch. The testcase shows an example where they can happen with switches. llvm-svn: 94323
* add an early out to ProcessBranchOnXOR to speed it up,Chris Lattner2010-01-231-0/+27
| | | | | | | | handle the case when we can infer an input to the xor from all inputs that agree, instead of going into an infinite loop. Another part of PR6199 llvm-svn: 94321
* fix a crash in jump threading, PR6119Chris Lattner2010-01-231-0/+25
| | | | llvm-svn: 94319
* fix PR5698Chris Lattner2009-12-061-0/+22
| | | | llvm-svn: 90708
* fix PR5640 by tracking whether a block is the header of a loop moreChris Lattner2009-12-011-0/+20
| | | | | | precisely, which prevents us from infinitely peeling the loop. llvm-svn: 90211
* reapply 86289, 86278, 86270, 86267, 86266 & 86264 plus a fixChris Lattner2009-11-071-0/+22
| | | | | | | | | (making pred factoring only happen if threading is guaranteed to be successful). This now survives an X86-64 bootstrap of llvm-gcc. llvm-svn: 86355
* Revert following patches to fix llvmgcc bootstrap.Devang Patel2009-11-071-22/+0
| | | | | | | 86289, 86278, 86270, 86267, 86266 & 86264 Chris, please take a look. llvm-svn: 86321
* Fix a problem discovered on self host.Chris Lattner2009-11-061-0/+22
| | | | llvm-svn: 86278
* merge a few crash tests into crash.llChris Lattner2009-11-051-1/+82
| | | | llvm-svn: 86119
* alternate fix for PR5258 which avoids worklist problems, with reduced testcase.Chris Lattner2009-10-201-0/+35
| | | | llvm-svn: 84667
* another testcase jump threading shouldn't crash on.Chris Lattner2009-10-111-0/+31
| | | | llvm-svn: 83758
* rename a file, remove a poorly reduced testcase.Chris Lattner2009-10-111-0/+25
llvm-svn: 83757
OpenPOWER on IntegriCloud