52 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
Alina Sbirlea
eacfb8541a [LoopSimplifyCFG] Update MemorySSA after r353911.
Summary:
MemorySSA is not properly updated in LoopSimplifyCFG after recent changes. Use SplitBlock utility to resolve that and clear all updates once handleDeadExits is finished.
All updates that follow are removal of edges which are safe to handle via the removeEdge() API.
Also, deleting dead blocks is done correctly as is, i.e. delete from MemorySSA before updating the CFG and DT.

Reviewers: mkazantsev, rtereshin

Subscribers: sanjoy, jlebar, Prazek, george.burgess.iv, llvm-commits

Tags: #llvm

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@354613 91177308-0d34-0410-b5e6-96231b3b80d8
2019-02-21 19:54:05 +00:00
Max Kazantsev
a9a1ce5237 [NFC] Replace EOL in test file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@354562 91177308-0d34-0410-b5e6-96231b3b80d8
2019-02-21 09:56:23 +00:00
Max Kazantsev
efeeb5b637 [TEST] Add failing test that shows problems with MSSA update in LoopSimplifyCFG
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@354559 91177308-0d34-0410-b5e6-96231b3b80d8
2019-02-21 09:40:24 +00:00
Max Kazantsev
98a9c14860 [LoopSimplifyCFG] Add missing MSSA edge deletion
When we create fictive switch in preheader, we should take
care about MSSA and delete edge between old preheader and
header.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@354547 91177308-0d34-0410-b5e6-96231b3b80d8
2019-02-21 05:51:29 +00:00
Max Kazantsev
f6e5376a87 [TEST] Remove 2>&1 from tests
Avoid confusing CHECKS with debug dumps of sets that can be printed differently.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@354229 91177308-0d34-0410-b5e6-96231b3b80d8
2019-02-17 18:22:00 +00:00
Sam McCall
aaee83c287 [LoopSimplifyCFG] Fix test broken in release mode in r353813
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@353842 91177308-0d34-0410-b5e6-96231b3b80d8
2019-02-12 14:43:30 +00:00
Max Kazantsev
cfa6c5f00a [LoopSimplifyCFG] Change logic of dead loops removal to avoid hitting asserts
The function `LI.erase` has some invariants that need to be preserved when it
tries to remove a loop which is not the top-level loop. In particular, it
requires loop's preheader to be strictly in loop's parent. Our current logic
of deletion of dead blocks may erase the information about preheader before we
handle the loop, and therefore we may hit this assertion.

This patch changes the logic of loop deletion: we make them top-level loops
before we actually erase them. This allows us to trigger the simple branch of
`erase` logic which just detatches blocks from the loop and does not try to do
some complex stuff that need this invariant.

Thanks to @uabelho for reporting this!

Differential Revision: https://reviews.llvm.org/D57221
Reviewed By: fedor.sergeev


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@353813 91177308-0d34-0410-b5e6-96231b3b80d8
2019-02-12 09:37:00 +00:00
Max Kazantsev
ce2d739dc1 [LoopSimplifyCFG] Pay respect to LCSSA when removing dead blocks
Utility function that we use for blocks deletion always unconditionally removes
one-input Phis. In LoopSimplifyCFG, it can lead to breach of LCSSA form.
This patch alters this function to keep them if needed.

