|
1 | 1 | ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
|
| 2 | +; REQUIRES: asserts |
2 | 3 | ; RUN: opt -S -enable-loop-simplifycfg-term-folding=true -loop-simplifycfg -verify-loop-info -verify-dom-info -verify-loop-lcssa < %s | FileCheck %s
|
3 | 4 | ; RUN: opt -S -enable-loop-simplifycfg-term-folding=true -passes='require<domtree>,loop(simplify-cfg)' -verify-loop-info -verify-dom-info -verify-loop-lcssa < %s | FileCheck %s
|
4 | 5 | ; RUN: opt -S -enable-loop-simplifycfg-term-folding=true -loop-simplifycfg -enable-mssa-loop-dependency=true -verify-memoryssa -verify-loop-info -verify-dom-info -verify-loop-lcssa < %s | FileCheck %s
|
| 6 | +; XFAIL: * |
| 7 | +; test_01 is currently failing because the loop is not in LCSSA form after the |
| 8 | +; transform. |
5 | 9 |
|
6 | 10 | target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
|
7 | 11 |
|
@@ -50,3 +54,24 @@ if.end.7: ; preds = %if.end
|
50 | 54 | if.end.8: ; preds = %if.end.7
|
51 | 55 | br label %for.cond
|
52 | 56 | }
|
| 57 | + |
| 58 | +define void @test_01() { |
| 59 | +entry: |
| 60 | + br label %for.cond |
| 61 | + |
| 62 | +for.cond.loopexit: ; preds = %while.cond |
| 63 | + %inc41.lcssa = phi i16 [ %inc41, %while.cond ] |
| 64 | + br label %for.cond |
| 65 | + |
| 66 | +for.cond: ; preds = %for.cond.loopexit, %entry |
| 67 | + %inc41.lcssa3 = phi i16 [ %inc41.lcssa, %for.cond.loopexit ], [ undef, %entry ] |
| 68 | + br label %while.cond |
| 69 | + |
| 70 | +while.cond: ; preds = %while.body, %for.cond |
| 71 | + %inc41 = phi i16 [ %inc4, %while.body ], [ %inc41.lcssa3, %for.cond ] |
| 72 | + br i1 true, label %while.body, label %for.cond.loopexit |
| 73 | + |
| 74 | +while.body: ; preds = %while.cond |
| 75 | + %inc4 = add nsw i16 %inc41, 1 |
| 76 | + br label %while.cond |
| 77 | +} |
0 commit comments