From b672602f9ed9cf683e6094e615be6c65cca2f96e Mon Sep 17 00:00:00 2001 From: Max Kazantsev Date: Thu, 21 Feb 2019 09:40:24 +0000 Subject: [TEST] Add failing test that shows problems with MSSA update in LoopSimplifyCFG llvm-svn: 354559 --- .../test/Transforms/LoopSimplifyCFG/mssa_update.ll | 41 ++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 llvm/test/Transforms/LoopSimplifyCFG/mssa_update.ll (limited to 'llvm') diff --git a/llvm/test/Transforms/LoopSimplifyCFG/mssa_update.ll b/llvm/test/Transforms/LoopSimplifyCFG/mssa_update.ll new file mode 100644 index 00000000000..01f2ebbbc02 --- /dev/null +++ b/llvm/test/Transforms/LoopSimplifyCFG/mssa_update.ll @@ -0,0 +1,41 @@ +; NOTE: Assertions have been autogenerated by utils/update_test_checks.py +; REQUIRES: asserts +; XFAIL: * +; RUN: opt -S -enable-loop-simplifycfg-term-folding=true -loop-simplifycfg -verify-loop-info -verify-dom-info -verify-loop-lcssa < %s | FileCheck %s +; RUN: opt -S -enable-loop-simplifycfg-term-folding=true -passes='require,loop(simplify-cfg)' -verify-loop-info -verify-dom-info -verify-loop-lcssa < %s | FileCheck %s +; 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 + +target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128" + +; Make sure we update MSSA properly. +define void @test(i32* %a, i32* %b) { +; CHECK-LABEL: @test( + +entry: + br label %for.body + +for.body: + %i = phi i32 [ 0, %entry ], [ %i.inc, %latch ] + br label %switch.bb + +switch.bb: + switch i2 1, label %default [ + i2 1, label %case + ] + +case: + br label %latch + +default: + unreachable + +latch: + store i32 %i, i32* %a + store i32 %i, i32* %b + %i.inc = add nsw i32 %i, 1 + %exitcond = icmp eq i32 %i.inc, 4 + br i1 %exitcond, label %exit, label %for.body + +exit: + ret void +} -- cgit v1.2.3