Differential Revision: https://reviews.llvm.org/D57231
Reviewed By: fedor.sergeev


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@353803 91177308-0d34-0410-b5e6-96231b3b80d8
2019-02-12 07:48:07 +00:00
Max Kazantsev
2c57c1ebcc [LoopSimplifyCFG] Use DTU.applyUpdates instead of insert/deleteEdge
`insert/deleteEdge` methods in DTU can make updates incorrectly in some cases
(see https://bugs.llvm.org/show_bug.cgi?id=40528), and it is recommended to
use `applyUpdates` methods instead when it is needed to make a mass update in CFG.

Differential Revision: https://reviews.llvm.org/D57316
Reviewed By: kuhar


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@353502 91177308-0d34-0410-b5e6-96231b3b80d8
2019-02-08 08:12:41 +00:00
Max Kazantsev
acbe716cd7 [LoopSimplifyCFG] Do not count dead exit blocks twice, make CFG simpler
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@353276 91177308-0d34-0410-b5e6-96231b3b80d8
2019-02-06 07:49:17 +00:00
Max Kazantsev
1e87413d95 [NFC] One more crashing test on LoopSimplifyCFG
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@352194 91177308-0d34-0410-b5e6-96231b3b80d8
2019-01-25 11:47:16 +00:00
Max Kazantsev
2f0b27b1ba [NFC] Add failing test on LCSSA forming
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@352190 91177308-0d34-0410-b5e6-96231b3b80d8
2019-01-25 11:32:21 +00:00
Max Kazantsev
4792786c43 [NFC] Add test with multiple loops
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@352176 91177308-0d34-0410-b5e6-96231b3b80d8
2019-01-25 08:46:00 +00:00
Max Kazantsev
0e56479684 [LoopSimplifyCFG] Fix inconsistency in blocks in loop markup
2nd part of D57095 with the same reason, just in another place. We never
fold branches that are not immediately in the current loop, but this check
is missing in `IsEdgeLive` As result, it may think that the edge in subloop is
dead while it's live. It's a pessimization in the current stance.

Differential Revision: https://reviews.llvm.org/D57147
Reviewed By: rupprecht	


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@352170 91177308-0d34-0410-b5e6-96231b3b80d8
2019-01-25 05:05:02 +00:00
Max Kazantsev
c7b9bea4d5 [NFC] Add another failing test on LoopSimplifyCFG
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@352026 91177308-0d34-0410-b5e6-96231b3b80d8
2019-01-24 05:43:19 +00:00
Max Kazantsev
7a48151988 [LoopSimplifyCFG] Fix inconsistency in live blocks markup
When we choose whether or not we should mark block as dead, we have an
inconsistent logic in markup of live blocks.
- We take candidate IF its terminator branches on constant AND it is immediately
  in current loop;
- We mark successor live IF its terminator doesn't branch by constant OR it branches
  by constant and the successor is its always taken block.

What we are missing here is that when the terminator branches on a constant but is
not taken as a candidate because is it not immediately in the current loop, we will
mark only one (always taken) successor as live. Therefore, we do NOT do the actual
folding but may NOT mark one of the successors as live. So the result of markup is
wrong in this case, and we may then hit various asserts.

Thanks Jordan Rupprech for reporting this!

Differential Revision: https://reviews.llvm.org/D57095
Reviewed By: rupprecht


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@352024 91177308-0d34-0410-b5e6-96231b3b80d8
2019-01-24 05:20:29 +00:00
Max Kazantsev
78cd705671 [NFC] Add a failing test on live block markup in term folding
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@352023 91177308-0d34-0410-b5e6-96231b3b80d8
2019-01-24 05:05:55 +00:00
Max Kazantsev
a3ca8ce0e5 [LoopSimplifyCFG] Form LCSSA when a parent loop becomes a sibling
During the transforms in LoopSimplifyCFG, when we remove a dead exiting edge, the
parent loop may stop being reachable from the child loop, and therefore they become
siblings. If the former child loop had uses of some values from its former parent loop,
now such uses will require LCSSA Phis, even if they weren't needed before. So we must
form LCSSA for all loops that stopped being ancestors of the current loop in this case.

Differential Revision: https://reviews.llvm.org/D56144
Reviewed By: fedor.sergeev


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@351434 91177308-0d34-0410-b5e6-96231b3b80d8
2019-01-17 12:51:10 +00:00
Max Kazantsev
5865df5baa [LoopSimplifyCFG] Fix order of deletion of complex dead subloops
Function `DeleteDeadBlock` requires that all predecessors of a block
being deleted have already been deleted, with the exception of a
single-block loop. When we use it for removal of dead subloops that
contain more than one block, we may not fulfull this requirement and
fail an assertion.

This patch replaces invocation of `DeleteDeadBlock` with a generalized
version `DeleteDeadBlocks` that is able to deal with multiple dead blocks,
even if they contain some cycles.

Differential Revision: https://reviews.llvm.org/D56121
Reviewed By: fedor.sergeev


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@351433 91177308-0d34-0410-b5e6-96231b3b80d8
2019-01-17 12:25:40 +00:00
Max Kazantsev
5f7a872f42 [NFC] Add failing test on LCSSA form preservation of LoopSimplifyCFG
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@350119 91177308-0d34-0410-b5e6-96231b3b80d8
2018-12-28 10:43:37 +00:00
Max Kazantsev
c489b656e8 Temporarily disable term folding in LoopSimplifyCFG, add tests
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@350117 91177308-0d34-0410-b5e6-96231b3b80d8
2018-12-28 06:22:39 +00:00
Max Kazantsev
998b0e20dd [LoopSimplifyCFG] Delete dead exiting edges
This patch teaches LoopSimplifyCFG to remove dead exiting edges
from loops.

Differential Revision: https://reviews.llvm.org/D54025
Reviewed By: fedor.sergeev


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@350049 91177308-0d34-0410-b5e6-96231b3b80d8
2018-12-24 07:41:33 +00:00
Max Kazantsev
7b3352e554 Return "[LoopSimplifyCFG] Delete dead in-loop blocks"
The underlying bug that caused the revert should be fixed by rL348567.

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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@350045 91177308-0d34-0410-b5e6-96231b3b80d8
2018-12-24 06:06:17 +00:00
Max Kazantsev
df9c0d05bd [LoopSimplifyCFG] Do not deal with loops with irreducible CFG inside
The current algorithm that collects live/dead/inloop blocks relies on some invariants
related to RPO and PO traversals. In particular, the important fact it requires is that
the only loop's latch is the first block in PO traversal. It also relies on fact that during
RPO we visit all prececessors of a block before we visit this block (backedges ignored).

If a loop has irreducible non-loop cycle inside, both these assumptions may break.
This patch adds detection for this situation and prohibits the terminator folding
for loops with irreducible CFG.

We can in theory support this later, for this some algorithmic changes are needed.
Besides, irreducible CFG is not a frequent situation and we can just don't bother.

Thanks @uabelho for finding this!

Differential Revision: https://reviews.llvm.org/D55357
Reviewed By: skatkov


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@348567 91177308-0d34-0410-b5e6-96231b3b80d8
2018-12-07 05:44:45 +00:00
Ilya Biryukov
d42bdb79a1 Revert "[LoopSimplifyCFG] Delete dead in-loop blocks"
This reverts commit r348457.
The original commit causes clang to crash when doing an instrumented
build with a new pass manager. Reverting to unbreak our integrate.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@348484 91177308-0d34-0410-b5e6-96231b3b80d8
2018-12-06 13:21:01 +00:00
Max Kazantsev
feb7e4fb0a [LoopSimplifyCFG] Delete dead in-loop blocks
This patch teaches LoopSimplifyCFG to delete loop blocks that have
become unreachable after terminator folding has been done.

Differential Revision: https://reviews.llvm.org/D54023
Reviewed By: anna


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@348457 91177308-0d34-0410-b5e6-96231b3b80d8
2018-12-06 05:45:02 +00:00
Max Kazantsev
547017d929 [NFC] Verify memoryssa in test for PR39783
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@348333 91177308-0d34-0410-b5e6-96231b3b80d8
2018-12-05 05:20:08 +00:00
Max Kazantsev
24b8fd959e [LoopSimplifyCFG] Update MemorySSA in terminator folding. PR39783
Terminator folding transform lacks MemorySSA update for memory Phis,
while they exist within MemorySSA analysis. They need exactly the same
type of updates as regular Phis. Failing to update them properly ends up
with inconsistent MemorySSA and manifests in various assertion failures.

This patch adds Memory Phi updates to this transform.

Thanks to @jonpa for finding this!

Differential Revision: https://reviews.llvm.org/D55050
Reviewed By: asbirlea


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@347979 91177308-0d34-0410-b5e6-96231b3b80d8
2018-11-30 10:06:23 +00:00
Max Kazantsev
7d91084cf7 [NFC] Simplify and reduce tests for PR39783
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@347976 91177308-0d34-0410-b5e6-96231b3b80d8
2018-11-30 09:51:25 +00:00
Max Kazantsev
d2e5bcf907 [NFC] Add two XFAIL tests from PR39783
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@347845 91177308-0d34-0410-b5e6-96231b3b80d8
2018-11-29 09:38:22 +00:00
Max Kazantsev
1ed9b3371e Add missing REQUIRES: asserts
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@347644 91177308-0d34-0410-b5e6-96231b3b80d8
2018-11-27 07:51:18 +00:00
Max Kazantsev
e53078a5a4 [LoopSimplifyCFG] Fix corner case with duplicating successors
It fixes a bug that doesn't update Phi inputs of the only live successor that
is in the list of block's successors more than once.

Thanks @uabelho for finding this.

Differential Revision: https://reviews.llvm.org/D54849
Reviewed By: anna


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@347640 91177308-0d34-0410-b5e6-96231b3b80d8
2018-11-27 06:17:21 +00:00
Max Kazantsev
d275ca34ba [NFC] Add test that demonstrates buggy behavior on term folding of LoopSimplifyCFG
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@347488 91177308-0d34-0410-b5e6-96231b3b80d8
2018-11-23 10:34:22 +00:00
Max Kazantsev
f56b13f3e4 Disable LoopSimplifyCFG terminator folding by default
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@347486 91177308-0d34-0410-b5e6-96231b3b80d8
2018-11-23 09:14:53 +00:00
Max Kazantsev
f2ac09bb54 [LoopSimplifyCFG] Don't delete LCSSA Phis
When removing edges, we also update Phi inputs and may end up removing
a Phi if it has only one input. We should not do it for edges that leave the current
loop because these Phis are LCSSA Phis and need to be preserved.

Thanks @dmgreen	for finding this!

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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@347484 91177308-0d34-0410-b5e6-96231b3b80d8
2018-11-23 07:56:47 +00:00
Max Kazantsev
a796d62f22 [NFC] Add verification flags to tests
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@347483 91177308-0d34-0410-b5e6-96231b3b80d8
2018-11-23 05:21:53 +00:00
Max Kazantsev
498b7f9b57 [NFC] More complex tests for LoopSimplifyCFG
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@347384 91177308-0d34-0410-b5e6-96231b3b80d8
2018-11-21 09:55:09 +00:00
Max Kazantsev
dceb6f4be4 [NFC] Add some sophisticated tests on LoopSimplifyCFG
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@347381 91177308-0d34-0410-b5e6-96231b3b80d8
2018-11-21 07:22:06 +00:00
Max Kazantsev
7640c67cbf Recommit "[LoopSimplifyCFG] Teach LoopSimplifyCFG to constant-fold branches and switches"
The initial version of patch lacked Phi nodes updates in destinations of removed
edges. This version contains this update and tests on this situation.

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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@347289 91177308-0d34-0410-b5e6-96231b3b80d8
2018-11-20 05:43:32 +00:00
Benjamin Kramer
c77c7e9e51 Revert "[LoopSimplifyCFG] Teach LoopSimplifyCFG to constant-fold branches and switches"
This reverts commits r347183 & r347184. Crashes while building libxml.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@347260 91177308-0d34-0410-b5e6-96231b3b80d8
2018-11-19 20:01:20 +00:00
Fangrui Song
58d7c1614b [LoopSimplifyCFG] Add requires: asserts after rL347183
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@347184 91177308-0d34-0410-b5e6-96231b3b80d8
2018-11-19 06:28:15 +00:00
Max Kazantsev
508052c1d6 [LoopSimplifyCFG] Teach LoopSimplifyCFG to constant-fold branches and switches
This patch introduces infrastructure and the simplest case for constant-folding
of branch and switch instructions within loop into unconditional branches.
It is useful as a cleanup for such passes as loop unswitching that sometimes
produce such branches.

Only the simplest case supported in this patch: after the folding, no block
should become dead or stop being part of the loop. Support for more
sophisticated cases will go separately in follow-up patches.

Differential Revision: https://reviews.llvm.org/D54021
Reviewed By: anna


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@347183 91177308-0d34-0410-b5e6-96231b3b80d8
2018-11-19 05:54:38 +00:00
Max Kazantsev
2e8ff631d6 [NFC] Add missing test case, some test renaming
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@346295 91177308-0d34-0410-b5e6-96231b3b80d8
2018-11-07 05:58:10 +00:00
Max Kazantsev
ce084155a2 [NFC] Add tests for loop-simplifycfg for further development
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@345713 91177308-0d34-0410-b5e6-96231b3b80d8
2018-10-31 11:28:23 +00:00
Alina Sbirlea
2e8575cb46 Update MemorySSA in LoopSimplifyCFG.
Summary:
Add MemorySSA as a dependency to LoopSimplifyCFG and preserve it.
Disabled by default until all passes preserve MemorySSA.

Reviewers: bogner, chandlerc

Subscribers: sanjoy, jlebar, Prazek, george.burgess.iv, llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@340445 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-22 20:10:21 +00:00
Alina Sbirlea
8d9ac7ff94 Generalize MergeBlockIntoPredecessor. Replace uses of MergeBasicBlockIntoOnlyPred.
Summary:
Two utils methods have essentially the same functionality. This is an attempt to merge them into one.
1. lib/Transforms/Utils/Local.cpp : MergeBasicBlockIntoOnlyPred
2. lib/Transforms/Utils/BasicBlockUtils.cpp : MergeBlockIntoPredecessor

Prior to the patch:
1. MergeBasicBlockIntoOnlyPred
Updates either DomTree or DeferredDominance
Moves all instructions from Pred to BB, deletes Pred
Asserts BB has single predecessor
If address was taken, replace the block address with constant 1 (?)

2. MergeBlockIntoPredecessor
Updates DomTree, LoopInfo and MemoryDependenceResults
Moves all instruction from BB to Pred, deletes BB
Returns if doesn't have a single predecessor
Returns if BB's address was taken

After the patch:
Method 2. MergeBlockIntoPredecessor is attempting to become the new default:
Updates DomTree or DeferredDominance, and LoopInfo and MemoryDependenceResults
Moves all instruction from BB to Pred, deletes BB
Returns if doesn't have a single predecessor
Returns if BB's address was taken

Uses of MergeBasicBlockIntoOnlyPred that need to be replaced:

1. lib/Transforms/Scalar/LoopSimplifyCFG.cpp
Updated in this patch. No challenges.

2. lib/CodeGen/CodeGenPrepare.cpp
Updated in this patch.
  i. eliminateFallThrough is straightforward, but I added using a temporary array to avoid the iterator invalidation.
  ii. eliminateMostlyEmptyBlock(s) methods also now use a temporary array for blocks
Some interesting aspects:
  - Since Pred is not deleted (BB is), the entry block does not need updating.
  - The entry block was being updated with the deleted block in eliminateMostlyEmptyBlock. Added assert to make obvious that BB=SinglePred.
  - isMergingEmptyBlockProfitable assumes BB is the one to be deleted.
  - eliminateMostlyEmptyBlock(BB) does not delete BB on one path, it deletes its unique predecessor instead.
  - adding some test owner as subscribers for the interesting tests modified:
    test/CodeGen/X86/avx-cmp.ll
    test/CodeGen/AMDGPU/nested-loop-conditions.ll
    test/CodeGen/AMDGPU/si-annotate-cf.ll
    test/CodeGen/X86/hoist-spill.ll
    test/CodeGen/X86/2006-11-17-IllegalMove.ll

3. lib/Transforms/Scalar/JumpThreading.cpp
Not covered in this patch. It is the only use case using the DeferredDominance.
I would defer to Brian Rzycki to make this replacement.

Reviewers: chandlerc, spatel, davide, brzycki, bkramer, javed.absar

Subscribers: qcolombet, sanjoy, nemanjai, nhaehnle, jlebar, tpr, kbarton, RKSimon, wmi, arsenm, llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@335183 91177308-0d34-0410-b5e6-96231b3b80d8
2018-06-20 22:01:04 +00:00
David Green
d6cd67b722 [LoopSimplifyCFG] Invalidate SCEV in LoopSimplifyCFG
LoopSimplifyCFG, being a loop pass, needs to preserve scalar
evolution. This invalidates SE for the loops altered during
block merging.

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



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@335036 91177308-0d34-0410-b5e6-96231b3b80d8
2018-06-19 09:43:36 +00:00
Justin Bogner
c6c705c89d LPM: Drop require<loops> from these tests, it's redundant. NFC
The LoopPassManager needs to calculate the loops analysis in order to
iterate over the loops at all. Requiring it is redundant and just adds
noise to the RUN lines here.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269097 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-10 18:28:10 +00:00