[LoopUnswitch] Fix a test case

(h/t to Chandler for pointing this out)

The test in question was not at all testing what it was supposed to
test.  We do not //care// about placing `!make.implicit` in inner
constant branch (since it will be folded away anyway).  We care about
placing `!make.implicit` in the outer branch that switches between
either version of the loop.

Having said that, it is _correct_ to leave behind the `!make.implicit`
in the inner branch, but there is no need to do so.

llvm-svn: 299912
This commit is contained in:
Sanjoy Das 2017-04-11 04:11:47 +00:00
parent b63ed91549
commit 92ce1e76c5
1 changed files with 2 additions and 2 deletions

View File

@ -3,11 +3,11 @@
; This test checks if unswitched condition preserve make.implicit metadata. ; This test checks if unswitched condition preserve make.implicit metadata.
define i32 @test(i1 %cond) { define i32 @test(i1 %cond) {
; CHECK: br i1 %cond, label %..split_crit_edge, label %.loop_exit.split_crit_edge, !make.implicit !0 ; CHECK-LABEL: @test(
; CHECK: br i1 %cond, label %..split_crit_edge, label %.loop_exit.split_crit_edge, !make.implicit !0
br label %loop_begin br label %loop_begin
loop_begin: loop_begin:
; CHECK: br i1 true, label %continue, label %loop_exit, !make.implicit !0
br i1 %cond, label %continue, label %loop_exit, !make.implicit !0 br i1 %cond, label %continue, label %loop_exit, !make.implicit !0
continue: continue: